:root{--bg:#f6f4ef;--bg-elev:#fff;--ink:#2a2622;--ink-soft:#6b6258;--ink-faint:#8a8178;--ember:#d9772b;--ember-deep:#c76a24;--accent-action:#d9772b;--accent-action-hover:#c76a24;--accent-nav:#2e86d6;--accent-nav-hover:#1f6fbf;--accent-nav-soft:#bfd9f2;--line:#e7e2d8;--bubble-user:#f1eee7;--bubble-jimmy:#fff;--radius:16px;--serif:"Fraunces","Newsreader",ui-serif,Georgia,serif;--body:"Newsreader",-apple-system,"Hiragino Sans","Yu Gothic","Microsoft YaHei","Noto Sans Arabic",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:radial-gradient(1200px 600px at 70% -10%,rgba(217,119,43,.06),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(46,134,214,.05),transparent 55%),var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}.wrap{position:relative;z-index:1;max-width:820px;margin:0 auto;min-height:100dvh;flex-direction:column;padding:0 20px}.head,.wrap{display:flex}.head{align-items:baseline;gap:14px;padding:28px 4px 18px;border-bottom:1px solid var(--line)}.mark{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:-.01em}.mark .dot{color:var(--ember)}.tag{color:var(--ink-soft);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase}.beta,.tag{font-family:var(--body)}.beta{font-size:12px;font-weight:600;color:var(--ember);letter-spacing:.02em;white-space:nowrap}.gate-beta{font-size:14px;margin-top:-10px}.langbar{margin-left:auto;display:flex;gap:2px}.langbar button{background:none;border:none;color:var(--ink-soft);font-family:var(--body);font-size:13.5px;cursor:pointer;padding:5px 9px;border-radius:9px;transition:color .15s,background .15s}.langbar button:hover{color:var(--ink)}.langbar button.on{color:#fff;background:var(--accent-nav)}.gate{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding-bottom:12vh;animation:rise .6s cubic-bezier(.2,.7,.2,1) both}.gate h1{font-family:var(--serif);font-weight:600;font-size:clamp(46px,9vw,78px);letter-spacing:-.02em;line-height:1}.gate h1 .dot{color:var(--ember)}.gate p{color:var(--ink-soft)}.gate .form{display:flex;flex-direction:column;gap:10px;margin-top:6px;width:300px;max-width:86vw}.gate input{background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:13px 16px;font-size:16px;font-family:var(--body);width:100%;outline:none;transition:border-color .15s}.gate input:focus{border-color:var(--accent-nav)}.gate .form .primary{width:100%}.gate .err{color:#c0392b;font-size:14px;min-height:18px}.gate .disclaimer{color:var(--ink-soft);font-size:13.5px;line-height:1.6;max-width:420px;text-align:center}button.primary{background:var(--accent-action);color:#fff;border:none;border-radius:12px;padding:13px 22px;font-size:16px;font-weight:600;font-family:var(--body);cursor:pointer;transition:transform .12s,background .15s}button.primary:hover{background:var(--accent-action-hover);color:#fff}button.primary:active{transform:translateY(1px)}button.primary:disabled{opacity:.5;cursor:default}.feed{flex:1 1;min-height:0;overflow-y:auto;padding:26px 2px 12px;display:flex;flex-direction:column;gap:18px}.msg{max-width:86%;padding:14px 18px;border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;animation:rise .4s ease both}.msg.user{align-self:flex-end;background:var(--bubble-user);border:1px solid var(--line);border-bottom-right-radius:5px}.msg.jimmy{background:var(--bubble-jimmy);border:1px solid var(--line);border-left:2px solid var(--ember)}.msg.jimmy,[dir=rtl] .msg.user{align-self:flex-start;border-bottom-left-radius:5px}[dir=rtl] .msg.user{border-bottom-right-radius:var(--radius)}[dir=rtl] .msg.jimmy{align-self:flex-end;border-left:1px solid var(--line);border-right:2px solid var(--ember)}.cursor{display:inline-block;width:8px;height:1.05em;vertical-align:-2px;background:var(--ember);margin-left:2px;animation:blink 1s steps(2) infinite}.composer{display:flex;gap:10px;align-items:flex-end;padding:14px 0 26px;border-top:1px solid var(--line)}.composer textarea{flex:1 1;resize:none;background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:14px 16px;font-size:16px;font-family:var(--body);line-height:1.5;max-height:160px;outline:none;transition:border-color .15s}.composer textarea:focus{border-color:var(--accent-nav)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}.subbar{justify-content:space-between;padding:10px 2px 0}.subbar,.subbar-left{display:flex;align-items:center}.subbar-left{gap:10px}.ghost{background:none;border:1px solid var(--line);color:var(--ink-soft);font-family:var(--body);font-size:13px;cursor:pointer;padding:6px 12px;border-radius:9px;transition:border-color .15s,color .15s}.ghost:hover{border-color:var(--ink-faint);color:var(--ink)}.ghost:disabled{opacity:.45;cursor:default}.navtab{background:none;border:1px solid var(--accent-nav-soft);color:var(--ink-soft);font-family:var(--body);font-size:13px;cursor:pointer;padding:6px 12px;border-radius:9px;transition:border-color .15s,color .15s,background .15s}.navtab:hover{color:var(--accent-nav)}.navtab.on,.navtab:hover{border-color:var(--accent-nav)}.navtab.on{background:var(--accent-nav);color:#fff}.navtab.on:hover{background:var(--accent-nav-hover);border-color:var(--accent-nav-hover);color:#fff}.navtab:disabled{opacity:.55;cursor:default}.msg.jimmy{white-space:normal}.msg.jimmy>:first-child{margin-top:0}.msg.jimmy>:last-child{margin-bottom:0}.msg.jimmy p{margin:0 0 10px}.msg.jimmy ol,.msg.jimmy ul{margin:0 0 10px;-webkit-padding-start:22px;padding-inline-start:22px}.msg.jimmy li{margin:3px 0}.msg.jimmy li>p{margin:0}.msg.jimmy strong{font-weight:600;color:var(--ink)}.msg.jimmy em{font-style:italic}.msg.jimmy a{color:var(--accent-nav);text-decoration:underline}.msg.jimmy code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--bg-elev);border:1px solid var(--line);border-radius:6px;padding:1px 5px}.msg.jimmy pre{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;margin:0 0 10px}.msg.jimmy pre code{background:none;border:none;padding:0}.msg.jimmy blockquote{-webkit-border-start:2px solid var(--line);border-inline-start:2px solid var(--line);-webkit-padding-start:12px;padding-inline-start:12px;color:var(--ink-soft);margin:0 0 10px}.msg.jimmy h1,.msg.jimmy h2,.msg.jimmy h3{font-family:var(--serif);font-weight:600;line-height:1.25;margin:4px 0 8px}.msg.jimmy .cursor{vertical-align:-2px}.msg.error{color:var(--ink-soft)}.retry{display:block;margin-top:10px;background:none;border:1px solid var(--ember);color:var(--ember);font-family:var(--body);font-size:13px;cursor:pointer;padding:6px 14px;border-radius:9px;transition:background .15s,color .15s}.retry:hover{background:var(--accent-action);color:#fff}.disclaimer.foot{color:var(--ink-soft);font-size:12.5px;line-height:1.55;border-top:1px solid var(--line);padding:12px 2px 22px}button.oauth{width:100%;background:var(--bg-elev);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 18px;font-size:15px;font-family:var(--body);cursor:pointer;transition:border-color .15s,color .15s}button.oauth:hover{border-color:var(--accent-nav)}button.oauth:disabled{opacity:.5;cursor:default}.pwwrap{position:relative;width:100%}.pwwrap input{width:100%;-webkit-padding-end:46px;padding-inline-end:46px}.pwtoggle{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink-faint);cursor:pointer;padding:6px;display:flex;align-items:center;border-radius:8px;transition:color .15s}.pwtoggle:hover{color:var(--ink-soft)}.gatelinks{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}a.link,button.link{background:none;border:none;color:var(--ink-faint);font-family:var(--body);font-size:13.5px;cursor:pointer;padding:4px 2px;text-decoration:none;transition:color .15s}a.link:hover,button.link:hover{color:var(--accent-nav)}.notice{color:var(--ink-soft);font-size:14px;max-width:360px;line-height:1.5}.notice.approved{color:var(--ink);font-weight:600;font-size:15px;border:1px solid #bfe3c4;background:rgba(0,97,0,.06);border-radius:10px;padding:10px 14px}.subbar-right{display:flex;gap:16px;align-items:center}.ghost.on{border-color:var(--accent-nav);color:var(--accent-nav)}.choices{gap:12px;width:320px;max-width:86vw;margin-top:4px}.bigchoice,.choices{display:flex;flex-direction:column}.bigchoice{align-items:flex-start;gap:3px;background:var(--bg-elev);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:18px 20px;cursor:pointer;text-align:start;transition:border-color .15s,transform .12s}.bigchoice:hover{border-color:var(--accent-nav)}.bigchoice:active{transform:translateY(1px)}.bigchoice .bc-title{font-family:var(--serif);font-weight:600;font-size:19px}.bigchoice .bc-sub{color:var(--ink-faint);font-size:13.5px}.history{display:flex;flex-direction:column;gap:2px;margin:8px 0 0;max-height:42vh;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:6px;background:var(--bg-elev)}.history .muted{color:var(--ink-faint);padding:10px 12px;font-size:13.5px}.histitem{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:none;border:none;color:var(--ink);font-family:var(--body);font-size:14.5px;text-align:start;cursor:pointer;padding:9px 12px;border-radius:9px;transition:background .12s}.histitem:hover{background:var(--bubble-user)}.histtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0}.histmeta{color:var(--ink-faint);font-size:12px;white-space:nowrap}.head{position:-webkit-sticky;position:sticky;top:0;z-index:46;background:var(--bg)}.topchrome{top:var(--head-h,72px);box-shadow:0 6px 12px -10px rgba(0,0,0,.25)}.admin .ahead,.topchrome{position:-webkit-sticky;position:sticky;z-index:45;background:var(--bg)}.admin .ahead{top:0}.scrollnav{display:flex;flex-direction:column;gap:8px;z-index:40}.scrollnav.pane{position:absolute;left:100%;margin-left:12px;top:50%;transform:translateY(-50%);align-items:flex-start}.scrollnav.win{left:calc(50% + 552px)}.scrollnav.win,.scrollnav.winapp{position:fixed;top:50%;transform:translateY(-50%);align-items:flex-start}.scrollnav.winapp{left:calc(50% + 422px)}@media (max-width:1160px){.scrollnav.winapp{left:auto;right:10px;align-items:flex-end}}@media (max-width:1120px){.scrollnav.pane{left:auto;right:4px;margin-left:0;align-items:flex-end}}@media (max-width:1400px){.scrollnav.win{left:auto;right:12px;align-items:flex-end}}.admin{position:relative;z-index:1;max-width:1080px;margin:0 auto;min-height:100dvh;padding:0 24px 60px}.admin .ahead{display:flex;align-items:baseline;gap:14px;padding:28px 4px 18px;border-bottom:1px solid var(--line)}.admin h1{font-family:var(--serif);font-weight:600;font-size:26px}.admin h1 .dot{color:var(--ember)}.admin .ahead .tag{font-family:var(--body);color:var(--ink-faint);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.admin .ahead .link{margin-left:auto}[dir=rtl] .admin .ahead .link{margin-left:0;margin-right:auto}.admin h2{font-family:var(--serif);font-weight:600;font-size:18px;margin:34px 0 14px}.admin .muted{color:var(--ink-faint)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-top:20px}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.card .n{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1}.card .k{color:var(--ink-faint);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}.card .n .ember{color:var(--ember)}.models{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.chip{background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13.5px}.chip b{color:var(--ember);font-weight:600}table.grid{width:100%;border-collapse:collapse;font-size:14px}table.grid th{text-align:start;color:var(--ink-faint);font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px}table.grid td,table.grid th{border-bottom:1px solid var(--line)}table.grid td{padding:10px 12px;vertical-align:top}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover td{background:var(--bubble-user)}.pill{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft)}.pill.approved{color:#006100;border-color:#bfe3c4}.pill.pending{color:var(--ember);border-color:var(--ember-deep)}.pill.denied{color:var(--ink-faint)}.admin .btn{background:var(--accent-action);color:#fff;border:none;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:600;font-family:var(--body);cursor:pointer}.admin .btn:hover{background:var(--accent-action-hover);color:#fff}.admin .btn.deny{background:none;border:1px solid var(--line);color:var(--ink-soft);-webkit-margin-start:8px;margin-inline-start:8px}.admin .btn.deny:hover{border-color:var(--ember);color:var(--ink)}.admin .btn:disabled{opacity:.5;cursor:default}.drawer{margin-top:16px;background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;padding:18px}.drawer .tmsg{padding:10px 0;border-bottom:1px solid var(--line)}.drawer .tmsg:last-child{border-bottom:none}.drawer .trole{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);margin-bottom:4px;display:flex;gap:8px}.drawer .trole .tmodel{color:var(--ember)}.drawer .tmsg.assistant{color:var(--ink)}.drawer .tmsg.user{color:var(--ink-soft)}.admin .empty{color:var(--ink-faint);padding:14px 2px}.ws-fullscreen{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;gap:12px;padding:10px 16px 12px;background:var(--bg);overflow:hidden}.ws-fullscreen>*{flex:0 0 auto}