@layer base{:root,:root[data-theme=paper]{--ground:#f6f1e7;--surface:#efe8da;--line:#ddd3c1;--ink:#2b2520;--muted:#6e6457;--her:#8a4b3c;--mine:#e9e0cf;--story:#9a4521;--heart:#a6455a;--focus:#9a4521;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme]){--ground:#12161d;--surface:#181e27;--line:#2a323e;--ink:#e8e6e1;--muted:#98a0ab;--her:#e6b980;--mine:#1f2733;--story:#e6b06a;--heart:#e8907a;--focus:#e6b06a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=ink]{--ground:#12161d;--surface:#181e27;--line:#2a323e;--ink:#e8e6e1;--muted:#98a0ab;--her:#e6b980;--mine:#1f2733;--story:#e6b06a;--heart:#e8907a;--focus:#e6b06a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=rain]{--ground:#eef1f0;--surface:#e3e8e6;--line:#cbd3d0;--ink:#1f2a2b;--muted:#5d6a6b;--her:#3d6b5e;--mine:#dbe3e0;--story:#2f6550;--heart:#a3506a;--focus:#2f6550;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=blossom]{--ground:#f8f0f0;--surface:#f1e5e6;--line:#e0cdd0;--ink:#2e2226;--muted:#6d5960;--her:#8a3d56;--mine:#ecdce0;--story:#9b3557;--heart:#a2442c;--focus:#9b3557;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=forest]{--ground:#101813;--surface:#16211a;--line:#27372c;--ink:#e4ebe5;--muted:#93a598;--her:#dcc68c;--mine:#1d2b22;--story:#93cf9c;--heart:#ec9580;--focus:#93cf9c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dusk]{--ground:#18131f;--surface:#201a29;--line:#352b42;--ink:#ece6f0;--muted:#a59bb1;--her:#f0b68e;--mine:#2a2236;--story:#c8a4f0;--heart:#f08ca2;--focus:#c8a4f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--sans:"Be Vietnam Pro", system-ui, sans-serif, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC";--serif:"Literata", Georgia, serif, "Songti SC", "Noto Serif CJK SC", "Noto Sans CJK SC";--mono:ui-monospace, SFMono-Regular, Menlo, "JetBrains Mono", monospace;--text-1:11px;--text-2:12px;--text-3:12.5px;--text-4:13px;--text-5:13.5px;--text-6:14px;--text-7:15px;--text-8:16px;--text-9:17px;--text-10:18px;--text-11:19px;--text-12:20px;--text-13:22px;--text-14:24px;--text-15:26px;--text-16:29px;--text-17:32px;--text-18:34px;--text-19:40px;--radius-1:2px;--radius-2:3px;--radius-3:4px;--radius-4:5px;--radius-5:6px;--radius-6:8px;--radius-7:10px;--radius-8:12px;--radius-9:14px;--radius-10:16px;--radius-11:19px;--radius-pill:99px;--on-scrim:#fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:var(--text-10)}.serif{font-family:var(--serif)}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}a{color:var(--story)}.btn{border:1px solid var(--line);border-radius:var(--radius-7);min-height:40px;font-size:var(--text-8);background:0 0;padding:0 14px}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--story);color:var(--ground);border-color:var(--story);font-weight:600}.btn.quiet{color:var(--muted);border-color:#0000}.icon{border-radius:var(--radius-7);width:40px;height:40px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon:hover{background:var(--surface);color:var(--ink)}.icon.on{color:var(--story)}.eyebrow{font-size:var(--text-4);letter-spacing:.14em;text-transform:uppercase;color:var(--story)}.muted{color:var(--muted)}.titles{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.titles .t{font-family:var(--serif);font-size:var(--text-14);font-weight:600}.titles .s{font-size:var(--text-6);color:var(--muted)}#log{font-family:var(--serif);font-size:var(--text-12);line-height:1.65}.msg,.opening{flex-direction:column;display:flex;position:relative}.msg .who,.opening .who{font-family:var(--sans);font-size:var(--text-6);color:var(--muted);margin-bottom:4px}.msg.her .who,.opening .who{color:var(--her)}.msg .body p,.opening .body p{margin:0 0 .6em}.msg .body p:last-child,.opening .body p:last-child{margin-bottom:0}.msg .body i,.opening .body i{color:var(--muted)}.msg.me{align-self:flex-end;max-width:82%}.msg.me .who{text-align:right}.msg.me .body{background:var(--mine);border-radius:var(--radius-9) var(--radius-9) var(--radius-3) var(--radius-9);padding:10px 16px}.msg.typing .body{color:var(--muted);font-style:italic}.msg .acts{opacity:0;font-family:var(--sans);gap:4px;transition:opacity .12s;display:flex;position:absolute;top:-6px}.msg.me .acts{left:-4px;transform:translate(-100%)}.msg.her .acts{right:0}.msg:hover .acts,.msg:focus-within .acts{opacity:1}.acts button{font-size:var(--text-6);border:1px solid var(--line);background:var(--ground);color:var(--muted);border-radius:var(--radius-6);white-space:nowrap;padding:3px 8px}.acts button:hover{color:var(--ink);border-color:var(--muted)}.failed{font-family:var(--sans);font-size:var(--text-8);color:var(--heart);align-self:flex-end;align-items:center;gap:8px;display:flex}.row .col{flex-direction:column;min-width:0;display:flex}.row .who{order:-1}.row.me .bubble{white-space:pre-wrap;word-break:break-word}.row.them .bubble{word-break:break-word}.bubble.typing{color:var(--muted);font-style:italic}.row.failed .bubble{border:1px solid var(--heart);color:var(--heart);background:0 0}.row.failed .who{color:var(--heart)}.row.failed .acts{opacity:1}.line{font-family:var(--sans);font-size:var(--text-8);color:var(--muted)}details.think,details.recall{font-family:var(--sans);font-size:var(--text-8);color:var(--muted);margin-bottom:6px}details.think summary,details.recall summary{cursor:pointer;list-style:none}details.think summary::-webkit-details-marker{display:none}details.recall summary::-webkit-details-marker{display:none}details.think summary:before,details.recall summary:before{content:"▸ "}details[open].think summary:before,details[open].recall summary:before{content:"▾ "}details.think.live summary{font-style:italic}details.think .tb,details.think .thinkbody{white-space:pre-wrap;border-left:2px solid var(--line);max-height:260px;font-family:var(--serif);font-size:var(--text-9);margin-top:6px;padding:6px 12px;overflow-y:auto}.divider{font-family:var(--sans);font-size:var(--text-8);color:var(--story);align-items:center;gap:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--story);opacity:.45;flex:1;height:1px}.fold{font-size:var(--text-6);color:var(--muted);font-family:var(--sans);background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.fold:before,.fold:after{content:"";border-top:1px dotted var(--line);flex:1}.fold u{color:var(--ink)}.compose{align-items:flex-end;gap:10px;width:100%;max-width:92%;display:flex}.compose textarea{font-family:var(--serif);font-size:var(--text-11);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-8);resize:none;flex:1;max-height:220px;padding:11px 14px}.compose .send{border-radius:var(--radius-8);min-height:46px;padding:0 22px}.compose .send.stop{background:var(--heart);border-color:var(--heart)}.meter{width:100%;max-width:92%;font-size:var(--text-6);color:var(--muted);align-items:center;gap:12px;display:flex}.meter .track{border-radius:var(--radius-1);background:var(--line);flex:1;height:4px;position:relative}.meter .fill{border-radius:var(--radius-1);background:var(--muted);position:absolute;top:0;bottom:0;left:0}.meter .high{background:var(--story);width:2px;height:10px;position:absolute;top:-3px}.meter.tight .fill{background:var(--story)}.meter.over .fill{background:var(--heart)}.meter .used{color:var(--ink);font-variant-numeric:tabular-nums}.meter b{color:var(--ink);font-weight:600}@media (width<=600px){.meter{flex-wrap:wrap;row-gap:4px}.meter>span:first-child{display:none}.meter .track{flex:1 0 100%}.meter .left{white-space:nowrap}}.scrim{z-index:10;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dlg{background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-10);flex-direction:column;gap:14px;width:100%;max-width:min(90vw,760px);max-height:92vh;padding:22px 24px;display:flex;overflow-y:auto}.dlg.wide{max-width:min(90vw,1400px)}.dlg h2{font-family:var(--serif);font-size:var(--text-15);margin:0;font-weight:600}.dlg .head{align-items:center;gap:12px;display:flex}.dlg .head h2{flex:1}.dlg .foot{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.dlg .fine,.dlg .note{font-size:var(--text-7);color:var(--muted);line-height:1.5}.confirm ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.confirm li{gap:12px;line-height:1.45;display:flex}.confirm li .k{text-align:center;width:18px;color:var(--story);flex:none}.confirm li.warn .k,.confirm li.warn{color:var(--heart)}.set-group{flex-direction:column;gap:14px;display:flex}.set-group h3{margin:6px 0 0}.set{align-items:flex-start;gap:14px;display:flex}.set .k{flex:1}.set .k b{font-weight:500;display:block}.set .k span{font-size:var(--text-6);color:var(--muted)}.set .v{text-align:right;flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;max-width:55%;display:flex}.set .v.locked{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.set .v.locked:before{content:"";background:currentColor;flex:none;width:16px;height:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='4' y='9' width='12' height='8' rx='2'/%3E%3Cpath d='M7 9V6.5a3 3 0 0 1 6 0V9'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='4' y='9' width='12' height='8' rx='2'/%3E%3Cpath d='M7 9V6.5a3 3 0 0 1 6 0V9'/%3E%3C/svg%3E") 50%/contain no-repeat}.set input[type=checkbox]{width:20px;height:20px;accent-color:var(--story);cursor:pointer;margin:2px 0 0}.set input[type=range]{accent-color:var(--story)}.set select,.set input[type=text],.set input[type=number]{font:inherit;font-size:var(--text-8);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-6);max-width:100%;padding:6px 8px}.set input[type=number]{width:90px}.swatches{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.swatches button{border:1px solid var(--line);border-radius:var(--radius-6);font-size:var(--text-8);background:0 0;padding:5px 10px}.swatches button[aria-pressed=true]{border-color:var(--ink);background:var(--surface);font-weight:600}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:18px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 0}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--story)}#confirminput{font:inherit;font-size:var(--text-9);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-6);padding:8px 10px}:root{interpolate-size:allow-keywords}.btn,.icon,.acts button,.sess,.sess .acts button,#moderail .rail-item,.tabs button,.swatches button,#newchars button,#library .chips button,.entry,.copy,.fold u{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out,scale 80ms ease-out}.btn:active:not(:disabled),.icon:active:not(:disabled){scale:.97}details.think::details-content{block-size:0;transition:block-size .18s ease-out, content-visibility .18s allow-discrete;overflow-y:clip}details.recall::details-content{block-size:0;transition:block-size .18s ease-out, content-visibility .18s allow-discrete;overflow-y:clip}details[open].think::details-content{block-size:auto}details[open].recall::details-content{block-size:auto}@media (prefers-reduced-motion:reduce){.btn,.icon,.acts button,.sess,.sess .acts button,#moderail .rail-item,.tabs button,.swatches button,#newchars button,#library .chips button,.entry,.copy,.fold u{transition:none}details.think::details-content{transition:none}details.recall::details-content{transition:none}.btn:active:not(:disabled),.icon:active:not(:disabled){scale:none}}}@layer page;
