@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;700&display=swap";:root{color-scheme:dark;font-family:"Noto Serif JP",Hiragino Mincho ProN,Yu Mincho,serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #000000;--panel: rgba(7, 8, 8, .88);--panel-strong: rgba(13, 14, 14, .96);--sidebar-bg: rgba(0, 0, 0, .86);--row-bg: rgba(5, 5, 5, .82);--row-hover-bg: rgba(255, 255, 255, .045);--control-bg: rgba(0, 0, 0, .72);--ghost-bg: rgba(255, 255, 255, .035);--button-bg: rgba(232, 232, 232, .94);--button-text: #050505;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .24);--text: #e8e8e8;--muted: rgba(232, 232, 232, .62);--faint: rgba(232, 232, 232, .38);--accent: #d7fff2;--accent-deep: #8ff2d7;--accent-soft: rgba(215, 255, 242, .08);--accent-border: rgba(215, 255, 242, .35);--warn: #efd08a;--warn-soft: rgba(239, 208, 138, .08);--warn-border: rgba(239, 208, 138, .34);--danger: #ff9caa;--danger-soft: rgba(255, 156, 170, .08);--danger-border: rgba(255, 156, 170, .35);--garden: #b7d7a4;--grid-x: rgba(255, 255, 255, .035);--grid-y: rgba(255, 255, 255, .026);--body-glow: rgba(183, 215, 164, .16);--icon-glow: rgba(215, 255, 242, .28);--metric-sheen: rgba(255, 255, 255, .055)}:root[data-theme=light]{color-scheme:light;--bg: #f7f5ef;--panel: rgba(255, 255, 255, .9);--panel-strong: rgba(255, 255, 255, .98);--sidebar-bg: rgba(250, 248, 241, .9);--row-bg: rgba(255, 255, 255, .84);--row-hover-bg: rgba(0, 0, 0, .045);--control-bg: rgba(255, 255, 255, .78);--ghost-bg: rgba(0, 0, 0, .035);--button-bg: #101413;--button-text: #fbfaf6;--line: rgba(0, 0, 0, .12);--line-strong: rgba(0, 0, 0, .24);--text: #171817;--muted: rgba(23, 24, 23, .62);--faint: rgba(23, 24, 23, .38);--accent: #0d5f55;--accent-deep: #063d37;--accent-soft: rgba(13, 95, 85, .08);--accent-border: rgba(13, 95, 85, .32);--warn: #8a5b00;--warn-soft: rgba(138, 91, 0, .08);--warn-border: rgba(138, 91, 0, .28);--danger: #a1112a;--danger-soft: rgba(161, 17, 42, .08);--danger-border: rgba(161, 17, 42, .28);--garden: #6b855f;--grid-x: rgba(0, 0, 0, .055);--grid-y: rgba(0, 0, 0, .035);--body-glow: rgba(107, 133, 95, .2);--icon-glow: rgba(13, 95, 85, .18);--metric-sheen: rgba(255, 255, 255, .72)}*{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(90deg,var(--grid-x) 1px,transparent 1px) 0 0 / 84px 84px,linear-gradient(0deg,var(--grid-y) 1px,transparent 1px) 0 0 / 84px 84px,radial-gradient(ellipse at 50% -20%,var(--body-glow),transparent 48%),var(--bg);color:var(--text);transition:background-color .18s ease,color .18s ease}#root{min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.screen{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{width:min(1040px,100%);display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,380px);gap:1px;align-items:stretch;border:1px solid var(--line);background:var(--line)}.login-copy,.panel{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:28px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-copy{min-height:420px;display:flex;flex-direction:column;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand svg{color:var(--accent);filter:drop-shadow(0 0 12px var(--icon-glow))}.brand strong{display:block;font-size:16px;font-weight:500;letter-spacing:.08em}.brand span{color:var(--muted);font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase}.brand.large{align-items:flex-start;margin-bottom:32px}.brand.large strong{font-size:34px;line-height:1.35;letter-spacing:.06em}.primary,.primary-link,.icon-text,.ghost{border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:0;cursor:pointer;letter-spacing:.08em;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.primary,.primary-link{background:var(--button-bg);color:var(--button-text);padding:0 18px;font-weight:700}.primary:hover,.primary-link:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.primary:disabled{cursor:not-allowed;opacity:.45;transform:none}.primary.small{min-height:36px}.ghost,.icon-text{background:var(--ghost-bg);color:var(--text);padding:0 12px}.theme-toggle{border:1px solid var(--line-strong);background:var(--ghost-bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:0;cursor:pointer;padding:0 12px;font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.login-actions{display:grid;grid-template-columns:auto minmax(180px,max-content);gap:10px;align-items:center}.ghost:hover,.icon-text:hover{border-color:var(--accent);color:var(--accent)}.app-shell{--mobile-nav-height: 0px;display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav{display:grid;gap:3px}.nav a{min-height:38px;display:flex;align-items:center;gap:10px;padding:0 10px;border-left:1px solid transparent;color:var(--muted);font-size:13px;letter-spacing:.12em}.nav a.active,.nav a:hover{background:var(--row-hover-bg);border-left-color:var(--accent);color:var(--text)}.nav-count,.badge{margin-left:auto;background:transparent;color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:13px;padding:0 7px}.account{margin-top:auto;display:grid;gap:11px;color:var(--muted);font-size:13px}.main{min-width:0}.page{width:min(1140px,calc(100vw - 308px));margin:0 auto;padding:42px 28px 64px}.page.narrow{width:min(780px,calc(100vw - 308px))}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:18px}.page-header h1,.center-message h1{margin:0;font-size:30px;line-height:1.25;font-weight:500;letter-spacing:.08em}.page-header p,.center-message p{margin:8px 0 0;color:var(--muted);font-size:13px;letter-spacing:.1em}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;margin-bottom:32px;border:1px solid var(--line);background:var(--line)}.metric{background:linear-gradient(135deg,var(--metric-sheen),transparent 46%),var(--panel);border:0;border-radius:0;padding:20px;min-height:120px}.metric span{display:block;color:var(--muted);font-size:11px;letter-spacing:.22em;margin-bottom:12px;text-transform:uppercase}.metric strong{font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:40px;font-weight:400}.table-list,.table{display:grid;gap:8px}.row-link,.table-row,.table-head{background:var(--row-bg);border:1px solid var(--line);border-radius:0;padding:15px 16px}.row-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}.row-link:hover{border-color:var(--accent);background:var(--row-hover-bg)}.row-link.static:hover{border-color:var(--line)}.row-link strong,.row-link span{display:block}.row-link strong{font-weight:500;letter-spacing:.06em;overflow-wrap:anywhere}.row-link span,.table-row span{color:var(--muted);font-size:12px;letter-spacing:.08em}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pill{border-radius:999px;padding:4px 9px;font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:13px;font-weight:600;letter-spacing:.1em;background:var(--ghost-bg);border:1px solid var(--line);color:var(--muted)}.pill.active,.pill.published,.pill.answered,.pill.admin{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.pill.pending,.pill.open,.pill.draft{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.pill.blocked,.pill.closed,.pill.archived{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.form{display:grid;gap:15px}.form label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.16em}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:0;padding:10px 11px;background:var(--control-bg);color:var(--text);letter-spacing:.04em}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.65}.inline-form{display:grid;grid-template-columns:minmax(160px,1fr) 150px auto;gap:10px;align-items:start;margin-bottom:18px}.split{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px}.notice{display:flex;align-items:center;gap:8px;border-radius:0;padding:12px;border:1px solid var(--line)}.notice.error{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.loading,.empty,.center-message{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:30px;text-align:center}.empty{color:var(--muted);display:grid;place-items:center;gap:10px}.empty strong{color:var(--text);font-weight:500;letter-spacing:.08em}.center-message{width:min(540px,100%)}.center-message .theme-toggle{margin:20px auto 0}.center-message svg{color:var(--accent)}.center-message.danger svg{color:var(--danger)}.thread-page{width:min(860px,calc(100vw - 308px))}.chat-header{position:sticky;top:0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0;padding:18px 0 16px;background:var(--bg);border-bottom:1px solid var(--line)}.chat-title{min-width:0}.chat-title h1{margin:0;overflow-wrap:anywhere;font-size:24px;line-height:1.35;font-weight:500;letter-spacing:.04em}.chat-title p{margin:7px 0 0;color:var(--muted);font-size:12px;letter-spacing:.08em}.chat-status{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:wrap}.chat-list{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:360px;padding:22px 0}.chat-message{display:flex;align-items:flex-end;gap:9px;max-width:min(78%,620px)}.chat-message.other{align-self:flex-start}.chat-message.own{align-self:flex-end;justify-content:flex-end}.chat-avatar{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:var(--ghost-bg);font-family:Cormorant Garamond,"Noto Serif JP",serif;font-size:14px}.chat-message-body{min-width:0;display:grid;gap:6px}.chat-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px;letter-spacing:.06em}.chat-message.own .chat-meta{justify-content:flex-end}.chat-bubble{border:1px solid var(--line);border-radius:18px 18px 18px 6px;padding:12px 14px;background:var(--row-bg)}.chat-message.own .chat-bubble{border-color:var(--accent-border);border-radius:18px 18px 6px;background:var(--accent-soft)}.chat-message.admin.other .chat-bubble{border-color:var(--accent-border)}.chat-bubble p,.article p{white-space:pre-wrap;line-height:1.8;margin:0;overflow-wrap:anywhere}.chat-composer,.chat-closed{position:sticky;bottom:var(--mobile-nav-height);z-index:6;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;padding:10px}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:9px;align-items:end}.chat-composer .notice{grid-column:1 / -1}.chat-composer textarea{min-height:48px;max-height:156px;resize:vertical;border-radius:8px;line-height:1.5}.chat-composer .primary{width:48px;min-height:48px;padding:0;border-radius:8px}.chat-closed{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:13px}.table-head,.table-row{display:grid;gap:12px;align-items:center}.table-head{color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.table-row strong{font-weight:500;overflow-wrap:anywhere}.table-cell{min-width:0}.action-cell a{border:1px solid var(--line-strong);background:var(--ghost-bg);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px}.table-head.users,.table-row.users{grid-template-columns:minmax(150px,1.5fr) 130px 130px minmax(120px,1fr) 60px}.table-head.allow,.table-row.allow{grid-template-columns:minmax(130px,1fr) 130px 120px minmax(120px,1fr) 90px}.article{background:var(--panel);border:1px solid var(--line);border-radius:0;padding:26px}@media(max-width:860px){.app-shell{--mobile-nav-height: calc(73px + env(safe-area-inset-bottom)) ;display:block;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell.admin-shell{--mobile-nav-height: calc(121px + env(safe-area-inset-bottom)) ;padding-bottom:calc(128px + env(safe-area-inset-bottom))}.sidebar{position:sticky;top:0;z-index:20;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar .brand{min-width:0}.brand strong{overflow:hidden;font-size:14px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.brand span{display:none}.nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:flex;gap:0;overflow-x:hidden;padding:8px env(safe-area-inset-right) calc(8px + env(safe-area-inset-bottom)) env(safe-area-inset-left);background:var(--sidebar-bg);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav a{position:relative;flex:1 1 0;min-width:0;min-height:56px;flex-direction:column;justify-content:center;gap:4px;padding:7px 3px;border-top:2px solid transparent;border-left:0;font-size:10px;line-height:1.2;letter-spacing:0;text-align:center}.admin-shell .nav{flex-wrap:wrap}.admin-shell .nav a{flex-basis:25%;min-height:52px;font-size:9.5px}.admin-shell .nav a svg{width:16px;height:16px}.nav a.active,.nav a:hover{border-top-color:var(--accent);border-left-color:transparent}.nav-count{position:absolute;top:5px;right:9px;min-width:18px;height:18px;margin-left:0;padding:0 5px;font-size:11px}.account{margin-top:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;font-size:12px}.account>span{max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account>div{display:none}.account .theme-toggle,.account .icon-text{width:44px;min-width:44px;padding:0}.account .theme-toggle span{display:none}.account .icon-text{gap:0;font-size:0}.page,.page.narrow{width:100%;padding:22px max(14px,env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.admin-shell .page,.admin-shell .page.narrow{padding-bottom:calc(156px + env(safe-area-inset-bottom))}.login-panel,.split,.inline-form{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;background:transparent}.metric{min-height:96px;padding:15px;border:1px solid var(--line)}.metric span{margin-bottom:8px;font-size:10.5px;letter-spacing:.08em}.metric strong{font-size:34px}.login-actions{grid-template-columns:1fr}.page-header,.row-link{align-items:stretch;flex-direction:column}.page-header{gap:12px;margin-bottom:20px;padding-bottom:14px}.page-header h1,.center-message h1{font-size:24px;letter-spacing:.04em}.page-header p,.center-message p{letter-spacing:.04em}.page-header>.primary,.page-header>select{width:100%}.primary,.primary-link,.icon-text,.ghost,.theme-toggle,input,select{min-height:44px}input,select,textarea{padding:11px 12px;font-size:16px}textarea{min-height:140px}.chat-composer textarea{min-height:48px}.form .primary,.inline-form .primary{width:100%}.login-panel{gap:12px;border:0;background:transparent}.login-copy{min-height:auto;gap:32px}.login-copy,.panel,.article,.chat-composer,.chat-closed,.row-link,.table-row,.empty,.loading,.center-message{border-radius:8px}.brand.large strong{font-size:24px;letter-spacing:.02em}.screen{min-height:100vh;padding:16px}.row-link{min-height:74px;gap:12px;padding:14px}.row-link>div:first-child{width:100%;min-width:0}.row-actions{width:100%;justify-content:space-between}.row-actions>select{flex:1 1 160px;min-width:0}.pill{min-height:28px;display:inline-flex;align-items:center}.inline-form{gap:12px;padding:16px}.inline-form .notice{grid-column:auto}.table-head{display:none}.table{gap:10px}.table-row.users,.table-row.allow{grid-template-columns:1fr;gap:10px;padding:14px}.table-cell{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center}.table-cell:before{content:attr(data-label);color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.table-cell.primary-cell{grid-template-columns:1fr}.table-cell.primary-cell:before,.table-cell.action-cell:before{display:none}.table-cell.action-cell{display:block}.table-cell.action-cell a,.table-cell.action-cell button{width:100%;min-height:44px}.thread-page{width:100%}.chat-header{top:69px;padding:14px 0 12px;flex-direction:column;align-items:stretch;gap:10px}.chat-title h1{font-size:22px}.chat-status{justify-content:space-between}.chat-status select{flex:1 1 150px}.chat-list{min-height:calc(100vh - 69px - var(--mobile-nav-height) - 150px);padding:16px 0 84px}.chat-message{max-width:92%}.chat-composer,.chat-closed{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(var(--mobile-nav-height) + 8px);left:max(14px,env(safe-area-inset-left))}.chat-bubble{padding:11px 13px}.chat-meta{gap:6px;font-size:10.5px;letter-spacing:.03em}}@supports (min-height: 100dvh){body,#root{min-height:100dvh}@media(max-width:860px){.app-shell,.screen{min-height:100dvh}}}@media(max-width:480px){.sidebar{padding:10px 12px}.brand{gap:9px}.brand svg{width:21px;height:21px}.account>span{display:none}.page,.page.narrow{padding-top:18px}.page-header h1,.center-message h1{font-size:23px}.login-copy,.panel,.article{padding:18px}.table-cell{grid-template-columns:84px minmax(0,1fr)}}
