:root{--bg:#f4ede2;--panel:rgba(255,251,245,0.84);--panel-strong:#fffaf3;--text:#2b221d;--muted:#74655a;--line:rgba(70,53,42,0.12);--accent:#8f3f32;--accent-soft:rgba(143,63,50,0.12);--shadow:0 20px 60px rgba(43,34,29,0.12);--accent-line:rgba(143,63,50,0.24);--accent-ink:#fff8f3;--accent-ink-strong:#8f3f32;--overlay:rgba(43,34,29,0.32);--selected-bg:rgba(143,63,50,0.12);--selected-ink:#8f3f32;--selected-line:rgba(143,63,50,0.24);--focus:#8f3f32;--focus-soft:rgba(143,63,50,0.12);--danger-ink:#8b2f2f;--danger-soft:rgba(139,47,47,0.08);--neutral-soft:rgba(70,53,42,0.07);--neutral-line:rgba(70,53,42,0.18);--neutral-strong:rgba(70,53,42,0.4);--font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","HarmonyOS Sans SC","MiSans","Source Han Sans SC","Noto Sans SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;--macaron-base:#fdf3f4;--macaron-base-deep:#f7e8ed;--macaron-cream:#fffaf7;--macaron-lilac:#f1edfd;--macaron-mint:#e6f6f1;--accent-orange:#ff7a2f;--accent-orange-soft:rgba(255,122,47,0.14);--accent-purple:#7b5cf0;--accent-purple-soft:rgba(123,92,240,0.12);--character-red:#e24a57;--character-red-soft:rgba(226,74,87,0.16);--user-teal:#2fa79b;--user-teal-soft:rgba(47,167,155,0.16);--user-bubble-from:#e2f4ef;--user-bubble-to:#dbeafc;--user-ink:#1d4a46;--chat-ink:#33262b;--chat-muted:#7c6a72;--chat-line:rgba(90,60,72,0.12);--chat-surface:#f5f8f9;--chat-surface-deep:#e9f0f1;--chat-card:#fbfdfe;--chat-card-strong:#ffffff;--chat-chip:rgba(255,255,255,0.72);--chat-veil:rgba(245,248,249,0.97);--chat-veil-soft:rgba(245,248,249,0.92);--chat-veil-clear:rgba(245,248,249,0);--chat-nav-veil:rgba(247,250,251,0.97);--chat-action-ink:#57526f;--chat-placeholder:rgba(107,103,132,0.72);--chat-character-bubble:#eceaf4;--chat-character-bubble-line:rgba(160,155,195,0.4);--chat-character-ink:#363049;--chat-character-shadow:0 4px 14px rgba(160,155,195,0.1);--chat-user-bubble:#e1edf0;--chat-user-bubble-alt:#d5e5e9;--chat-user-bubble-line:rgba(157,191,195,0.45);--chat-user-ink:#2e4a4f;--chat-user-avatar:#587a82;--chat-user-avatar-ink:#f7fbfc;--chat-selected-bg:rgba(160,155,195,0.2);--chat-selected-ink:#5e5880;--chat-selected-line:rgba(160,155,195,0.36);--chat-focus:#8b85ab;--chat-focus-soft:rgba(139,133,171,0.14);--chat-accent:#587a82;--chat-accent-ink:#ffffff;--chat-accent-shadow:0 6px 16px rgba(88,122,130,0.26);--chat-accent-soft:rgba(157,191,195,0.2);--chat-accent-line:rgba(157,191,195,0.55);--chat-accent-ink-strong:#3f5f66;--chat-disabled-bg:#e6e9ef;--chat-disabled-ink:#9a99ac;--chat-shell-bg:rgba(252,253,254,0.96);--chat-shell-shadow:0 7px 22px rgba(58,53,80,0.07);--chat-shadow:0 18px 45px rgba(58,53,80,0.16);--chat-overlay:rgba(58,53,80,0.32);--chat-alert-soft:rgba(178,96,104,0.14);--chat-alert-ink:#8c4a53;--chat-unread-bubble:#cf2f3f;--chat-unread-bubble-ink:#ffffff;--mobile-nav-height:50px;--chat-text-size:16px;--chat-line-height:1.62}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at 12% -6%,var(--macaron-lilac),transparent 42%),radial-gradient(circle at 88% 4%,var(--macaron-mint),transparent 38%),linear-gradient(180deg,var(--macaron-base) 0,var(--macaron-base-deep) 100%);color:var(--text);font-family:var(--font-sans);font-size:var(--chat-text-size);line-height:var(--chat-line-height);min-height:100dvh;-webkit-text-size-adjust:100%}body:has([data-palette]),html:has([data-palette]){background:linear-gradient(180deg,var(--chat-surface) 0,var(--chat-surface-deep) 100%)}body:has([data-palette=a]){--chat-ink:#3a3550;--chat-muted:#6b6784;--chat-line:rgba(58,53,80,0.12);--bg:var(--chat-surface);--panel:var(--chat-card);--panel-strong:var(--chat-card-strong);--text:var(--chat-ink);--muted:var(--chat-muted);--line:var(--chat-line);--accent:var(--chat-accent);--accent-soft:var(--chat-accent-soft);--accent-line:var(--chat-accent-line);--accent-ink:var(--chat-accent-ink);--accent-ink-strong:var(--chat-accent-ink-strong);--shadow:var(--chat-shell-shadow);--overlay:var(--chat-overlay);--selected-bg:var(--chat-selected-bg);--selected-ink:var(--chat-selected-ink);--selected-line:var(--chat-selected-line);--focus:var(--chat-focus);--focus-soft:var(--chat-focus-soft);--danger-ink:var(--chat-alert-ink);--danger-soft:var(--chat-alert-soft);--neutral-soft:rgba(58,53,80,0.07);--neutral-line:rgba(58,53,80,0.18);--neutral-strong:rgba(58,53,80,0.4)}body:has([data-palette=b]){--chat-surface:#faf7f2;--chat-surface-deep:#f1ebe2;--chat-card:#fcfaf6;--chat-card-strong:#fffdfa;--chat-chip:rgba(255,253,250,0.74);--chat-veil:rgba(250,247,242,0.97);--chat-veil-soft:rgba(250,247,242,0.92);--chat-veil-clear:rgba(250,247,242,0);--chat-nav-veil:rgba(251,248,244,0.97);--chat-ink:#3a3646;--chat-muted:#6c6878;--chat-line:rgba(58,54,70,0.12);--chat-action-ink:#5a5566;--chat-placeholder:rgba(108,104,120,0.72);--chat-character-bubble:#edebf1;--chat-character-bubble-line:rgba(156,152,177,0.4);--chat-character-ink:#37333f;--chat-character-shadow:0 4px 14px rgba(156,152,177,0.1);--chat-user-bubble:#e6ecf2;--chat-user-bubble-alt:#d8e1eb;--chat-user-bubble-line:rgba(138,156,178,0.42);--chat-user-ink:#2f3d4e;--chat-user-avatar:#5e7c74;--chat-user-avatar-ink:#f7fbfc;--chat-selected-bg:rgba(156,152,177,0.2);--chat-selected-ink:#5b5675;--chat-selected-line:rgba(156,152,177,0.36);--chat-focus:#88839f;--chat-focus-soft:rgba(136,131,159,0.14);--chat-accent:#5e7c74;--chat-accent-ink:#ffffff;--chat-accent-shadow:0 6px 16px rgba(94,124,116,0.26);--chat-accent-soft:rgba(189,200,196,0.3);--chat-accent-line:rgba(189,200,196,0.6);--chat-accent-ink-strong:#4a6159;--chat-disabled-bg:#e9e6e0;--chat-disabled-ink:#9c97a4;--chat-shell-bg:rgba(253,251,247,0.96);--chat-shell-shadow:0 7px 22px rgba(58,54,70,0.07);--chat-shadow:0 18px 45px rgba(58,54,70,0.16);--chat-overlay:rgba(58,54,70,0.32);--chat-alert-soft:rgba(178,106,96,0.15);--chat-alert-ink:#8a4e45;--chat-unread-bubble:#c0392b;--chat-unread-bubble-ink:#ffffff;--bg:var(--chat-surface);--panel:var(--chat-card);--panel-strong:var(--chat-card-strong);--text:var(--chat-ink);--muted:var(--chat-muted);--line:var(--chat-line);--accent:var(--chat-accent);--accent-soft:var(--chat-accent-soft);--accent-line:var(--chat-accent-line);--accent-ink:var(--chat-accent-ink);--accent-ink-strong:var(--chat-accent-ink-strong);--shadow:var(--chat-shell-shadow);--overlay:var(--chat-overlay);--selected-bg:var(--chat-selected-bg);--selected-ink:var(--chat-selected-ink);--selected-line:var(--chat-selected-line);--focus:var(--chat-focus);--focus-soft:var(--chat-focus-soft);--danger-ink:var(--chat-alert-ink);--danger-soft:var(--chat-alert-soft);--neutral-soft:rgba(58,54,70,0.07);--neutral-line:rgba(58,54,70,0.18);--neutral-strong:rgba(58,54,70,0.4)}a{color:inherit;text-decoration:none}.shell{width:min(100%,960px);margin:0 auto;padding:24px 16px 48px}.topbar{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-bottom:24px}.character-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background-color:var(--accent-soft);background-position:50%;background-size:cover;color:var(--accent);font-weight:600}.character-avatar--small{width:32px;height:32px}.character-avatar--medium{width:44px;height:44px}.eyebrow{margin:0;color:var(--muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;flex:0 0 auto;gap:6px;flex-wrap:nowrap}.nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid var(--line);background:var(--panel);border-radius:999px;box-shadow:var(--shadow);white-space:nowrap}.nav a svg{width:20px;height:20px;flex:0 0 auto}.nav a[aria-current=page]{border-color:var(--chat-accent);background:var(--chat-selected-bg);color:var(--chat-accent-ink-strong);font-weight:600}.nav-icon{position:relative;display:inline-flex;flex:0 0 auto}.nav-badge{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--chat-accent);color:var(--chat-accent-ink);font-size:10px;font-weight:600;line-height:16px;text-align:center;white-space:nowrap}.unread-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:9px 12px;border:1px solid var(--chat-accent-line);border-radius:16px;background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong);font-size:.86rem;line-height:1.45}.unread-notice__link{display:flex;align-items:center;gap:8px;min-width:0}.unread-notice__dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--chat-accent)}.unread-notice__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-notice__go{flex:0 0 auto;font-weight:600;text-decoration:underline}.unread-notice__dismiss{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:1rem;line-height:1}.unread-notice__dismiss:focus-visible,.unread-notice__link:focus-visible{outline:2px solid var(--chat-focus);outline-offset:2px}.grid{display:grid;grid-gap:16px;gap:16px}.hero,.panel{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.hero{padding:28px}.hero p{color:var(--muted);max-width:38rem}.panel{padding:20px}.panel h2,.panel h3,.panel h4{margin-top:0}.kpi{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.92rem}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}.button,.quick-actions a{padding:12px 16px;border-radius:16px;background:var(--panel-strong);border:1px solid var(--line)}.button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.button.danger{color:var(--danger-ink);border-color:var(--danger-soft);background:var(--danger-soft)}.button:disabled{cursor:wait;opacity:.62}.job-health-ok{color:#426b4f;background:rgba(66,107,79,.12)}.job-health-warning{color:#8b542f;background:rgba(173,103,50,.14)}.job-health-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:20px 0}.job-health-counts>div{display:grid;grid-gap:4px;gap:4px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,250,243,.72)}.job-health-counts strong{font-size:1.45rem}.job-health-counts span{color:var(--muted);font-size:.84rem}.job-list{display:grid;grid-gap:10px;gap:10px}.job-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong)}.job-item p{margin:5px 0 0}.form-error,.form-notice{margin:0;padding:12px 14px;border-radius:14px}.form-error{background:var(--danger-soft);border:1px solid var(--danger-soft)}.form-notice{color:#426b4f;background:rgba(66,107,79,.1);border:1px solid rgba(66,107,79,.18)}.chat-layout{min-height:calc(100dvh - 190px)}.palette-switch{display:flex;gap:6px;margin:0 0 6px}.palette-switch__link{padding:2px 10px;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-chip);color:var(--chat-muted);font-size:12px;line-height:1.6}.palette-switch__link[aria-current=true]{border-color:var(--chat-selected-line);background:var(--chat-selected-bg);color:var(--chat-selected-ink);font-weight:600}.chat-window{--chat-composer-height:220px;min-height:inherit;padding-bottom:calc(var(--chat-composer-height) + 24px)}.chat-window__header{position:-webkit-sticky;position:sticky;z-index:18;top:0;display:grid;grid-gap:8px;gap:8px;padding:8px 0 10px;border-bottom:1px solid var(--chat-line);background:linear-gradient(180deg,var(--chat-veil),var(--chat-veil-soft));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-window__header h2{margin:0;font-size:15px;font-weight:600;line-height:1.3;white-space:nowrap}.chat-window__header p{margin:4px 0 0;font-size:.8rem}.chat-window__title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.chat-topbar{gap:8px}.chat-topbar,.chat-topbar__identity{display:flex;align-items:center;min-width:0}.chat-topbar__identity{gap:6px;flex:0 0 auto}.chat-topbar__entries{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px}.chat-entry-chip{min-width:0;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 12px;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-chip);color:var(--chat-ink);cursor:pointer;font:inherit;font-size:13px;line-height:1.2;text-align:left;white-space:nowrap}.chat-entry-chip span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-entry-chip__badge{flex:0 0 auto;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--chat-selected-bg);color:var(--chat-selected-ink);font-size:11px;text-align:center}.chat-entry-chip--schedule{border-color:var(--chat-accent-line);background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong);font-weight:600}.chat-entry-chip:focus-visible,.chat-menu summary:focus-visible,.chat-universe-selector summary:focus-visible{outline:2px solid var(--chat-focus);outline-offset:2px}.chat-menu{position:relative;flex:0 0 auto}.chat-menu>summary{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-chip);color:var(--chat-ink);cursor:pointer;font-size:18px;line-height:1;list-style:none}.chat-menu>summary::-webkit-details-marker{display:none}.chat-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(300px,calc(100vw - 24px));max-height:min(70vh,520px);overflow-y:auto;display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--chat-line);border-radius:18px;background:var(--chat-card);box-shadow:var(--chat-shadow)}.chat-menu__section{display:grid;grid-gap:6px;gap:6px;padding-top:8px;border-top:1px solid var(--chat-line)}.chat-menu__section-title{margin:0;color:var(--chat-muted);font-size:12px;letter-spacing:.04em}.chat-menu__links{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--chat-line)}.chat-menu__links a{padding:8px 12px;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-chip);font-size:13px}.chat-session-inline{display:grid;grid-gap:4px;gap:4px}.chat-session-inline__item,.chat-session-inline__new{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--chat-ink);cursor:pointer;font:inherit;font-size:13px;text-align:left}.chat-session-inline__new{background:var(--chat-selected-bg);color:var(--chat-selected-ink);font-weight:600}.chat-session-inline__item span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-session-inline__item small{flex:0 0 auto;color:var(--chat-muted);font-size:11px}.chat-session-inline__item:disabled{opacity:1;color:var(--chat-selected-ink)}.chat-universe-selector{position:relative;z-index:8;flex:1 1 auto;min-width:0}.chat-universe-selector summary{display:flex;align-items:center;gap:6px;min-width:0;min-height:36px;padding:7px 12px;border:1px solid var(--chat-selected-line);border-radius:999px;background:var(--chat-selected-bg);color:var(--chat-selected-ink);cursor:pointer;font-size:13px;line-height:1.2;list-style:none}.chat-universe-selector__label{flex:0 0 auto;color:var(--chat-selected-ink);font-size:11px;letter-spacing:.06em}.chat-universe-selector__value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.chat-universe-selector summary::-webkit-details-marker{display:none}.chat-universe-selector__menu{position:absolute;top:calc(100% + 8px);right:0;width:min(260px,calc(100vw - 32px));display:grid;grid-gap:4px;gap:4px;padding:8px;border:1px solid var(--chat-line);border-radius:16px;background:var(--chat-card);box-shadow:var(--chat-shadow)}.chat-menu__note{margin:2px 4px 6px;color:var(--chat-muted);font-size:12px;line-height:1.45}.chat-universe-selector__menu a,.chat-universe-selector__menu button{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:0;border-radius:11px;background:transparent;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.chat-universe-selector__menu a:hover,.chat-universe-selector__menu button:hover{background:var(--chat-selected-bg)}.chat-universe-selector__menu button:disabled{color:var(--chat-selected-ink);cursor:default;opacity:1}.chat-universe-selector__menu small{color:var(--chat-selected-ink)}.chat-window__messages{min-height:max(300px,calc(100dvh - var(--chat-composer-height) - 260px));display:flex;align-items:flex-end;overflow:visible;padding:16px 0 18px}.chat-window__message-stack{width:100%;min-width:0;display:flex;flex-direction:column;gap:14px}.chat-window__composer{position:fixed;z-index:20;left:50%;bottom:0;width:min(calc(100% - 32px),928px);transform:translateX(-50%);display:grid;grid-gap:8px;gap:8px;padding:20px 0 max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--chat-line);background:linear-gradient(180deg,var(--chat-veil-clear) 0,var(--chat-veil) 18px,var(--chat-surface) 46px)}.chat-media-note{margin:0;font-size:.74rem;line-height:1.45}.chat-media-note,.chat-window .muted{color:var(--chat-muted)}.message{width:100%;display:flex;align-items:flex-end;gap:8px}.message-group,.message__bubble-stack{display:grid;grid-gap:8px;gap:8px}.message__bubble-stack{max-width:min(76%,34rem);min-width:0}.message__bubble,.message__bubble-stack{width:-moz-fit-content;width:fit-content}.message__bubble{max-width:100%;padding:10px 14px;border-radius:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--chat-text-size);line-height:var(--chat-line-height)}.message__content{display:block}.message__action{display:inline;color:var(--chat-action-ink);font-style:normal;font-weight:500}.message__content+.media-gallery{margin-top:8px}.message__time{display:block;width:100%;margin:2px 0 0;text-align:center;font-size:12px;line-height:1.2;color:var(--chat-muted);opacity:.72}.message.user{justify-content:flex-end}.message.user .message__bubble{background:linear-gradient(135deg,var(--chat-user-bubble),var(--chat-user-bubble-alt));border:1px solid var(--chat-user-bubble-line);color:var(--chat-user-ink);border-bottom-right-radius:6px}.message.yexiu .message__bubble{background:var(--chat-character-bubble);border:1px solid var(--chat-character-bubble-line);color:var(--chat-character-ink);border-bottom-left-radius:6px;box-shadow:var(--chat-character-shadow)}.message__user-avatar{background-color:var(--chat-user-avatar);border-color:var(--chat-user-bubble-line);color:var(--chat-user-avatar-ink);font-size:.78rem}.message-pending{opacity:.7}.message__reply-retry{display:grid;justify-items:end;grid-gap:6px;gap:6px;font-size:.78rem;color:var(--chat-muted)}.message__reply-retry>span{max-width:min(76%,34rem);text-align:right}.message__reply-retry .button{padding:6px 14px;border-radius:999px;font-size:.8rem}.composer{display:grid;grid-gap:12px;gap:12px}.composer-head h3{margin:0 0 6px}.composer-head p{margin:0}.composer textarea,.reading-stack textarea{min-height:120px;width:100%;resize:vertical;border:1px solid var(--line);border-radius:18px;padding:16px;font:inherit;background:#fffdf9;color:var(--text)}.composer-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.composer input,.composer textarea{background:var(--panel-strong)}.composer-row.end{justify-content:flex-end}.muted{color:var(--muted)}.shortcuts{display:flex;flex-wrap:wrap;gap:10px}.shortcut{cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted)}.shortcut:disabled{opacity:.5;cursor:not-allowed}.composer-shell{min-width:0;display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--chat-line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 7px 22px rgba(51,38,43,.07);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.composer-shell:focus-within{border-color:rgba(226,74,87,.38);background:#ffffff;box-shadow:0 0 0 3px rgba(226,74,87,.09)}.composer-shell--chat{background:var(--chat-shell-bg);box-shadow:var(--chat-shell-shadow)}.composer-shell--chat:focus-within{border-color:var(--chat-focus);background:var(--chat-card-strong);box-shadow:0 0 0 3px var(--chat-focus-soft)}.composer-shell--chat .composer-textarea::placeholder{color:var(--chat-placeholder)}.composer-shell--chat .composer-shell__hint,.composer-shell--chat .composer-textarea:disabled{color:var(--chat-muted)}.composer-shell--annotation{padding:10px 12px;border-radius:18px;background:rgba(255,250,243,.72);box-shadow:none}.composer-textarea{width:100%;min-width:0;min-height:42px;max-height:160px;padding:4px;resize:none;border:0;outline:0;background:transparent;color:var(--chat-ink);font:inherit;font-size:var(--chat-text-size);line-height:1.6}.composer-shell--annotation .composer-textarea{min-height:44px;max-height:144px;font-size:.98rem}.composer-textarea::placeholder{color:rgba(124,106,114,.72)}.composer-textarea:disabled{color:var(--muted);cursor:not-allowed}.composer-shell__footer{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.composer-shell__hint{min-width:0;color:var(--muted);font-size:.82rem;line-height:1.45}.composer-submit{min-width:72px;min-height:34px;padding:7px 18px;border-radius:999px;cursor:pointer}.composer-shell--chat .composer-submit{border:0;background:var(--chat-accent);color:var(--chat-accent-ink);font-size:15px;font-weight:600;box-shadow:var(--chat-accent-shadow)}.composer-shell--chat .composer-submit:disabled{background:var(--chat-disabled-bg);color:var(--chat-disabled-ink);box-shadow:none}.composer-submit:disabled{opacity:.5;cursor:not-allowed}.composer input,.reading-inline-form input,.reading-inline-form select,.reading-stack input,.reading-stack select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font:inherit;background:#fffdf9;color:var(--text)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.form-error{margin:0;color:var(--danger-ink);font-size:.86rem;line-height:1.45}.media-composer{min-width:0;display:grid;grid-gap:9px;gap:9px}.media-composer__previews{display:flex;align-items:center;gap:8px;max-width:100%;padding:2px;overflow-x:auto}.media-composer__preview{position:relative;flex:0 0 auto;width:72px;min-width:0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--neutral-soft)}.media-composer__preview--audio{width:min(230px,calc(100vw - 76px));padding:5px}.media-composer__remove{position:absolute;top:-7px;right:-7px;z-index:2;width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--accent-soft);color:var(--accent);cursor:pointer;font-size:1.05rem}.media-composer__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.media-composer__actions-end,.media-composer__actions-left{min-width:0;display:flex;align-items:center;gap:7px}.media-composer__actions-end{justify-content:flex-end}.media-action{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.8rem}.media-action:hover{background:var(--neutral-soft);color:var(--text)}.media-action:disabled{cursor:not-allowed;opacity:.48}.media-action__icon{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:1rem}.media-action--recording{color:var(--danger-ink);background:var(--danger-soft)}.media-composer__help{width:20px;height:20px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.7rem;cursor:help}.media-gallery{min-width:0;max-width:100%;display:grid;grid-gap:8px;gap:8px}.media-gallery--moment{width:-moz-fit-content;width:fit-content;max-width:100%}.media-gallery--chat{width:min(320px,58vw)}.media-item{min-width:0;max-width:100%;overflow:hidden;border-radius:13px;background:var(--neutral-soft)}.media-image-button{display:block;max-width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.media-item img,.media-item video{display:block;width:100%;max-width:100%;max-height:420px;object-fit:contain;background:var(--neutral-soft)}.media-gallery--moment.media-gallery--count-1{display:block}.media-gallery--moment.media-gallery--count-1 .media-item--image{width:-moz-fit-content;width:fit-content;max-width:min(100%,440px);background:transparent}.media-gallery--moment.media-gallery--count-1 .media-item--image img{width:auto;height:auto;max-width:100%;max-height:440px;object-fit:contain;background:transparent}.media-gallery--moment.media-gallery--count-2,.media-gallery--moment.media-gallery--count-3,.media-gallery--moment.media-gallery--count-4{width:min(100%,520px);grid-template-columns:repeat(2,minmax(0,1fr))}.media-gallery--moment.media-gallery--count-5,.media-gallery--moment.media-gallery--count-6,.media-gallery--moment.media-gallery--count-7,.media-gallery--moment.media-gallery--count-8,.media-gallery--moment.media-gallery--count-9{width:min(100%,630px);grid-template-columns:repeat(3,minmax(0,1fr))}.media-gallery--moment:not(.media-gallery--count-1) .media-item--image,.media-gallery--moment:not(.media-gallery--count-1) .media-item--image .media-image-button,.media-gallery--moment:not(.media-gallery--count-1) .media-item--image img{width:100%;aspect-ratio:1}.media-gallery--moment:not(.media-gallery--count-1) .media-item--image img{max-height:none;object-fit:cover}.video-preview{position:relative;overflow:hidden;border-radius:inherit}.media-gallery--chat .media-item--video,.media-gallery--moment .media-item--video,.video-preview{width:min(100%,520px)}.media-gallery--chat .media-item--video video,.media-gallery--moment .media-item--video video{width:100%;aspect-ratio:16/9;max-height:340px;object-fit:cover}.video-preview__badge{position:absolute;right:8px;bottom:8px;padding:3px 7px;border-radius:999px;background:rgba(25,20,17,.7);color:white;font-size:.72rem;pointer-events:none}.media-gallery--preview .media-item{width:70px;height:70px;border-radius:9px}.media-gallery--preview img,.media-gallery--preview video{width:70px;height:70px;object-fit:cover}.media-gallery--preview .media-item--audio{width:100%;height:auto;background:transparent}.media-gallery--preview .video-preview__badge{right:4px;bottom:4px;padding:2px 5px;font-size:.62rem}.message.user .media-item{background:rgba(255,255,255,.14)}.voice-message{min-width:min(230px,60vw);max-width:100%;display:grid;grid-template-columns:30px minmax(84px,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:7px 9px;border-radius:13px;background:rgba(70,53,42,.07)}.voice-message--compact{min-width:0;width:100%;grid-template-columns:26px minmax(54px,1fr) auto;padding:6px 7px}.voice-message__toggle{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;font-size:.68rem}.voice-message__waveform{height:18px;display:flex;align-items:center;gap:2px;overflow:hidden}.voice-message__waveform span{flex:1 1 2px;min-width:2px;max-width:3px;border-radius:999px;background:currentColor;opacity:.28}.voice-message__waveform span.is-played{opacity:.88}.voice-message__duration{font-size:.74rem;opacity:.72}.voice-message audio{display:none}.message.user .voice-message{background:rgba(255,255,255,.14)}.message.user .voice-message__toggle{background:rgba(255,255,255,.94);color:var(--accent)}.media-lightbox{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:28px;background:rgba(20,16,14,.88);cursor:zoom-out}.media-lightbox img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 56px);object-fit:contain}.media-lightbox__close{position:fixed;top:18px;right:18px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:white;cursor:pointer;font-size:1.5rem}@media (max-width:720px){.chat-layout{min-height:calc(100dvh - 250px)}.chat-window__composer,.chat-window__header,.chat-window__messages{padding-left:0;padding-right:0}.chat-window__composer{width:calc(100% - 24px)}.message{gap:6px}.message>.message__bubble,.message__bubble-stack{max-width:76%}.media-gallery--chat{width:min(270px,62vw)}.chat-window__title-row{align-items:center;flex-wrap:wrap;gap:8px}.chat-window__header{padding-top:6px;padding-bottom:8px}.chat-universe-selector summary{max-width:calc(100vw - 24px);padding:6px 9px;white-space:nowrap}.chat-universe-selector__menu{left:0;right:auto}.media-composer__actions{align-items:flex-end}.media-composer__actions-end .composer-shell__hint{display:none}}.active-chip{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.moments-layout{display:grid;grid-gap:12px;gap:12px;min-width:0}.moments-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);background:var(--chat-veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.moments-bar__text{min-width:0}.moments-bar h2{margin:0;font-size:1.15rem}.moments-bar__scope{margin:2px 0 0;font-size:.78rem}.moments-bar__add{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--accent-line);border-radius:999px;background:var(--accent-soft);color:var(--accent-ink-strong);cursor:pointer;font:inherit;font-size:1.3rem;line-height:1}.moments-bar__add:hover{background:var(--accent);color:var(--accent-ink)}.moments-bar__add:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.compose-panel{position:fixed;inset:0;z-index:60;display:flex;justify-content:center;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.compose-panel__sheet{display:flex;flex-direction:column;width:min(100%,560px);max-height:100%;min-height:0;background:var(--panel-strong)}.compose-panel[hidden]{display:none}.compose-panel__bar{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--line);background:var(--panel-strong)}.compose-panel__bar h3{margin:0;font-size:.98rem;text-align:center}.compose-panel__cancel{padding:7px 14px;border:1px solid var(--line);background:var(--panel-strong);color:var(--text);cursor:pointer;font:inherit}.compose-panel__cancel,.compose-panel__save{min-height:36px;border-radius:999px;font-size:.9rem}.compose-panel__save{padding:8px 16px}.compose-panel__save:disabled{opacity:1;border-color:var(--accent-line);background:var(--accent-line);color:var(--text)}.compose-panel__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;grid-gap:12px;gap:12px;align-content:start;padding:14px 14px calc(18px + env(safe-area-inset-bottom))}.compose-panel:has(.compose-panel__body>.compose-panel__text){align-items:flex-end}.compose-panel:has(.compose-panel__body>.compose-panel__text) .compose-panel__sheet{height:auto}.compose-panel__body:has(>.compose-panel__text){grid-template-rows:auto auto auto auto}.compose-panel__body:has(>.compose-panel__text)>.compose-panel__text{min-height:132px;max-height:240px;field-sizing:content}.compose-panel__audience-scope{display:grid;grid-gap:6px;gap:6px}.compose-panel__audience-scope,.compose-panel__scope{margin:0;font-size:.78rem;color:var(--muted)}.compose-panel__scope-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.compose-panel__scope-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.compose-panel__scope-title{flex:0 0 auto}.compose-panel__scope-summary{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.compose-panel__scope-chevron{flex:0 0 auto;width:18px;height:18px;display:inline-grid;place-items:center;color:var(--muted)}.compose-panel__scope-chevron:before{content:"";width:10px;height:10px;border:solid;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}.compose-panel__scope-toggle[aria-expanded=true] .compose-panel__scope-chevron:before{transform:translateY(2px) rotate(225deg)}.compose-panel__audience-panel[hidden]{display:none}.compose-panel__audience{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.compose-panel__audience label{display:flex;align-items:center;gap:8px;min-height:32px;color:var(--text)}.compose-panel__audience input{flex:0 0 auto;width:20px;height:20px;margin:0;display:grid;place-items:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--muted);border-radius:6px;background:var(--panel-strong);color:var(--accent-ink);cursor:pointer}.compose-panel__audience input:after{content:"";width:5px;height:9px;border:solid;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}.compose-panel__audience input:checked{border-color:var(--accent);background:var(--accent)}.compose-panel__audience input:checked:after{opacity:1}.compose-panel__audience input:disabled{opacity:1;cursor:default}.compose-panel__audience input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.compose-panel__audience-hint{margin:0}.compose-panel__field{display:grid;grid-gap:5px;gap:5px;font-size:.82rem;color:var(--muted)}.compose-panel__field input{padding:12px 14px;border:1px solid var(--line);border-radius:14px}.compose-panel__field input,.compose-panel__text{width:100%;background:var(--panel);color:var(--text);font:inherit}.compose-panel__text{min-height:180px;resize:vertical;padding:14px;border:1px solid var(--line);border-radius:16px}.compose-panel__text:focus-visible{border-color:var(--accent-line);outline:2px solid var(--focus);outline-offset:1px}.compose-panel__note{margin:0;font-size:.78rem}.compose-panel .media-action{min-height:44px;padding:10px 12px}.compose-panel .media-action>span[aria-hidden=true]{font-size:1rem;line-height:1}.compose-panel .media-composer__help{position:relative;width:44px;height:44px;border:0;font-size:.8rem}.compose-panel .media-composer__help:before{content:"";position:absolute;inset:10px;border:1px solid var(--line);border-radius:50%}.compose-panel .media-action:focus-visible,.compose-panel .media-composer__help:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (min-width:721px){.compose-panel__sheet{max-height:calc(100% - 64px);margin:32px 0;border-radius:22px;box-shadow:0 24px 60px var(--overlay)}.compose-panel:has(.compose-panel__body>.compose-panel__text){align-items:center}}.universe-panel{display:grid;grid-gap:22px;gap:22px;margin-bottom:16px}.universe-editor__head h3,.universe-page-head h2,.universe-page-head p{margin:0}.universe-page-head h2{margin-top:4px;font-size:clamp(2rem,4vw,3rem)}.universe-page-head .muted{margin-top:8px}.universe-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line)}.universe-tabs button{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit}.universe-tabs button.is-selected{border-color:rgba(143,63,50,.24);background:var(--accent-soft);color:var(--accent)}.universe-tabs button small{padding:2px 5px;border-radius:999px;background:rgba(143,63,50,.1);font-size:.66rem}.universe-tabs .universe-tabs__new{border-style:dashed;color:var(--accent)}.universe-editor{min-width:0;display:grid;grid-gap:18px;gap:18px;padding:clamp(16px,3vw,24px);border:1px solid rgba(70,53,42,.1);border-radius:22px;background:rgba(255,251,245,.68)}.universe-editor__head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.universe-editor__head h3{margin-top:7px;font-size:1.35rem}.universe-current-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:700}.universe-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.universe-form{display:grid;grid-gap:18px;gap:18px;min-width:0}.universe-form-section{min-width:0;display:grid;grid-gap:12px;gap:12px;margin:0;padding:0 0 18px;border:0;border-bottom:1px solid rgba(70,53,42,.1)}.universe-hint{margin:0;font-size:12px;line-height:1.6;color:rgba(70,53,42,.62)}.story-editor{margin:0 0 12px}.story-editor summary{cursor:pointer;font-size:13px;color:rgba(70,53,42,.72)}.story-editor__panel{display:grid;grid-gap:10px;gap:10px;margin-top:10px;padding:12px;border:1px solid rgba(70,53,42,.14);border-radius:10px;background:rgba(255,255,255,.5)}.story-editor__panel label{display:grid;grid-gap:6px;gap:6px}.story-editor__panel label>span{font-size:13px;color:rgba(70,53,42,.72)}.story-editor__panel input{width:100%;padding:8px 10px;border:1px solid rgba(70,53,42,.2);border-radius:8px;font:inherit}.universe-form-section legend{margin-bottom:10px;color:var(--text);font-weight:750}.universe-field-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.universe-form-section label{min-width:0;display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:.84rem}.universe-form-section input,.universe-form-section select,.universe-form-section textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fffdf9;color:var(--text);font:inherit}.universe-form-section textarea{min-height:92px;resize:vertical;line-height:1.55}.universe-form-section label:has(input[type=checkbox]){display:flex;align-items:center}.universe-form-section input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;padding:0}.universe-editor__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.moments-feed{display:grid;grid-gap:12px;gap:12px;min-width:0}.moment-card{display:grid;grid-gap:10px;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-strong)}.moment-head{display:flex;align-items:center;gap:8px;min-width:0}.moment-avatar--user{background-color:var(--selected-bg);color:var(--selected-ink);font-size:.78rem}.moment-author-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.moment-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.moment-foot__action{padding:4px 8px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem}.moment-foot__action:hover{background:var(--neutral-soft);color:var(--text)}.moment-foot__actions{display:flex;align-items:center;gap:4px}.moment-like{display:inline-flex;align-items:center;gap:5px}.moment-like--on{font-weight:600}.moment-like--on,.moment-like--on:hover{background:var(--accent-soft);color:var(--accent)}.moment-like:disabled{cursor:default;opacity:.7}.moment-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.moment-reply input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);font:inherit}.moment-reply .form-error{grid-column:1/-1}.worldline-tag{background:var(--accent-soft);color:var(--accent);font-weight:600}.moment-tag,.worldline-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.75rem}.moment-tag{background:var(--neutral-soft);color:var(--muted)}.moment-content{margin:0;white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.moment-comments{display:grid;grid-gap:8px;gap:8px;padding-top:6px;border-top:1px solid var(--line)}.moment-comment{display:grid;grid-gap:3px;gap:3px;min-width:0;width:100%;padding:2px 0 2px 10px;border:0;border-left:2px solid var(--line);border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;overflow-wrap:anywhere}.moment-comment:hover{background:var(--neutral-soft);border-left-color:var(--neutral-strong)}.moment-comment:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.moment-comment--reply-target{background:var(--selected-bg);border-left-color:var(--accent)}.moment-comment--reply-target .comment-meta strong,.moment-reply__target{color:var(--selected-ink)}.moment-reply__target{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;padding:6px 10px;border-left:2px solid var(--accent);border-radius:12px;background:var(--selected-bg);font-size:.82rem}.moment-reply__target-label{flex:0 0 auto;font-weight:600}.moment-reply__target-text{flex:1 1 auto;min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moment-reply__target-clear{flex:0 0 auto;padding:3px 8px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.78rem}.moment-reply__target-clear:hover{background:var(--neutral-soft);color:var(--text)}.reader-layout,.reading-layout{display:grid;grid-gap:16px;gap:16px}.reading-stack{display:grid;grid-gap:12px;gap:12px}.bookshelf-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.bookshelf-title-row h2{margin:0}.reading-companion-selector{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.reading-companion-selector label{font-weight:700}.reading-companion-selector select{min-width:190px}.reading-inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;align-items:center}.book-chips{display:flex;flex-wrap:wrap;gap:10px}.bookshelf-filterbar{display:flex;gap:12px;flex-wrap:wrap}.shelf-filter{min-width:120px;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,250,243,.82);color:var(--text);cursor:pointer}.shelf-filter,.shelf-filter strong{display:inline-flex;align-items:center}.shelf-filter strong{min-width:28px;height:28px;justify-content:center;border-radius:999px;background:rgba(70,53,42,.06);color:var(--muted);font-size:.88rem}.shelf-filter-active{border-color:rgba(143,63,50,.24);background:linear-gradient(180deg,rgba(143,63,50,.12),rgba(255,250,243,.96))}.shelf-filter-active strong{background:var(--accent-soft);color:var(--accent)}.shelf-filter-hint{margin-top:-2px}.bookshelf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.bookshelf-card{text-align:left;display:grid;grid-gap:10px;gap:10px;padding:18px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,250,243,.96),rgba(248,241,232,.96));color:var(--text);cursor:pointer;box-shadow:var(--shadow)}.bookshelf-card h3,.bookshelf-empty h3{margin:0}.bookshelf-card-active{border-color:rgba(143,63,50,.28);background:linear-gradient(180deg,rgba(143,63,50,.1),rgba(255,250,243,.98))}.bookshelf-card-head{display:flex;gap:8px;flex-wrap:wrap}.bookshelf-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.82rem}.muted-badge{background:rgba(70,53,42,.08);color:var(--muted)}.bookshelf-empty{padding:18px;border-radius:22px;border:1px dashed var(--line);background:var(--panel-strong)}.bookshelf-empty.compact{padding:16px;min-height:120px;display:grid;place-items:center;text-align:center}.bookshelf-home{gap:34px}.bookshelf-hero{display:grid;grid-gap:22px;gap:22px;min-width:0}.bookshelf-hero .bookshelf-title-row{align-items:center}.bookshelf-hero .bookshelf-title-row h2{margin-top:4px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em}.bookshelf-hero .bookshelf-title-row p{margin:8px 0 0}.bookshelf-companion-bar{justify-self:end;padding:8px 12px;border:1px solid rgba(70,53,42,.08);border-radius:16px;background:rgba(255,251,245,.5);color:var(--muted)}.bookshelf-companion-bar .reading-companion-selector{gap:6px 9px;font-size:.82rem}.bookshelf-companion-bar .reading-companion-selector label{font-weight:600}.bookshelf-companion-bar .reading-companion-selector select{min-width:160px;padding:7px 10px;border-radius:12px}.bookshelf-add-wrap{position:relative;z-index:4}.bookshelf-add-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(440px,calc(100vw - 32px));display:grid;grid-gap:12px;gap:12px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fffdf9;box-shadow:0 22px 70px rgba(43,34,29,.18)}.bookshelf-add-panel p{margin:4px 0 0}.bookshelf-add-panel input{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 13px;font:inherit;background:#fff;color:var(--text)}.bookshelf-add-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.bookshelf-add-actions{display:flex;justify-content:flex-end;gap:10px}.bookshelf-home .bookshelf-filterbar{gap:8px;padding-bottom:4px;border-bottom:1px solid rgba(70,53,42,.08)}.bookshelf-home .shelf-filter{min-width:0;padding:8px 12px;border:0;border-radius:12px 12px 0 0;background:transparent}.bookshelf-home .shelf-filter-active{background:rgba(143,63,50,.08);box-shadow:inset 0 -2px 0 var(--accent)}.bookshelf-home .shelf-filter strong{min-width:22px;height:22px;font-size:.76rem}.bookshelf-home .bookshelf-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 18px}.bookshelf-home .bookshelf-card{display:flex;min-width:0;flex-direction:column;gap:12px;padding:4px;border:0;border-radius:18px;background:transparent;box-shadow:none;color:var(--text);text-decoration:none;transition:transform .16s ease,background .16s ease}.bookshelf-home .bookshelf-card:focus-visible,.bookshelf-home .bookshelf-card:hover{transform:translateY(-4px);background:rgba(255,251,245,.72)}.book-cover{position:relative;isolation:isolate;aspect-ratio:3/4;display:grid;align-content:space-between;overflow:hidden;padding:15px 14px 14px 20px;border-radius:8px 18px 18px 8px;color:#fffdf8;box-shadow:0 16px 32px rgba(55,39,28,.18),inset 5px 0 0 rgba(255,255,255,.14)}.book-cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 48%,rgba(30,20,15,.2))}.book-cover-0{background:#8f3f32}.book-cover-1{background:#4d6b67}.book-cover-2{background:#735b7c}.book-cover-3{background:#9a6a32}.book-cover-4{background:#405d7a}.book-cover strong{align-self:center;justify-self:center;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(1.65rem,4vw,2.35rem);letter-spacing:.12em;text-shadow:0 2px 16px rgba(0,0,0,.16)}.book-cover-source,.book-cover-status{font-size:.72rem;letter-spacing:.08em;opacity:.84}.book-cover-status{justify-self:end;padding:4px 7px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(22,15,12,.14)}.bookshelf-card-copy{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:0 4px}.bookshelf-card-copy h3,.bookshelf-card-copy p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookshelf-card-copy h3{font-size:1rem}.bookshelf-card-copy p,.bookshelf-card-copy span,.bookshelf-context-hint{color:var(--muted);font-size:.82rem}.bookshelf-context-hint{margin:-6px 0 0;text-align:right}.bookshelf-feedback{margin:-8px 0 0;color:var(--accent);font-size:.88rem}.bookshelf-feedback-error{color:#9d2f27}.book-context-menu{position:fixed;z-index:50;width:200px;display:grid;grid-gap:3px;gap:3px;padding:8px;border:1px solid rgba(70,53,42,.14);border-radius:15px;background:rgba(255,253,249,.98);box-shadow:0 20px 54px rgba(43,34,29,.24)}.book-context-title{padding:8px 10px;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-context-menu button{width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}.book-context-menu button:focus-visible,.book-context-menu button:hover:not(:disabled){background:var(--accent-soft)}.book-context-menu button:disabled{color:var(--muted);opacity:.5;cursor:default}.book-context-menu .book-context-danger{color:#9d2f27}@media (max-width:640px){.bookshelf-home{gap:26px}.bookshelf-add-wrap,.bookshelf-add-wrap>.button{width:100%}.bookshelf-add-panel{position:static;width:100%;margin-top:10px}.bookshelf-add-fields{grid-template-columns:minmax(0,1fr)}.bookshelf-companion-bar{justify-self:stretch}.bookshelf-companion-bar .reading-companion-selector select{min-width:0;flex:1 1 160px}.bookshelf-home .bookshelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.bookshelf-home .shelf-filter{flex:1 1 auto}.bookshelf-context-hint{display:none}}.reading-columns{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:16px;gap:16px}.reader-grid{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.72fr);grid-gap:16px;gap:16px;align-items:start}.reader-heading,.reader-main-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.reader-actions,.reader-main-tools{display:grid;grid-gap:10px;gap:10px;justify-items:end}.reader-sidebar,.reader-sidepanel{display:grid;grid-gap:14px;gap:14px}.reader-sidebar{position:-webkit-sticky;position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px)}.reader-chapter-list{display:grid;grid-gap:10px;gap:10px;overflow:auto;padding-right:6px}.reader-chapter-dialog .reader-chapter-list{max-height:min(62vh,680px)}.reader-chapter-item{width:100%;text-align:left;display:grid;grid-gap:6px;gap:6px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--panel-strong);color:var(--text);cursor:pointer}.reader-chapter-item small,.reader-chapter-item span{color:var(--muted)}.reader-chapter-item-active{border-color:rgba(143,63,50,.24);background:linear-gradient(180deg,rgba(143,63,50,.12),rgba(255,250,243,.92))}.reader-main{display:grid;grid-gap:16px;gap:16px;min-width:0;align-content:start}.reader-grid-inline-comments{align-items:start}.reader-main-inline-comments{position:relative}.reader-stage{display:grid;grid-template-columns:minmax(0,800px) 76px;min-width:0;max-width:100%;justify-content:center;grid-gap:16px;gap:16px;align-items:start}.reader-mobile-actions{display:none}.reader-floating-tools{position:-webkit-sticky;position:sticky;top:24px;display:grid;grid-gap:10px;gap:10px;align-self:start}.reader-floating-tool{width:76px;min-height:54px;display:grid;place-items:center;text-align:center;cursor:pointer}.reader-article{width:100%;min-width:0;max-width:100%;padding:clamp(22px,4vw,38px);border-radius:22px;background:rgba(255,253,249,.94);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);white-space:normal;overflow-wrap:anywhere;word-break:break-word}.reader-chapter-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px;padding-top:4px}.reader-chapter-navigation .button:first-child{justify-self:start}.reader-chapter-navigation .button:last-child{justify-self:end}.reader-chapter-navigation .button:disabled{opacity:.45;cursor:not-allowed}.reader-toolbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;padding:8px;border-top:1px solid var(--chat-line);background:var(--chat-nav-veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media (max-width:720px){.reader-toolbar{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}}.reader-toolbar__button{display:grid;grid-gap:1px;gap:1px;place-items:center;min-width:0;min-height:46px;padding:6px 2px;border:0;border-radius:14px;background:transparent;color:var(--chat-ink);cursor:pointer;font:inherit;font-size:.8rem;line-height:1.2}.reader-toolbar__button:focus-visible,.reader-toolbar__button:hover{background:var(--chat-selected-bg);color:var(--chat-selected-ink)}.reader-toolbar__button[aria-expanded=true]{background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong)}.reader-toolbar__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-toolbar__value{color:var(--chat-muted);font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reader-layout--toolbar-open{padding-bottom:74px}@media (max-width:720px){.reader-layout--toolbar-open{padding-bottom:calc(74px + var(--mobile-nav-height) + env(safe-area-inset-bottom))}}.reader-article[data-reader-font=small] p{font-size:.94rem}.reader-article[data-reader-font=normal] p{font-size:1.02rem}.reader-article[data-reader-font=large] p{font-size:1.14rem}.reader-article[data-reader-font=xlarge] p{font-size:1.3rem}.reader-annotation-list{display:grid;grid-gap:8px;gap:8px;max-height:min(58vh,30rem);overflow-y:auto}.reader-annotation-item{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-strong);color:var(--text);cursor:pointer;font:inherit;text-align:left}.reader-annotation-item:focus-visible,.reader-annotation-item:hover{border-color:var(--accent-line);background:var(--selected-bg)}.reader-annotation-item__chapter{color:var(--muted);font-size:.76rem}.reader-annotation-item__anchor{color:var(--text);font-weight:600;overflow-wrap:anywhere}.reader-annotation-item__note,.reader-annotation-item__reply{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.reader-progress{display:grid;grid-gap:10px;gap:10px}.reader-progress__track{height:10px;border-radius:999px;background:var(--chat-selected-bg);overflow:hidden}.reader-progress__fill{display:block;height:100%;border-radius:999px;background:var(--chat-accent)}.reader-appearance,.reader-typography,.reader-typography__group{display:grid;grid-gap:10px;gap:10px}.reader-typography__label{color:var(--muted);font-size:.84rem}.reader-typography__options,.reader-typography__stepper{display:flex;flex-wrap:wrap;gap:8px}.reader-option{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--chat-chip);color:var(--chat-ink);cursor:pointer;font:inherit;font-size:.86rem}.reader-option--active{border-color:var(--chat-accent-line);background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong)}@media (max-width:880px){.reader-stage{grid-template-columns:minmax(0,1fr)}.reader-floating-tools{display:none}.reader-mobile-actions{display:flex}}.reader-article p{margin:0 0 1.15em;line-height:1.95;font-size:1.02rem}.annotation-inline-trigger{display:inline;max-width:100%;padding:0;margin:0;border:0;background:linear-gradient(180deg,transparent,transparent 72%,rgba(143,63,50,.18) 0,rgba(143,63,50,.18));border-bottom:1px dashed rgba(143,63,50,.45);color:inherit;cursor:pointer;font:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left;border-radius:4px}.annotation-inline-trigger-active,.annotation-inline-trigger:hover{background:linear-gradient(180deg,rgba(143,63,50,.06),rgba(143,63,50,.06));box-shadow:0 0 0 2px rgba(143,63,50,.1)}.reader-article ::selection,.reader-article::selection{background:rgba(143,63,50,.2)}.reader-selection-card{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:120px;padding:14px;border-radius:18px;background:var(--panel-strong);border:1px dashed var(--line)}.reader-inline-popup-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:rgba(37,28,22,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;min-width:0;overflow-y:auto;overflow-x:visible}.reader-inline-popup{width:min(720px,calc(100vw - 32px));min-width:0;max-width:calc(100vw - 32px);box-sizing:border-box;max-height:min(82vh,960px);display:grid;grid-gap:16px;gap:16px;padding:22px;border-radius:28px;border:1px solid rgba(70,53,42,.14);background:rgba(255,251,245,.98);box-shadow:0 28px 90px rgba(43,34,29,.28);overflow-y:auto;overflow-x:visible;animation:reader-float-in .18s ease-out}.reader-inline-popup-thread{width:min(760px,calc(100vw - 32px))}.reader-inline-popup-head{min-width:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.comment-bubble,.comment-thread-anchor,.comment-thread-list,.reader-inline-popup-head>*,.reader-inline-popup>*,.reader-selection-card>*{min-width:0;max-width:100%}.reader-inline-popup-head h3,.reader-inline-popup-head p{margin:0}.reader-inline-popup-related{padding-top:6px;border-top:1px solid var(--line)}.comment-thread-list{display:grid;grid-gap:12px;gap:12px}.comment-time{color:var(--muted);font-size:.78rem}.related-annotation-button{width:100%;text-align:left;display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,250,243,.88);color:var(--text)}.related-annotation-button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-annotation-button small{color:var(--muted)}@keyframes reader-float-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.shelf-status-switcher{display:flex;flex-wrap:wrap;gap:10px}.reading-notes{display:grid;grid-gap:12px;gap:12px}.reading-note-card{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:18px;background:var(--panel-strong);border:1px solid var(--line)}.reading-excerpt{margin:0;white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere;word-break:break-word}.reader-inline-popup .composer-shell,.reader-inline-popup .composer-shell__footer,.reader-inline-popup .composer-textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.reader-inline-popup .comment-bubble p,.reader-inline-popup .related-annotation-button span{white-space:normal;overflow-wrap:anywhere;word-break:break-word}@media (max-width:640px){.universe-field-grid{grid-template-columns:minmax(0,1fr)}.universe-editor__actions,.universe-editor__actions .button{width:100%}.reader-inline-popup-backdrop{place-items:end center;padding:12px}.reader-inline-popup,.reader-inline-popup-thread{width:100%;max-width:100%;max-height:calc(100dvh - 24px);padding:16px;border-radius:20px}.reader-inline-popup .composer-shell__footer{grid-template-columns:minmax(0,1fr) auto;gap:8px}}.reading-user-note{margin:0;color:var(--text)}.comment-thread-card{gap:12px}.comment-thread-anchor{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border-radius:16px;background:rgba(143,63,50,.05);border:1px solid rgba(143,63,50,.1)}.comment-bubble{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--panel-strong)}.comment-bubble p{margin:0;white-space:pre-wrap;line-height:1.75}.comment-author{color:var(--muted);font-size:.84rem}.comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comment-role-tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(70,53,42,.06);color:var(--muted);font-size:.75rem}.user-comment{margin-left:18px;border-color:rgba(70,53,42,.12)}.yexiu-comment{margin-right:18px;border-color:rgba(143,63,50,.16);background:linear-gradient(180deg,rgba(143,63,50,.06),rgba(255,250,243,.96))}.bookmarklet-box{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:18px;background:var(--panel-strong);border:1px dashed var(--line)}@media (max-width:820px){.topbar{align-items:start;flex-direction:column}.nav{flex-wrap:wrap}}@media (max-width:640px){.shell{padding-inline:12px}.job-health-counts{grid-template-columns:minmax(0,1fr)}.job-item{align-items:stretch;flex-direction:column}.message>.message__bubble,.message__bubble-stack{max-width:80%}.reader-grid,.reading-columns,.reading-inline-form{grid-template-columns:minmax(0,1fr)}.reader-sidebar{position:static;max-height:none}.reader-chapter-list{overflow:visible;padding-right:0}.reader-chapter-navigation{grid-template-columns:1fr 1fr}.reader-chapter-navigation>span{grid-column:1/-1;grid-row:1;text-align:center}.reader-actions,.reader-main-tools{justify-items:start}.reader-main-tools{width:100%}.reader-inline-popup-backdrop{padding:12px}.reader-inline-popup,.reader-inline-popup-thread{width:100%;max-height:calc(100vh - 24px)}}.shell:has(>.auth-shell){padding:0}.shell:has(>.auth-shell) main{padding-bottom:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,440px);display:grid;grid-gap:16px;gap:16px}.auth-card label{display:grid;grid-gap:8px;gap:8px}.auth-card input{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font:inherit;background:var(--panel-strong);color:var(--text)}.auth-card input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.auth-card .button.primary:disabled{opacity:1;cursor:wait;background:var(--accent-line);color:var(--text);border-color:transparent}.nav-logout{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.character-schedule{font-size:.875rem}.character-schedule summary{cursor:pointer}.character-schedule__day{max-height:12rem;overflow-y:auto;overflow-wrap:anywhere}.character-schedule__day ul{margin:.5rem 0;padding-left:1.25rem}.character-schedule__day li{margin:.35rem 0}.character-schedule__day li span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-page{display:grid;grid-gap:18px;gap:18px}.calendar-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}.calendar-head h2{margin:.2rem 0 .5rem}.calendar-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-month{font-size:1rem;min-width:7.5rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;grid-gap:18px;gap:18px;align-items:start}.calendar-day-panel,.calendar-grid-wrap{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px}.calendar-grid,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;font-size:.8rem;color:var(--muted);padding-bottom:6px}.calendar-grid{gap:4px}.calendar-cell{display:flex;flex-direction:column;gap:4px;min-height:5.5rem;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong);text-align:left;font:inherit;color:inherit;cursor:pointer}.calendar-cell--outside{opacity:.45}.calendar-cell--selected,.calendar-cell--today{border-color:var(--accent)}.calendar-cell--selected{background:var(--accent-soft)}.calendar-day-number{font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-chips{display:grid;grid-gap:3px;gap:3px}.calendar-chip{display:block;font-size:.72rem;line-height:1.3;padding:2px 5px;border-radius:6px;background:var(--accent-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-chip--allday{background:var(--neutral-line)}.calendar-chip--more{background:transparent;color:var(--muted)}.calendar-day-panel h3{margin:0 0 10px}.calendar-day-panel h4{margin:0 0 8px}.calendar-event-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.calendar-event{display:grid;grid-gap:6px;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong)}.calendar-event-main{display:grid;grid-gap:2px;gap:2px;overflow-wrap:anywhere}.calendar-event-main span{font-size:.82rem}.calendar-event-actions{display:flex;gap:6px;flex-wrap:wrap}.calendar-form{display:grid;grid-gap:10px;gap:10px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.calendar-form label{display:grid;grid-gap:4px;gap:4px;font-size:.82rem;color:var(--muted)}.calendar-form input,.calendar-form textarea{font:inherit;color:var(--text);background:var(--panel-strong);border:1px solid var(--line);border-radius:10px;padding:7px 9px}.calendar-form input:disabled{opacity:.5}.calendar-checkbox{display:flex!important;align-items:center;gap:6px}.calendar-checkbox input{width:auto}.calendar-time-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-items:end}.calendar-time-row .calendar-checkbox{grid-column:1/-1}.calendar-form-actions{display:flex;gap:8px}.calendar-form .button:disabled{opacity:.6;cursor:default}.calendar-primary{background:var(--accent);color:var(--accent-ink)}.calendar-danger{border-color:var(--accent);color:var(--accent)}.calendar-sheet__form{margin:0}.calendar-form--sheet{margin-top:0;border-top:0;padding-top:0}.calendar-form--sheet .calendar-form-actions{justify-content:flex-end}.calendar-discard{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:12px;background:var(--accent-soft)}.calendar-discard p{margin:0;font-size:.85rem}.calendar-comment-title{margin:4px 0 0;font-size:.9rem}.calendar-comment-list{margin:0;padding-left:1.1rem;display:grid;grid-gap:6px;gap:6px;font-size:.9rem;overflow-wrap:anywhere}.calendar-comment-text{min-height:0}@media (max-width:860px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-cell{min-height:4.5rem}}.week-view{display:grid}.week-allday,.week-body,.week-header{display:grid;grid-template-columns:3.4rem minmax(0,1fr)}.week-head-cols{display:grid}.timeline-columns{position:relative;display:grid}.timeline-bands{position:absolute;inset:0;pointer-events:none}.timeline-free{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;background:rgba(112,141,108,.14);color:#4c5f48;font-size:.7rem;border-top:1px dashed rgba(112,141,108,.4);border-bottom:1px dashed rgba(112,141,108,.4)}.week-header{border-bottom:1px solid var(--line)}.week-day-head{display:grid;grid-gap:1px;gap:1px;justify-items:center;padding:6px 2px;border:0;background:transparent;font:inherit;color:var(--muted);cursor:pointer}.week-day-head span{font-size:.72rem}.week-day-head strong{font-size:1rem;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-day-head--today strong{color:var(--accent)}.week-day-head--selected{background:var(--accent-soft);border-radius:10px}.week-allday{border-bottom:1px solid var(--line);min-height:1.9rem;align-items:start}.week-gutter{min-width:0}.week-gutter--allday{font-size:.7rem;color:var(--muted);padding:4px}.week-allday-col{display:grid;grid-gap:2px;gap:2px;padding:2px;border-left:1px solid var(--line)}.week-allday-chip{border:0;border-radius:6px;background:var(--neutral-line);padding:2px 5px;font:inherit;font-size:.72rem;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-scroll{max-height:min(62vh,34rem);overflow-y:auto}.week-body{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.week-gutter--hours{display:grid}.week-hour-label{height:48px;font-size:.68rem;color:var(--muted);text-align:right;padding-right:5px;transform:translateY(-.55em);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-col{position:relative;border-left:1px solid var(--line);touch-action:pan-y;cursor:crosshair}.week-col--today{background:var(--accent-soft)}.week-hour-line{height:48px;border-top:1px solid var(--line)}.calendar-block{position:absolute;left:2px;right:2px;display:grid;align-content:start;grid-gap:1px;gap:1px;padding:2px 6px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);font-size:.74rem;overflow:hidden;cursor:-webkit-grab;cursor:grab;touch-action:none}.calendar-block strong{font-size:.78rem;overflow-wrap:anywhere}.calendar-block-place,.calendar-block-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-block--preview{background:var(--accent-line);border-style:dashed}.calendar-block--dragging{opacity:.9;box-shadow:var(--shadow);cursor:-webkit-grabbing;cursor:grabbing;z-index:3}.calendar-block-edge{position:absolute;left:0;right:0;height:7px;cursor:ns-resize}.calendar-block-edge--top{top:0}.calendar-block-edge--bottom{bottom:0}.week-now{left:0;right:0;height:2px;pointer-events:none}.week-now,.week-now:before{position:absolute;background:var(--accent)}.week-now:before{content:"";left:-4px;top:-3px;width:8px;height:8px;border-radius:50%}.calendar-view-toggle{display:flex;gap:4px}.calendar-view-toggle .button.is-selected{background:var(--accent-soft);border-color:var(--accent)}.calendar-hint{font-size:.78rem;margin:8px 0 0}.week-day-head--character{color:var(--muted)}.week-day-head--character strong{font-size:.82rem;font-weight:600}.week-day-head:disabled{cursor:default}.week-col-note{position:-webkit-sticky;position:sticky;top:6px;margin:0 4px;padding:3px 6px;border-radius:8px;background:var(--panel-strong);color:var(--muted);font-size:.7rem;text-align:center}.calendar-block--character{background:var(--neutral-soft);border-style:dashed;border-color:var(--neutral-strong);cursor:default}.calendar-block__open{position:absolute;inset:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.calendar-block--character:hover{border-color:var(--accent-line)}.calendar-block__open:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.calendar-block--behind{left:47%;right:2px;z-index:0}.calendar-character-note{font-size:.8rem;margin:0}.calendar-character-day{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.calendar-event--character{background:var(--neutral-soft)}button.calendar-event--character{width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer}button.calendar-event--character:hover{border-color:var(--accent-line)}button.calendar-event--character:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.calendar-block--color-slate{background:#e6eaf2;border-color:#b9c4d8}.calendar-block--color-rose{background:#fbe6ec;border-color:#e5b4c4}.calendar-block--color-amber{background:#fbeed6;border-color:#e2c184}.calendar-block--color-sage{background:#e6f1e4;border-color:#b3cdac}.calendar-block--color-sky{background:#e2f0f6;border-color:#a8c9da}.calendar-block--color-violet{background:#ece7f6;border-color:#bfb2dd}.calendar-block--pattern-stripes{background-image:repeating-linear-gradient(135deg,rgba(43,34,29,.07) 0 5px,transparent 5px 11px)}.calendar-block--pattern-dots{background-image:radial-gradient(rgba(43,34,29,.16) 1.3px,transparent 1.4px);background-size:9px 9px}.calendar-block--pattern-grid{background-image:linear-gradient(rgba(43,34,29,.08) 1px,transparent 0),linear-gradient(90deg,rgba(43,34,29,.08) 1px,transparent 0);background-size:11px 11px}.calendar-block--pattern-diagonal{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.6) 0 4px,transparent 4px 9px)}.calendar-share-toggle{font-weight:600}.calendar-share-hint{font-size:.78rem;color:var(--muted);margin:0 0 4px}.calendar-block--shared{box-shadow:inset 3px 0 0 0 var(--neutral-strong)}.calendar-block-shared{position:absolute;top:1px;right:4px;font-size:.62rem;line-height:1.2;color:var(--muted);pointer-events:none}.calendar-style-row{display:grid;grid-gap:4px;gap:4px}.calendar-style-label{font-size:.8rem;color:var(--muted)}.calendar-swatches{display:flex;flex-wrap:wrap;gap:6px}.calendar-swatch{width:30px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);cursor:pointer}.calendar-swatch--plain{width:44px;font-size:.72rem;color:var(--muted)}.calendar-swatch.is-selected{outline:2px solid var(--accent);outline-offset:1px}.calendar-swatch--slate{background:#e6eaf2;border-color:#b9c4d8}.calendar-swatch--rose{background:#fbe6ec;border-color:#e5b4c4}.calendar-swatch--amber{background:#fbeed6;border-color:#e2c184}.calendar-swatch--sage{background:#e6f1e4;border-color:#b3cdac}.calendar-swatch--sky{background:#e2f0f6;border-color:#a8c9da}.calendar-swatch--violet{background:#ece7f6;border-color:#bfb2dd}.calendar-swatch--pattern-stripes{background-image:repeating-linear-gradient(135deg,rgba(43,34,29,.07) 0 5px,transparent 5px 11px)}.calendar-swatch--pattern-dots{background-image:radial-gradient(rgba(43,34,29,.16) 1.3px,transparent 1.4px);background-size:9px 9px}.calendar-swatch--pattern-grid{background-image:linear-gradient(rgba(43,34,29,.08) 1px,transparent 0),linear-gradient(90deg,rgba(43,34,29,.08) 1px,transparent 0);background-size:11px 11px}.calendar-swatch--pattern-diagonal{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.6) 0 4px,transparent 4px 9px)}.calendar-import{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0;background:var(--panel)}.calendar-import h4{margin:0 0 6px}.calendar-import-text{width:100%;min-height:84px;margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-strong);color:inherit;font:inherit;resize:vertical}.calendar-import-actions{display:flex;gap:8px;margin-top:10px}.calendar-import-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.calendar-import-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:10px}.calendar-import-assumption{font-size:12px;color:var(--warning,#b45309)}.calendar-import-unparsed{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}.calendar-import-unparsed ul{margin:4px 0 0;padding-left:18px}.story-layout{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr)}.story-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);background:var(--chat-veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.story-bar__text{min-width:0}.story-bar h2{margin:0;font-size:1.15rem}.story-bar__scope{margin:2px 0 0;font-size:.78rem}.story-bar__add{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--accent-line);border-radius:999px;background:var(--accent-soft);color:var(--accent-ink-strong);cursor:pointer;font:inherit;font-size:1.3rem;line-height:1}.story-bar__add:hover{background:var(--accent);color:var(--accent-ink)}.story-bar__add:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.story-entries{display:grid;grid-gap:10px;gap:10px;min-width:0}.story-item--expand>summary{display:grid;grid-gap:6px;gap:6px;cursor:pointer;list-style:none}.story-item--expand>summary::-webkit-details-marker{display:none}.story-item--expand>summary .story-item__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.story-item--expand>summary .story-item__meta{margin:0;color:var(--muted)}.story-item--expand[open]>summary{padding-bottom:8px;border-bottom:1px solid var(--line)}.story-rejected summary{cursor:pointer}.profile-area{display:grid;grid-gap:12px;gap:12px;margin:16px 0 4px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong)}.profile-area__summary{display:flex;align-items:center;gap:12px}.profile-area .story-item__title{font-size:15px}.profile-area__identity{display:grid;flex:1 1 auto;grid-gap:2px;gap:2px;min-width:0}.profile-area__name{margin:0;font-size:17px;font-weight:600;word-break:break-word}.profile-area__hint{margin:0;font-size:12px}.persona-editor,.profile-editor{display:grid;grid-gap:12px;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.profile-editor__avatar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-editor__avatar-actions{position:relative;display:flex;gap:8px;flex-wrap:wrap}.profile-editor__file{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.profile-editor__field{display:grid;grid-gap:6px;gap:6px}.profile-editor__field>span{color:var(--muted);font-size:12px}.profile-editor__field input,.profile-editor__field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong);color:var(--text);font:inherit}.profile-editor__field input:focus-visible,.profile-editor__field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.persona-block__scope,.persona-editor__effect,.persona-view__empty,.profile-editor__actions,.profile-editor__note{margin:0;font-size:12px}.persona-block{display:grid;grid-gap:10px;gap:10px;margin:16px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong)}.persona-view{display:grid;grid-gap:4px;gap:4px;margin:0}.persona-view dt{color:var(--muted);font-size:12px}.persona-view dd{margin:0 0 6px;white-space:pre-wrap;word-break:break-word}.panel .settings-group__title{margin:22px 0 10px;font-size:15px}.panel .settings-group__title--quiet{color:var(--muted);font-weight:500}.settings-back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;color:var(--muted);font-size:13px}.settings-group__note{margin:8px 0 0;font-size:12px}.settings-signout{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line)}.story-list--quiet .story-item{border-style:dashed;background:transparent}.story-item--quiet .story-item__title{font-weight:500}.story-item--quiet .story-item__narrative{font-size:12px}.story-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.story-item{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong)}.story-item--button{width:100%;display:grid;grid-gap:6px;gap:6px;text-align:left;font:inherit;color:var(--text);cursor:pointer}.story-item--button:hover{border-color:var(--accent-line)}.story-item--button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a.story-item--button{text-decoration:none}a.story-item--button:active,a.story-item--button:hover{background:var(--accent-soft)}a.story-item--button:active{border-color:var(--accent)}.story-item--button .story-item__title{font-weight:600}.story-item--button .story-item__meta,.story-item--button .story-item__narrative{margin:0}.story-item__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.story-item__title{margin:0;font-size:15px}.story-item__narrative{margin:8px 0 0;white-space:pre-wrap;word-break:break-word}.story-item__meta{margin:8px 0 0;font-size:12px}.story-item__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.story-status{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px;white-space:nowrap}.story-status--processing{color:var(--warning,#b45309);border-color:currentColor}.story-status--extracted{color:var(--success,#15803d);border-color:currentColor}.story-status--failed{color:var(--danger,#b91c1c);border-color:currentColor}.story-event{margin:0;padding:10px 12px;border-left:3px solid var(--line)}.story-event p{margin:4px 0 0}.story-event__quote{white-space:pre-wrap;word-break:break-word}.story-timeline{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.story-timeline__item{padding:12px 14px;border:1px solid var(--line);border-radius:12px}.story-timeline__quote{margin:0;font-size:15px;white-space:pre-wrap;word-break:break-word}.story-timeline__meta{margin:8px 0 0;font-size:12px}.chat-drawer{position:fixed;inset:0;z-index:55;display:flex;justify-content:center;background:var(--chat-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chat-drawer__sheet{width:min(100%,560px);max-height:100%;min-height:0;display:flex;flex-direction:column;background:var(--chat-surface)}.chat-drawer__bar{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid var(--chat-line);background:var(--chat-card)}.chat-drawer__bar h3{margin:0;font-size:.95rem;text-align:center}.chat-drawer__back{padding:7px 12px;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-card-strong);color:var(--chat-ink)}.chat-drawer__add,.chat-drawer__back{min-height:36px;cursor:pointer;font:inherit;font-size:14px;font-weight:600}.chat-drawer__add{min-width:40px;display:inline-flex;align-items:center;justify-content:center;padding:7px 14px;border:0;border-radius:999px;background:var(--chat-selected-bg);color:var(--chat-selected-ink)}.chat-drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px calc(20px + env(safe-area-inset-bottom))}.chat-experience{display:grid;grid-gap:10px;gap:10px;margin-top:0}.chat-experience__count{margin:0;font-size:.82rem}.chat-experience__rejected{font-size:.85rem}.chat-experience__rejected summary{cursor:pointer}.chat-experience__detail{display:grid;grid-gap:8px;gap:8px}.chat-experience__title{margin:0;font-size:1rem}.chat-experience__meta,.chat-experience__status{margin:0;font-size:.82rem}.chat-experience__status{color:var(--chat-ink)}.chat-experience__text{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.7}.chat-experience__actions{display:flex;gap:8px;flex-wrap:wrap}@media (max-width:720px){.shell{padding:12px 12px 28px}.shell main{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.topbar{margin-bottom:12px;align-items:center}.shell:has(.chat-layout) .topbar{margin-bottom:0}.nav{position:fixed;z-index:50;left:0;right:0;bottom:0;gap:0;padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--chat-line);background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shell[data-palette] .nav{background:var(--chat-nav-veil)}.nav a{flex:1 1;min-width:0;flex-direction:column;gap:1px;padding:3px 4px;border:0;border-radius:14px;background:transparent;box-shadow:none;color:var(--chat-muted);font-size:12px;line-height:1.1;text-align:center}.nav a svg{width:18px;height:18px}.nav a[aria-current=page]{background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong);box-shadow:inset 0 0 0 2px var(--chat-accent)}.nav-logout{flex:0 0 auto;padding:10px 8px;border:0;background:transparent;color:var(--chat-muted);font-size:13px;line-height:1.25}.chat-layout{min-height:calc(100dvh - var(--mobile-nav-height) - 150px)}.chat-window{padding-bottom:calc(var(--chat-composer-height) + var(--mobile-nav-height) + 12px)}.chat-window__header{padding-top:6px}.chat-window__messages{padding:12px 0 14px}.message{gap:6px}.message__bubble-stack{max-width:78%}.chat-window__composer{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));width:calc(100% - 20px);padding:16px 0 8px}.composer-shell{gap:6px;padding:8px 10px;border-radius:20px}.composer-textarea{min-height:40px}.composer-shell--chat .media-composer__actions{gap:8px}.composer-shell--chat .media-action{padding:6px 10px;border-radius:999px;background:var(--chat-accent-soft);color:var(--chat-accent-ink-strong);font-size:13px}.composer-shell--chat .media-action__icon{width:18px;height:18px;border:0;font-size:.95rem}.composer-shell--chat .media-action--recording{background:var(--chat-alert-soft);color:var(--chat-alert-ink)}.chat-menu__panel,.chat-universe-selector__menu{width:min(300px,calc(100vw - 24px))}.chat-drawer__sheet{width:100%}}@media (min-width:721px){.chat-drawer__sheet{max-height:calc(100% - 64px);margin:32px 0;border-radius:22px;box-shadow:0 24px 60px var(--chat-overlay)}}.settings-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.profile-card{display:flex;align-items:center;gap:12px;margin:0;color:var(--text);text-decoration:none}.profile-card:hover{border-color:var(--accent-line);background:var(--accent-soft)}.profile-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.profile-card__identity{display:grid;flex:1 1 auto;grid-gap:2px;gap:2px;min-width:0}.profile-card__name{font-size:17px;font-weight:600;word-break:break-word}.profile-card__signature{margin:0;font-size:12px;word-break:break-word}.settings-drawer__trigger{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel-strong);color:var(--text);cursor:pointer;font:inherit;font-size:14px;font-weight:600}.settings-drawer__trigger:hover{border-color:var(--accent-line);background:var(--accent-soft)}.settings-drawer__close:focus-visible,.settings-drawer__trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.settings-drawer{position:fixed;inset:0;z-index:56;display:flex;justify-content:flex-start;background:var(--overlay)}.settings-drawer__sheet{width:min(86vw,320px);max-width:100%;height:100%;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow);animation:settings-drawer-in .16s ease-out}@keyframes settings-drawer-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.settings-drawer__sheet{animation:none}}.settings-drawer__bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid var(--line)}.settings-drawer__bar h3{margin:0;font-size:15px}.settings-drawer__close{min-height:36px;min-width:40px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit;font-size:14px;font-weight:600}.settings-drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px calc(20px + env(safe-area-inset-bottom))}.settings-drawer .settings-group__title{margin:18px 0 8px;font-size:14px}.settings-drawer__group:first-child .settings-group__title{margin-top:0}.settings-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:8px 14px;color:var(--text);text-decoration:none}.settings-row .settings-row__text{gap:2px}.settings-row .story-item__narrative{margin-top:4px;font-size:13px;line-height:1.5}.settings-row__chevron,.settings-row__icon{display:inline-flex;align-items:center;justify-content:center;height:24px;color:var(--muted);font-size:16px;line-height:1}.settings-row__icon{width:18px;flex:0 0 auto}.settings-row__icon--chip{width:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink-strong);font-size:12px;font-weight:600}.settings-row__text{display:grid;grid-gap:4px;gap:4px;min-width:0;padding-right:6px}.settings-row__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.settings-planned-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px dashed var(--line);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}.settings-planned__line{margin:6px 0 0}.settings-planned{display:grid;grid-gap:8px;gap:8px;margin:16px 0 4px;padding:14px;border:1px dashed var(--line);border-radius:16px;background:var(--panel-strong)}.settings-planned p{margin:0}