:root{--charis-background:#fff;--charis-background-soft:#fafafa;--charis-surface:#fff;--charis-text:#111;--charis-text-muted:#737373;--charis-text-tertiary:#a3a3a3;--charis-border:#efefef;--charis-border-strong:#dbdbdb;--charis-primary:#7c3cff;--charis-primary-hover:#6b2cf5;--charis-primary-soft:#f2ecff;--charis-like:#ff2d6f;--charis-like-soft:#fff0f5;--charis-brand-gradient-mid:#c879f5;--charis-brand-gradient-end:#ff9cdd;--charis-error:#e5484d;--charis-success:var(--charis-primary-soft);--charis-highlight:var(--charis-like-soft);--charis-skeleton:#f3f3f3;--charis-radius-xs:6px;--charis-radius-sm:10px;--charis-radius-md:14px;--charis-radius-lg:18px;--charis-radius-pill:9999px;--charis-shadow:0 2px 12px #0000000d;--charis-feed-width:560px;--charis-feed-post-spacing:24px;--charis-comment-composer-min-height:88px;--charis-comment-input-border:#e5e5e5;--charis-comment-composer-shadow:0 -2px 8px #00000008;--charis-comment-submit-width:68px;--charis-comment-submit-disabled-text:#666;--charis-comment-page-header-height:72px;--charis-comment-page-mobile-header-height:62px;--charis-content-footer-gap:48px;--charis-legal-footer-padding:24px;--charis-desktop-media-max-height:720px;--charis-feed-gutter:16px;--charis-feed-photo-gutter:12px;--charis-bottom-nav-height:76px;--charis-hotspot-shadow:0 2px 8px #0000001f;--charis-header-z-index:50;--charis-font-size-body:14px;--charis-font-size-body-mobile:16px;--charis-font-size-input-min:16px;--charis-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Hiragino Sans", "Noto Sans JP", sans-serif}@media (width<=1023px){:root{--charis-feed-post-spacing:12px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--charis-font-family);--charis-desktop-shell-max-width:1176px;--charis-desktop-shell-width:calc(var(--charis-desktop-sidebar-width) + var(--charis-desktop-main-width) + var(--charis-desktop-column-gap));--charis-desktop-shell-gutter:24px;--charis-desktop-sidebar-width:190px;--charis-desktop-main-width:560px;--charis-desktop-rail-min-width:220px;--charis-desktop-rail-max-width:360px;--charis-desktop-rail-width:minmax(var(--charis-desktop-rail-min-width), 1fr);--charis-desktop-create-columns:minmax(0, var(--charis-desktop-main-width)) var(--charis-desktop-rail-width);--charis-desktop-create-panel-top:100px;--charis-desktop-column-gap:28px;--charis-bottom-nav-height:72px}*{box-sizing:border-box}html{background:var(--charis-background)}@media (width>=900px){html{scrollbar-gutter:stable}.desktop-app-body,.desktop-header-inner{width:min(var(--charis-desktop-shell-width),calc(100% - var(--charis-desktop-shell-gutter)*2));margin-inline:auto}}@media (width>=1100px){:root{--charis-desktop-shell-width:min(var(--charis-desktop-shell-max-width), calc(var(--charis-desktop-sidebar-width) + var(--charis-desktop-main-width) + var(--charis-desktop-rail-max-width) + var(--charis-desktop-column-gap)*2))}}@media (width>=1280px){:root{--charis-desktop-sidebar-width:200px}}body{color:var(--charis-text);background:var(--charis-background);font-family:var(--charis-font-family);font-size:var(--charis-font-size-body);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--charis-primary);outline-offset:3px;text-decoration:none}.shell{width:min(1120px,100% - 40px);margin:0 auto}.public-content{width:min(var(--charis-feed-width),calc(100% - var(--charis-feed-gutter)*2));margin-inline:auto}.page-grid{grid-template-columns:minmax(0,680px) 280px;align-items:start;gap:40px;display:grid}.page-stack{gap:16px;display:grid}.eyebrow{color:var(--charis-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:600}.page-title{margin:0;font-size:20px;font-weight:600;line-height:1.3}.page-copy{color:var(--charis-text-muted);line-height:1.7}.panel{border:1px solid var(--charis-border);border-radius:var(--charis-radius-md);background:var(--charis-surface);box-shadow:var(--charis-shadow)}.card--flat+.card--flat,.post-card--flat+.post-card--flat{border-block-start:1px solid var(--charis-border);margin-block-start:var(--charis-feed-post-spacing)}.action{border:1px solid var(--charis-border-strong);border-radius:var(--charis-radius-sm);min-height:44px;color:var(--charis-text);background:var(--charis-surface);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,opacity .15s,transform .15s;display:inline-flex}.action:hover{background:var(--charis-background-soft)}.action:disabled{cursor:wait;opacity:.56}.action--primary{border-color:var(--charis-primary);color:var(--charis-surface);background:var(--charis-primary)}.action--primary:hover{border-color:var(--charis-primary-hover);background:var(--charis-primary-hover)}.status-note{border:1px dashed var(--charis-border-strong);border-radius:var(--charis-radius-md);color:var(--charis-text-muted);text-align:center;padding:18px}.error-note{color:var(--charis-error);background:var(--charis-background-soft);border-style:solid;border-color:var(--charis-error)}.auth-form,.auth-otp-field,.auth-page{min-width:0}.auth-page{gap:22px;width:min(480px,100%);margin:0 auto;padding:32px;display:grid}.auth-page>header p:not(.eyebrow),.auth-page>p{color:var(--charis-text-muted);margin:0;line-height:1.65}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--charis-text);gap:7px;font-size:14px;font-weight:500;display:grid}.auth-form>label:not(.auth-otp-field)>input,.auth-form>label>textarea{border:1px solid var(--charis-border-strong);border-radius:var(--charis-radius-sm);width:100%;min-height:44px;color:var(--charis-text);background:var(--charis-surface);padding:10px 12px;font-weight:400;transition:border-color .15s,box-shadow .15s}.auth-form>label:not(.auth-otp-field)>input:focus,.auth-form>label>textarea:focus{border-color:var(--charis-primary);outline:2px solid var(--charis-primary)}@supports (color:color-mix(in lab,red,red)){.auth-form>label:not(.auth-otp-field)>input:focus,.auth-form>label>textarea:focus{outline:2px solid color-mix(in srgb,var(--charis-primary) 22%,transparent)}}.auth-form>label:not(.auth-otp-field)>input:focus,.auth-form>label>textarea:focus{outline-offset:0}.auth-form textarea{resize:vertical}.auth-form>label:not(.auth-otp-field)>input:disabled{color:var(--charis-text-muted);background:var(--charis-background-soft)}.auth-form small{color:var(--charis-text-muted);font-size:12px;font-weight:400;line-height:1.45}.auth-form .action{justify-self:start}.password-recovery{text-align:right;justify-self:end;margin:-8px 0 0;font-size:.86rem}.auth-link{color:var(--charis-text-muted);gap:12px;font-size:.9rem;display:flex}.auth-link a,a.auth-link{color:var(--charis-primary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-actions{justify-items:start;gap:12px;display:grid}.form-error{color:var(--charis-error);margin:0;font-size:.88rem}.form-success{color:var(--charis-primary);margin:0;font-size:.88rem}.text-button{color:inherit;background:0 0;border:0;font-weight:600;text-decoration:underline}.turnstile-widget{min-height:65px}.charis-otp{--border-color:var(--charis-border);--color:var(--charis-text);--highlight-color-focused:var(--charis-primary);--separator-color:var(--charis-border);width:min(100%,376px);min-width:0;max-width:100%;--min-width:0!important;--width:56px!important;--height:56px!important}.skeleton{background:var(--charis-skeleton);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff9e,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.page-enter-active,.page-leave-active{transition:opacity .14s}.page-enter-from,.page-leave-to{opacity:.6}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=820px){.page-grid{grid-template-columns:1fr}.desktop-aside{display:none}}@media (width<=767px){.public-content{width:100%}}@media (width<=520px){.shell{width:min(100% - 32px,680px)}.auth-page{padding:24px 16px}.charis-otp{--width:clamp(32px, calc((100vw - 66px - (var(--otp-length) - 1)*8px)/var(--otp-length)), 56px)!important;--height:clamp(44px, 14vw, 56px)!important}}@media (width<=899px),(pointer:coarse){body{--charis-font-size-body:var(--charis-font-size-body-mobile)}[contenteditable=plaintext-only],[contenteditable=true],input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset]),select,textarea{font-size:max(var(--charis-font-size-input-min),1em)!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.admin-app{color:var(--charis-text)}.admin-app *{box-sizing:border-box}.admin-app{font-family:var(--charis-font-family);background:#f7f7fb;margin:0;font-size:14px}.admin-app button,.admin-app input{font:inherit}.admin-app button{cursor:pointer}.admin-app a{color:inherit;text-decoration:none}.admin-app :focus-visible{outline:2px solid var(--charis-primary);outline-offset:3px}.admin-app .shell{width:min(1180px,100% - 48px);margin:auto}.admin-app .admin-nav{top:var(--charis-dev-environment-bar-height,0);z-index:10;background:#fff;border-bottom:1px solid #e5e5ed;position:sticky}.admin-app .nav-inner{align-items:center;gap:28px;width:min(1320px,100% - 48px);min-height:68px;margin:auto;display:flex}.admin-app .brand{white-space:nowrap;flex:none;font-size:17px;font-weight:800}.admin-app .brand span{color:var(--charis-primary);margin-left:8px;font-size:13px}.admin-app .nav-menu{flex:auto;align-items:center;gap:22px;min-width:0;display:flex}.admin-app .nav-dropdown{position:relative}.admin-app .account-trigger,.admin-app .nav-link,.admin-app .nav-trigger{min-height:40px;color:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-weight:600;display:inline-flex}.admin-app .account-trigger:hover,.admin-app .nav-link:hover,.admin-app .nav-trigger:hover{color:var(--charis-primary)}.admin-app .nav-dropdown-panel{z-index:20;background:#fff;border:1px solid #e5e5ed;border-radius:10px;min-width:160px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:-12px;box-shadow:0 8px 24px #2720441c}.admin-app .nav-dropdown-panel a{white-space:nowrap;border-radius:6px;padding:10px 12px}.admin-app .nav-dropdown-panel a:hover{background:#f3f1ff}.admin-app .account{flex:none;margin-left:auto;position:relative}.admin-app .account-trigger{border:0}.admin-app .account-menu{z-index:20;background:#fff;border:1px solid #e5e5ed;border-radius:10px;min-width:160px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #2720441c}.admin-app .account-menu a,.admin-app .account-menu button{color:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:10px}.admin-app .account-menu a:hover,.admin-app .account-menu button:hover{background:#f3f1ff}.admin-app main.shell{padding:44px 0 90px}.admin-app .page-stack{gap:20px;display:grid}.admin-app .page-head{justify-content:space-between;align-items:end;gap:18px;display:flex}.admin-app h1{margin:0;font-size:28px}.admin-app h2{margin:0;font-size:16px}.admin-app .eyebrow{color:var(--charis-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.admin-app .muted,.admin-app small{color:#77758a}.admin-app .panel{background:#fff;border:1px solid #e5e5ed;border-radius:14px;box-shadow:0 2px 10px #2720440a}.admin-app .cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.admin-app .stat{padding:22px}.admin-app .stat span,.admin-app .stat strong{display:block}.admin-app .stat span{color:#77758a}.admin-app .stat strong{margin-top:10px;font-size:30px}.admin-app .dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-app .table-panel{padding:22px}.admin-app .table-panel table{margin:16px 0}.admin-app .table-panel a{color:var(--charis-primary);font-weight:600}.admin-app form{gap:8px;display:flex}.admin-app label{gap:7px;font-weight:600;display:grid}.admin-app input{width:min(360px,100%);padding:0 12px}.admin-app .action,.admin-app .primary,.admin-app input{background:#fff;border:1px solid #d8d7e3;border-radius:8px;min-height:42px}.admin-app .action,.admin-app .primary{padding:0 16px;font-weight:700}.admin-app .primary{border-color:var(--charis-primary);color:#fff;background:var(--charis-primary)}.admin-app .primary:disabled{opacity:.6}.admin-app .table-wrap{overflow-x:auto}.admin-app table{border-collapse:collapse;width:100%}.admin-app td,.admin-app th{text-align:left;vertical-align:top;border-bottom:1px solid #eeeef4;padding:14px 18px}.admin-app th{color:#77758a;font-size:12px}.admin-app td small,.admin-app td strong{display:block}.admin-app td small{margin-top:4px}.admin-app .loading,.admin-app .message{color:#77758a;text-align:center;padding:42px}.admin-app .signin{place-items:center;min-height:100vh;padding:24px;display:grid}.admin-app .signin-card{width:min(420px,100%);padding:34px}.admin-app .signin-card h1{margin-bottom:24px;font-size:24px}.admin-app .form-card,.admin-app .signin-card form{gap:16px;display:grid}.admin-app .form-card{width:min(560px,100%);padding:26px}.admin-app .narrow{width:min(560px,100%)}.admin-app hr{border:0;border-top:1px solid #eeeef4;width:100%}.admin-app .error{color:#b42318}.admin-app .success{color:#087443}.admin-app code{word-break:break-all}@media (width<=800px){.admin-app .nav-inner{flex-wrap:wrap;gap:16px;padding:14px 0}.admin-app .nav-menu{order:3;width:100%;overflow-x:auto}.admin-app .account{margin-left:auto}.admin-app .cards,.admin-app .dashboard-grid{grid-template-columns:1fr 1fr}.admin-app .page-head{flex-direction:column;align-items:stretch}.admin-app form{flex-wrap:wrap}}@media (width<=520px){.admin-app .shell{width:min(100% - 28px,1180px)}.admin-app main.shell{padding-top:28px}.admin-app .cards,.admin-app .dashboard-grid{grid-template-columns:1fr}.admin-app h1{font-size:24px}}.admin-app .resource-table-stack{gap:14px;display:grid}.admin-app .error-message{color:#b42318}.admin-app .pagination{color:#77758a;justify-content:center;align-items:center;gap:16px;display:flex}.admin-app .pagination .action:disabled{cursor:not-allowed;opacity:.45}.admin-app .today-stats{color:#77758a;flex-wrap:wrap;gap:24px;margin-top:16px;display:flex}.admin-app .today-stats strong{color:var(--charis-text);margin-left:6px;font-size:20px}.admin-app .status-badge{color:#5e5b70;white-space:nowrap;background:#f0eff5;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.admin-app .status-badge:before{content:"●";font-size:9px}.admin-app .status-active,.admin-app .status-public,.admin-app .status-published{color:#087443;background:#e8f7ef}.admin-app .status-private,.admin-app .status-suspended{color:#9a6700;background:#fff4dc}.admin-app .status-deleted,.admin-app .status-withdrawn{color:#b42318;background:#fcebea}.admin-app .image-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.admin-app .image-card{overflow:hidden}.admin-app .image-preview{aspect-ratio:1;color:#77758a;background:#f0eff5;place-items:center;display:grid}.admin-app .image-preview img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.admin-app .image-meta{gap:5px;padding:14px;display:grid}.admin-app .image-meta code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-app.signin{place-items:center;min-height:100vh;padding:24px;display:grid}@media (width<=900px){.admin-app .image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.admin-app .image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-app .dialog-backdrop{z-index:50;background:#27204466;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-app .confirm-dialog{width:min(400px,100%);padding:26px}.admin-app .confirm-dialog h2{margin-bottom:24px}.admin-app .dialog-actions{justify-content:flex-end;gap:10px;display:flex}.admin-app .logout-error{width:min(1180px,100% - 48px);margin:16px auto 0}.app-toast[data-v-6c57f6d3]{z-index:1100;border:1px solid var(--charis-border);border-left:4px solid var(--charis-primary);border-radius:var(--charis-radius-sm);width:min(420px,100vw - 32px);min-height:56px;color:var(--charis-text);background:var(--charis-surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 12px;display:grid;position:fixed;top:16px;right:16px;box-shadow:0 8px 24px #11111124}.app-toast--error[data-v-6c57f6d3]{border-left-color:var(--charis-error)}.app-toast-icon[data-v-6c57f6d3]{width:24px;height:24px;color:var(--charis-primary);background:var(--charis-primary-soft);border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;line-height:1;display:grid}.app-toast--error .app-toast-icon[data-v-6c57f6d3]{color:var(--charis-error);background:color-mix(in srgb,var(--charis-error) 12%,var(--charis-surface))}.app-toast p[data-v-6c57f6d3]{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.9rem;font-weight:600;line-height:1.45}.app-toast-close[data-v-6c57f6d3]{width:32px;height:32px;color:var(--charis-text-muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;line-height:1;display:grid}.app-toast-close[data-v-6c57f6d3]:focus-visible,.app-toast-close[data-v-6c57f6d3]:hover{color:var(--charis-text);background:var(--charis-background-soft)}.app-toast-enter-active[data-v-6c57f6d3],.app-toast-leave-active[data-v-6c57f6d3]{transition:opacity .16s,transform .16s}.app-toast-enter-from[data-v-6c57f6d3],.app-toast-leave-to[data-v-6c57f6d3]{opacity:0;transform:translateY(-8px)}@media (width<=640px){.app-toast[data-v-6c57f6d3]{top:12px;left:50%;right:auto;transform:translate(-50%)}.app-toast-enter-from[data-v-6c57f6d3],.app-toast-leave-to[data-v-6c57f6d3]{transform:translate(-50%,-8px)}}.app-root--development[data-v-b45dbb36]{--charis-dev-environment-bar-height:18px}.dev-environment-bar[data-v-b45dbb36]{z-index:calc(var(--charis-header-z-index,50) + 1);width:100%;height:var(--charis-dev-environment-bar-height);color:#fff;letter-spacing:.08em;background:#7c3aed;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;line-height:1;display:flex;position:sticky;top:0}.error-page[data-v-22de8f92]{place-items:center;min-height:60vh;padding-block:48px;display:grid}.error-panel[data-v-22de8f92]{justify-items:start;gap:16px;width:min(520px,100%);padding:28px;display:grid}.error-panel h1[data-v-22de8f92]{margin:0;font-size:1.3rem;line-height:1.5}
