@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fraunces_4ba4aa;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_Fallback_4ba4aa;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_4ba4aa{font-family:__Fraunces_4ba4aa,__Fraunces_Fallback_4ba4aa;font-style:normal}.__variable_4ba4aa{--font-fraunces:"__Fraunces_4ba4aa","__Fraunces_Fallback_4ba4aa"}:root{--bg:#f6f1e7;--surface:#fffdf9;--surface-2:#efe6d6;--sidebar-bg:#f1e9da;--ink:#2b2420;--ink-soft:#7a6f60;--line:#e6dcc8;--accent:#b1512f;--accent-strong:#96401f;--accent-ink:#fff;--gold:#b3901f;--gold-soft:#f3e7c4;--user-bubble:#f3e8cf;--assistant-bubble:var(--surface);--danger:#b3412b;--danger-bg:#fbeae5;--danger-line:#f0cabb;--success:#3f7d4e;--shadow-sm:0 1px 2px rgba(43,36,26,.06);--shadow-md:0 8px 28px rgba(43,36,26,.08);--shadow-lg:0 18px 48px rgba(43,36,26,.12);--radius:14px;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:var(--font-fraunces,"Iowan Old Style"),"Palatino Linotype",Palatino,Georgia,"Times New Roman",serif}:root[data-theme=dark]{--bg:#17140f;--surface:#242019;--surface-2:#2d2820;--sidebar-bg:#1c1811;--ink:#f2ece0;--ink-soft:#b3a793;--line:#3a3226;--accent:#e08a5c;--accent-strong:#ec9d6f;--accent-ink:#241608;--gold:#d9b84a;--gold-soft:rgba(217,184,74,.14);--user-bubble:#33291d;--assistant-bubble:var(--surface);--danger:#e0684a;--danger-bg:#3a2019;--danger-line:#5c2f22;--success:#7dcb8f;--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 10px 30px rgba(0,0,0,.4);--shadow-lg:0 22px 54px rgba(0,0,0,.5)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;width:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}button{font-family:inherit;cursor:pointer}a{color:var(--accent)}.theme-toggle{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);display:inline-grid;place-items:center;font-size:15px;flex-shrink:0;transition:background .15s,border-color .15s,transform .15s}.theme-toggle:hover{background:var(--surface-2);border-color:var(--gold);transform:rotate(-8deg)}.theme-toggle.corner{position:absolute;top:22px;right:22px}.auth-wrap{position:relative;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--gold-soft),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:38px 34px;box-shadow:var(--shadow-lg)}.auth-logo{width:44px;height:44px;border-radius:13px;background:linear-gradient(155deg,var(--accent),var(--accent-strong));display:grid;place-items:center;color:var(--accent-ink);font-size:23px;margin-bottom:20px;box-shadow:var(--shadow-md)}.auth-card h1,.auth-logo{font-family:var(--font-display);font-weight:600}.auth-card h1{font-size:26px;margin:0 0 4px;letter-spacing:-.01em}.auth-card p.sub{margin:0 0 26px;color:var(--ink-soft);font-size:14px}.field{margin-bottom:15px}.field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:15px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-soft)}.btn{width:100%;padding:13px 16px;border:none;border-radius:10px;background:linear-gradient(155deg,var(--accent),var(--accent-strong));color:var(--accent-ink);font-size:15px;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow-sm);transition:filter .15s,opacity .15s,transform .15s,box-shadow .15s}.btn:hover{filter:brightness(1.06);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.btn-ghost:hover{background:var(--surface-2);filter:none}.err{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line);border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:14px}.hint{margin-top:20px;font-size:12px;color:var(--ink-soft);text-align:center}.app-shell{display:flex;width:100%;height:100dvh;overflow:hidden;background:var(--bg)}.sidebar{width:272px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--sidebar-bg)}.sidebar-head{padding:18px 20px;border-bottom:1px solid var(--line)}.new-chat-btn{margin:16px 16px 6px;padding:11px 15px;border-radius:11px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-size:13.5px;font-weight:600;text-align:left;transition:background .15s,box-shadow .15s}.new-chat-btn:hover{background:var(--gold-soft);box-shadow:var(--shadow-sm)}.convo-list{flex:1 1;overflow-y:auto;padding:6px 12px 14px}.convo-item{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 12px;border-radius:10px;font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;transition:background .15s}.convo-item:hover{background:var(--surface-2)}.convo-item.active{background:var(--gold-soft);color:var(--accent-strong);font-weight:600}.convo-empty{color:var(--ink-soft);font-size:13px;padding:4px 12px}.usage{padding:12px 18px 16px;border-top:1px solid var(--line)}.usage-label{font-size:11px;color:var(--ink-soft);margin-bottom:6px}.usage-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.usage-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:999px;transition:width .3s ease}.usage-fill.over{background:var(--danger)}.usage-warn{font-size:11px;color:var(--danger);margin-top:5px}.usage-row{padding:10px 0;border-bottom:1px solid var(--line)}.usage-row:last-child{border-bottom:none}.usage-row .top-line{margin-bottom:6px}.usage-row .name{font-weight:600;font-size:13.5px}.sidebar-overlay{position:fixed;inset:0;background:rgba(15,12,8,.45);z-index:15}.menu-btn{background:none;border:none;font-size:18px;padding:6px 9px;border-radius:7px;color:var(--ink-soft)}.menu-btn:hover{background:var(--surface-2);color:var(--ink)}@media (min-width:761px){.menu-btn,.sidebar-overlay{display:none}}@media (max-width:760px){.sidebar{position:fixed;top:0;left:0;height:100dvh;width:272px;max-width:82vw;transform:translateX(-100%);transition:transform .2s ease;z-index:20;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translateX(0)}}.shell{display:flex;flex-direction:column;flex:1 1;height:100%;min-width:0;background:var(--bg)}.topbar{flex-wrap:wrap;row-gap:6px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--surface)}.brand,.topbar{display:flex;align-items:center;gap:10px}.brand{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em}.brand .mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(155deg,var(--accent),var(--accent-strong));color:var(--accent-ink);display:grid;place-items:center;font-size:15px;box-shadow:var(--shadow-sm)}.spacer{flex:1 1}.pill{font-size:12px;color:var(--ink-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.topbar a,.topbar button.link{font-size:13px;color:var(--ink-soft);text-decoration:none;background:none;border:none;padding:7px 9px;border-radius:8px;transition:background .15s,color .15s}.topbar a:hover,.topbar button.link:hover{background:var(--surface-2);color:var(--ink)}.messages{flex:1 1;overflow-y:auto;padding:32px 0 16px}.thread{max-width:min(900px,94%);margin:0 auto;padding:0 clamp(20px,4vw,48px)}.msg{display:flex;gap:12px;padding:12px 0;align-items:flex-start}.msg.user{flex-direction:row-reverse}.avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm)}.avatar.ai{background:linear-gradient(155deg,var(--accent),var(--accent-strong));color:var(--accent-ink)}.avatar.user{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line)}.msg .body{max-width:74%;padding:12px 16px;border-radius:16px;background:var(--assistant-bubble);border:1px solid var(--line);box-shadow:var(--shadow-sm);white-space:pre-wrap;word-wrap:break-word;min-width:0}.msg.assistant .body{border-bottom-left-radius:4px;white-space:normal}.msg.user .body{background:var(--user-bubble);border-color:transparent;border-bottom-right-radius:4px}.msg .role{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:4px}.msg.user .role{text-align:right}.cursor{display:inline-block;width:7px;height:15px;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.empty{max-width:min(900px,94%);margin:10vh auto 0;text-align:center;padding:0 clamp(20px,4vw,48px)}.empty h2{font-family:var(--font-display);font-weight:600;font-size:32px;letter-spacing:-.02em;margin:0 0 8px}.empty p{color:var(--ink-soft);margin:0}.composer-wrap{border-top:1px solid var(--line);background:var(--surface);padding:16px 0 20px}.composer{max-width:min(900px,94%);margin:0 auto;padding:0 clamp(20px,4vw,48px)}.composer-box{display:flex;align-items:flex-end;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:11px 11px 11px 18px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--gold-soft)}.composer textarea{flex:1 1;border:none;outline:none;resize:none;background:transparent;font-family:inherit;font-size:15px;line-height:1.5;max-height:180px;color:var(--ink)}.send{width:38px;height:38px;border-radius:11px;border:none;background:linear-gradient(155deg,var(--accent),var(--accent-strong));color:var(--accent-ink);display:grid;place-items:center;flex-shrink:0;transition:transform .15s,filter .15s}.send:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.send:disabled{background:var(--surface-2);color:var(--ink-soft);cursor:not-allowed}.composer .foot{text-align:center;font-size:11px;color:var(--ink-soft);margin-top:9px}.admin-page{max-width:720px;margin:0 auto;padding:40px 20px 60px;min-height:100%;background:var(--bg)}.admin-page h1{font-family:var(--font-display);font-weight:600;font-size:28px;letter-spacing:-.01em;margin:0 0 4px}.admin-page .lead{color:var(--ink-soft);margin:0 0 28px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.card h3{margin:0 0 14px;font-size:15px;font-family:var(--font-display);font-weight:600}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:4px}.provider-opt{border:1.5px solid var(--line);border-radius:12px;padding:14px 12px;text-align:center;background:var(--bg);transition:border-color .15s,background .15s,box-shadow .15s}.provider-opt.active{border-color:var(--accent);background:var(--gold-soft);box-shadow:var(--shadow-sm)}.provider-opt .name{font-weight:600;font-size:14px}.provider-opt .status{font-size:11px;margin-top:4px}.status.ok{color:var(--success)}.status.missing{color:var(--danger)}.saved{font-size:13px;color:var(--success)}.provider-select{padding:7px 11px;border:1px solid var(--line);border-radius:9px;font-size:12.5px;background:var(--bg);color:var(--ink);font-family:inherit}@media (max-width:560px){.provider-grid{grid-template-columns:1fr}}.user-row{padding:12px 0;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:none}.user-row .line1{gap:10px;margin-bottom:8px}.user-row .line1,.user-row .line2{display:flex;align-items:center;flex-wrap:wrap}.user-row .line2{gap:8px}.limit-input{width:96px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;background:var(--bg);color:var(--ink);font-family:inherit}.password-mini{display:inline-flex;align-items:center;gap:6px}.password-mini input{width:130px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;background:var(--bg);color:var(--ink);font-family:inherit}.modal-overlay{position:fixed;inset:0;background:rgba(15,12,8,.5);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px;box-shadow:var(--shadow-lg)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:18px}.modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--ink-soft);padding:4px 8px;border-radius:8px}.modal-close:hover{background:var(--surface-2);color:var(--ink)}.ok-msg{background:rgba(63,125,78,.12);color:var(--success);border:1px solid rgba(63,125,78,.3);border-radius:9px;padding:9px 12px;font-size:13px;margin-bottom:14px}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md h1,.md h2,.md h3{font-family:var(--font-display);font-weight:600;line-height:1.3;margin:16px 0 8px}.md h1{font-size:1.35em}.md h2{font-size:1.2em}.md h3{font-size:1.08em}.md ol,.md ul{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md strong{font-weight:700}.md blockquote{margin:0 0 10px;padding:2px 14px;border-left:3px solid var(--gold);color:var(--ink-soft)}.md code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.87em;background:var(--surface-2);padding:2px 6px;border-radius:5px;word-break:break-word}.md pre{margin:0 0 12px;padding:14px 16px;border-radius:12px;background:var(--bg);border:1px solid var(--line);overflow-x:auto;max-width:100%}.md pre code{background:none;padding:0;border-radius:0;font-size:.85em;line-height:1.5;white-space:pre}.md table{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:.92em;display:block;overflow-x:auto}.md td,.md th{border:1px solid var(--line);padding:6px 10px;text-align:left}.copy-btn,.md th{background:var(--surface-2)}.copy-btn{display:inline-block;margin-top:8px;font-size:11px;padding:4px 10px;border-radius:7px;border:1px solid var(--line);color:var(--ink-soft);transition:background .15s,color .15s}.copy-btn:hover{background:var(--gold-soft);color:var(--accent-strong)}@media (max-width:480px){.topbar{padding:10px 14px}.composer,.empty,.thread{padding-left:14px;padding-right:14px}.msg .body{max-width:88%}.auth-card{padding:28px 22px}.modal-card{padding:22px 20px 24px}}