/* I Weydii — one design system for every page.
 *
 * The ask page carries the full treatment: warm gradient ground, glass panels, ambient
 * drift. Documents, review and sign-in reuse the same tokens and panel language so the
 * tool does not feel like three different products stitched together.
 *
 * This is a single deliberate visual world rather than a light and dark pair, so there is
 * no theme switch — every surface paints its own background and colour. */

:root{
  --white:#fff;
  --soft:rgba(255,255,255,.68);
  --muted:rgba(255,255,255,.48);
  --faint:rgba(255,255,255,.30);
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.20);
  --glass:linear-gradient(145deg,rgba(255,255,255,.145),rgba(255,255,255,.065) 47%,rgba(8,10,12,.17));
  --ease:cubic-bezier(.16,1,.3,1);
  --good:#a7e0c4;
  --warn:#ffd6a8;
  --bad:#ffb3a7;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif}
body{color:#fff;background:#9f4d2c}
button,textarea,input,select{font:inherit}
button{-webkit-tap-highlight-color:transparent}
button,a,input,select,textarea{outline:none}
a{color:#fff}
:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:2px;border-radius:8px}

/* ---------------------------------------------------------------- ground */

.page{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(1000px 720px at 73% 90%,rgba(0,0,0,.94) 0%,rgba(3,8,10,.86) 31%,rgba(15,12,11,.48) 52%,transparent 74%),
    radial-gradient(820px 600px at 20% 105%,rgba(88,17,20,.66) 0%,rgba(120,43,28,.44) 40%,transparent 72%),
    linear-gradient(152deg,#bc7048 0%,#bc6639 36%,#9f492d 65%,#422523 100%);
}
.page:before{
  content:"";position:absolute;inset:-20%;z-index:-3;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,183,122,.18),transparent 28%),
    radial-gradient(circle at 82% 33%,rgba(251,128,72,.16),transparent 32%),
    radial-gradient(circle at 58% 78%,rgba(0,0,0,.28),transparent 40%);
  filter:blur(32px);animation:ambient 16s ease-in-out infinite alternate;
}
.page:after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
@keyframes ambient{0%{transform:translate3d(-2%,-1%,0) scale(1)}100%{transform:translate3d(2%,1.5%,0) scale(1.05)}}

/* --------------------------------------------------------------- chrome */

.brand{position:fixed;top:22px;left:22px;z-index:80;display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}
.brand-mark{position:relative;width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px rgba(255,255,255,.18)}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:10px;height:1px;background:#fff;border-radius:2px}
.brand-mark:before{transform:rotate(45deg)}
.brand-mark:after{transform:rotate(-45deg)}
.brand-name{font-size:16px;font-weight:500;letter-spacing:-.3px}

.sidebar{position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:220;display:flex;flex-direction:column;gap:8px}
.tab{position:relative;width:44px;height:44px;border:1px solid transparent;border-radius:13px;color:rgba(255,255,255,.62);background:transparent;display:grid;place-items:center;cursor:pointer;transition:transform .35s var(--ease),background .25s,border-color .25s,color .25s,box-shadow .25s}
.tab:hover{color:#fff;background:rgba(255,255,255,.08);transform:translateX(3px)}
.tab.active{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);box-shadow:0 12px 34px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tab svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.tab-label{position:absolute;left:54px;white-space:nowrap;padding:7px 10px;border-radius:9px;background:rgba(10,11,12,.72);border:1px solid rgba(255,255,255,.1);font-size:12px;color:#fff;opacity:0;transform:translateX(-7px);pointer-events:none;transition:.2s;box-shadow:0 10px 30px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.tab:hover .tab-label{opacity:1;transform:translateX(0)}
.tab[hidden]{display:none}

.top-actions{position:fixed;top:20px;right:22px;z-index:80;display:flex;align-items:center;gap:8px}
.system-state{min-height:34px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.58);font-size:11px;backdrop-filter:blur(18px)}
.system-dot{width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 10px rgba(167,224,196,.65)}
.top-icon-button,.overlay-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;color:rgba(255,255,255,.66);background:rgba(255,255,255,.06);cursor:pointer;backdrop-filter:blur(18px);transition:.2s var(--ease)}
.top-icon-button:hover,.overlay-close:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateY(-1px)}
.top-icon-button svg,.overlay-close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ----------------------------------------------------------- ask layout */

.shell{position:relative;z-index:5;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:92px 92px 88px}
.content{width:min(780px,100%);text-align:center;transition:width .6s var(--ease)}
.content.results-mode{width:min(1080px,100%)}
.hero{transition:opacity .35s,transform .45s var(--ease),max-height .5s var(--ease),margin .5s var(--ease)}
.content.results-mode .hero{opacity:0;max-height:0;overflow:hidden;margin:0;pointer-events:none;transform:translateY(-16px)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:rgba(255,255,255,.58);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#ffd3b8;box-shadow:0 0 14px rgba(255,195,156,.8)}
h1{max-width:650px;margin:0 auto 10px;font-size:clamp(32px,5vw,54px);line-height:.98;font-weight:400;letter-spacing:-2px;text-wrap:balance}
.subtitle{max-width:520px;margin:0 auto 26px;color:rgba(255,255,255,.62);font-size:15px;line-height:1.5}

.glass-wrap{position:relative;width:100%;padding:1px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,.05) 34%,rgba(255,170,120,.23) 68%,rgba(255,255,255,.12));box-shadow:0 38px 100px rgba(0,0,0,.30),0 10px 35px rgba(0,0,0,.14)}
.glass-wrap:before{content:"";position:absolute;inset:-1px;border-radius:29px;background:linear-gradient(120deg,rgba(255,255,255,.24),transparent 34%,transparent 68%,rgba(255,255,255,.13));pointer-events:none}
.glass{position:relative;min-height:188px;padding:20px 20px 16px;border:1px solid rgba(255,255,255,.08);border-radius:27px;background:var(--glass);backdrop-filter:blur(34px) saturate(155%);-webkit-backdrop-filter:blur(34px) saturate(155%);box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -1px rgba(255,255,255,.04)}
.glass:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(450px 130px at 38% 0%,rgba(255,255,255,.13),transparent 70%)}

textarea#prompt{position:relative;z-index:3;width:100%;height:104px;resize:none;border:0;outline:0;padding:2px 3px 12px;color:#fff;background:transparent;font-size:18px;line-height:1.5;caret-color:#fff}
textarea#prompt::placeholder{color:rgba(255,255,255,.48)}

.toolbar{position:relative;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px}
.toolbar-left{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.control-pill{position:relative}
.control-pill[hidden]{display:none}
.control-button{height:36px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:0 10px;color:#fff;background:rgba(255,255,255,.09);cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.11);transition:.25s var(--ease)}
.control-button:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}
.control-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;border-radius:5px;background:linear-gradient(155deg,#ffc79f,#de8050);box-shadow:inset 0 1px rgba(255,255,255,.4)}
.control-icon.model{background:linear-gradient(155deg,#d8c7ff,#997fc7)}
.control-icon.shelf{background:linear-gradient(155deg,#a8dcc6,#5d9c81)}
.control-icon svg{width:10px;height:10px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.control-label{max-width:145px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500}
.chevron{width:12px;height:12px;stroke:currentColor;fill:none;transition:transform .25s}
.control-pill.open .chevron{transform:rotate(180deg)}

.dropdown{position:absolute;left:0;bottom:45px;min-width:210px;max-height:320px;overflow-y:auto;padding:6px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(28,21,19,.92);box-shadow:0 20px 48px rgba(0,0,0,.34);backdrop-filter:blur(28px) saturate(140%);opacity:0;visibility:hidden;transform:translateY(8px) scale(.97);transform-origin:bottom left;transition:.25s var(--ease)}
.dropdown.model-dropdown{min-width:250px}
.control-pill.open .dropdown{opacity:1;visibility:visible;transform:none}
.option{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:9px;padding:6px 9px;color:rgba(255,255,255,.70);background:transparent;cursor:pointer;text-align:left}
.option:hover,.option.active{background:rgba(255,255,255,.10);color:#fff}
.option-main{display:block;font-size:12px}
.option-sub{display:block;margin-top:2px;color:rgba(255,255,255,.39);font-size:9px}
.option-check{font-size:11px;color:rgba(255,255,255,.80)}

.attach{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:10px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.09);cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.11);transition:.25s var(--ease)}
.attach:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.attach svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.attach[hidden]{display:none}

.send{width:46px;height:46px;flex:0 0 auto;border:0;border-radius:15px;background:linear-gradient(180deg,#fff7f2,#f0d1bf);cursor:pointer;display:grid;place-items:center;color:#7c3d22;box-shadow:0 15px 35px rgba(0,0,0,.24),inset 0 1px #fff;transition:transform .3s var(--ease),box-shadow .3s,opacity .2s}
.send:hover{transform:translateY(-3px) scale(1.035);box-shadow:0 20px 42px rgba(0,0,0,.3),inset 0 1px #fff}
.send:active{transform:scale(.96)}
.send:disabled{opacity:.55;cursor:default;transform:none}
.send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.send.stop{background:linear-gradient(180deg,#ffd9d2,#eaa79b);color:#7a2a1e}

.composer-meta{position:relative;z-index:3;min-height:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;color:rgba(255,255,255,.38);font-size:10px}
.status{overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis}
.char-count{flex:0 0 auto}

/* --------------------------------------------------------- upload card */

.upcard{position:relative;z-index:6;margin-bottom:10px;padding:1px;border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,.05) 50%,rgba(255,170,120,.16))}
.upcard[hidden]{display:none}
.upcard-inner{padding:14px 15px;border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(24px);text-align:left}
.uphead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.upfile{font-size:12px;color:rgba(255,255,255,.85);word-break:break-all}
.upx{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.08);cursor:pointer;font-size:16px;line-height:1}
.upx:hover{color:#fff;background:rgba(255,255,255,.16)}
.upstatus{margin:8px 0 0;font-size:12px;color:rgba(255,255,255,.55);line-height:1.5}
.upstatus.ok{color:var(--good)}
.upstatus.bad{color:var(--bad)}
.upstatus.wait{color:rgba(255,255,255,.55)}
.updone{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09)}
.updesc{margin:0 0 8px;font-size:12px;color:rgba(255,255,255,.62);font-style:italic;line-height:1.5}
.linkbtn{border:0;padding:0;margin-right:14px;color:rgba(255,255,255,.5);background:none;cursor:pointer;font-size:11.5px;text-decoration:underline;text-underline-offset:2px}
.linkbtn:hover{color:#fff}
.linkbtn.danger:hover{color:var(--bad)}

.dropveil{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;border:2px dashed rgba(255,255,255,.45);border-radius:27px;background:rgba(20,14,12,.55);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(8px)}
.dropveil.on{display:flex}

/* ------------------------------------------------------------- results */

.conversation{display:none;text-align:left}
.conversation.visible{display:block;animation:resultEnter .7s var(--ease) both}
@keyframes resultEnter{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.question-area{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 6px 16px}
.question-copy{min-width:0}
.question-label{margin-bottom:6px;color:rgba(255,255,255,.39);font-size:10px;letter-spacing:.10em;text-transform:uppercase}
.question-text{max-width:760px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.5}
.turn-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.turn-list li{display:flex;gap:8px;color:rgba(255,255,255,.42);font-size:12px}
.turn-list .n{flex:0 0 auto;color:rgba(255,255,255,.3)}
.turn-list .q{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.restart-button{min-height:34px;display:flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid rgba(255,255,255,.11);border-radius:10px;padding:0 10px;color:rgba(255,255,255,.58);background:rgba(255,255,255,.05);cursor:pointer;transition:.2s}
.restart-button:hover{color:#fff;background:rgba(255,255,255,.10)}
.restart-button svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.language-switcher{display:none;padding:4px;margin-bottom:9px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.06);backdrop-filter:blur(20px)}
.language-tab{flex:1;height:36px;border:0;border-radius:9px;color:rgba(255,255,255,.49);background:transparent;cursor:pointer;font-size:11px;transition:.2s}
.language-tab.active{color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.12)}

.outputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.output-wrap{position:relative;min-width:0;padding:1px;border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.06) 42%,rgba(255,167,116,.15))}
.output-card{height:100%;min-height:390px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045) 55%,rgba(5,7,8,.12));backdrop-filter:blur(31px) saturate(145%);box-shadow:inset 0 1px rgba(255,255,255,.12)}
.output-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:1px solid rgba(255,255,255,.075)}
.output-name{display:flex;align-items:center;gap:9px}
.language-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#663820;background:linear-gradient(155deg,#ffe1cd,#e69b6d);box-shadow:inset 0 1px rgba(255,255,255,.6);font-size:9px;font-weight:600}
.language-mark.so{color:#254f42;background:linear-gradient(155deg,#d6f1e4,#8ec8ae)}
.output-language{font-size:12px;font-weight:500;color:rgba(255,255,255,.87)}
.output-purpose{margin-top:2px;font-size:9px;color:rgba(255,255,255,.37)}
.copy-button{min-height:31px;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.10);border-radius:9px;padding:0 9px;color:rgba(255,255,255,.52);background:rgba(255,255,255,.045);cursor:pointer;transition:.2s}
.copy-button:hover{color:#fff;background:rgba(255,255,255,.10)}
.copy-button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.6}
.copy-button span{font-size:9px}
.output-content{flex:1;overflow-y:auto;padding:17px 17px 19px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.66;word-wrap:break-word;overflow-wrap:anywhere}
.output-status{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 16px;border-top:1px solid rgba(255,255,255,.065);color:rgba(255,255,255,.36);font-size:9.5px}
.loader{width:12px;height:12px;flex:0 0 auto;border:1.4px solid rgba(255,255,255,.18);border-top-color:rgba(255,255,255,.78);border-radius:50%;animation:spin .8s linear infinite}
.complete-dot{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:var(--good);box-shadow:0 0 9px rgba(167,220,195,.45)}
@keyframes spin{to{transform:rotate(360deg)}}
.caret{display:inline-block;width:2px;height:1em;background:rgba(255,255,255,.7);vertical-align:-.15em;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

/* Real answers arrive as markdown, so the panes style markdown rather than fixed rows. */
.output-content>:first-child{margin-top:0}
.output-content>:last-child{margin-bottom:0}
.output-content h2{margin:20px 0 8px;font-size:13.5px;font-weight:600;color:#fff;letter-spacing:-.1px}
.output-content h3{margin:16px 0 6px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.92)}
.output-content p{margin:0 0 11px}
.output-content ul,.output-content ol{margin:0 0 11px;padding-inline-start:18px}
.output-content li{margin:0 0 5px}
.output-content li::marker{color:rgba(255,255,255,.35)}
.output-content strong{color:#fff;font-weight:600}
.output-content em{color:rgba(255,255,255,.8)}
.output-content a{color:#ffd9c2;text-decoration:underline;text-underline-offset:2px}
.output-content blockquote{margin:0 0 11px;padding-inline-start:12px;border-inline-start:2px solid rgba(255,255,255,.18);color:rgba(255,255,255,.55)}
.output-content code{padding:1.5px 5px;border:1px solid rgba(255,255,255,.10);border-radius:5px;background:rgba(0,0,0,.22);font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.86em}
.output-content pre{margin:0 0 12px;padding:12px 13px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(0,0,0,.24);white-space:pre-wrap;word-break:break-word}
.output-content pre code{padding:0;border:0;background:none;font-size:11.5px;line-height:1.6}
.output-content hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:16px 0}
.codewrap{position:relative;margin:0 0 12px}
.codewrap pre{margin:0;padding-top:32px}
.code-copy{position:absolute;top:7px;right:8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:3px 8px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);cursor:pointer;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.code-copy:hover{color:#fff;background:rgba(255,255,255,.14)}

.follow-up{position:relative;margin-top:10px;padding:1px;border-radius:17px;background:linear-gradient(130deg,rgba(255,255,255,.20),rgba(255,255,255,.05),rgba(255,169,118,.10))}
.follow-inner{display:flex;align-items:center;gap:8px;min-height:54px;padding:7px 7px 7px 13px;border-radius:16px;background:rgba(255,255,255,.065);backdrop-filter:blur(24px)}
.follow-input{flex:1;min-width:0;border:0;outline:0;color:#fff;background:transparent;font-size:13px}
.follow-input::placeholder{color:rgba(255,255,255,.35)}
.follow-send{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:12px;color:#754027;background:linear-gradient(180deg,#fff7f2,#efcfbd);cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18);transition:.2s var(--ease)}
.follow-send:hover{transform:translateY(-2px)}
.follow-send:disabled{opacity:.5;transform:none;cursor:default}
.follow-send svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}

/* ------------------------------------------------------------ overlays */

.overlay{position:fixed;inset:0;z-index:150;display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.01);transition:opacity .28s ease,visibility .28s,transform .45s var(--ease);background:rgba(18,12,11,.46);backdrop-filter:blur(36px) saturate(135%);-webkit-backdrop-filter:blur(36px) saturate(135%)}
.overlay.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.overlay:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 500px at 20% 0%,rgba(255,177,124,.12),transparent 65%),radial-gradient(700px 520px at 85% 100%,rgba(0,0,0,.35),transparent 70%)}
.overlay-shell{position:relative;z-index:2;width:min(1080px,100%);height:100%;margin:0 auto;padding:76px 28px 40px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.overlay-top{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}
.overlay-kicker{margin-bottom:9px;color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.overlay-title{margin:0;font-size:clamp(34px,6vw,58px);line-height:.96;font-weight:400;letter-spacing:-2px}
.overlay-subtitle{max-width:620px;margin:12px 0 0;color:rgba(255,255,255,.52);font-size:14px;line-height:1.55}
.overlay-close{position:fixed;top:20px;right:22px;z-index:230;flex:0 0 auto;margin:0;background:rgba(255,255,255,.08)}

.activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}
.stat{min-height:138px;display:flex;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid rgba(255,255,255,.09);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.stat-label{font-size:10px;color:rgba(255,255,255,.43)}
.stat-value{font-size:34px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}
.stat-foot{font-size:9.5px;color:rgba(255,255,255,.30)}
.usage-bar{height:3px;margin-top:10px;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.09)}
.usage-progress{height:100%;border-radius:inherit;background:rgba(255,218,194,.78);transition:width .6s var(--ease)}

.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 1px 10px}
.history-head h3{margin:0;font-size:16px;font-weight:500}
.history-note{font-size:10px;color:rgba(255,255,255,.36)}
.history-list{display:grid;gap:8px}
.history-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 15px;border:1px solid rgba(255,255,255,.09);border-radius:15px;color:#fff;background:rgba(255,255,255,.055);text-align:left;cursor:pointer;transition:transform .25s var(--ease),background .2s,border-color .2s;animation:historyIn .5s var(--ease) both}
.history-item:hover{transform:translateY(-2px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15)}
@keyframes historyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.history-prompt{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:rgba(255,255,255,.83)}
.history-meta{display:flex;gap:7px;align-items:center;margin-top:6px;color:rgba(255,255,255,.34);font-size:9px}
.history-chip{padding:3px 6px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(255,255,255,.04)}
.history-time{white-space:nowrap;color:rgba(255,255,255,.34);font-size:10px}
.history-empty{padding:30px 18px;border:1px dashed rgba(255,255,255,.11);border-radius:16px;text-align:center;color:rgba(255,255,255,.40);font-size:12px;line-height:1.5}

.help-copy{max-width:760px}
.help-copy p{margin:0 0 22px;color:rgba(255,255,255,.68);font-size:clamp(16px,2.1vw,19px);line-height:1.68;letter-spacing:-.1px}
.help-copy p:first-child{color:rgba(255,255,255,.90);font-size:clamp(20px,2.7vw,25px);line-height:1.5}
.help-divider{width:44px;height:1px;margin:30px 0;background:rgba(255,255,255,.22)}
.help-mini{max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:36px}
.help-card{padding:15px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055)}
.help-card strong{display:block;margin-bottom:5px;font-size:11px;font-weight:500;color:rgba(255,255,255,.87)}
.help-card span{font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.40)}

.toast{position:fixed;left:50%;bottom:24px;z-index:250;min-width:170px;max-width:calc(100vw - 40px);padding:10px 13px;border:1px solid rgba(255,255,255,.10);border-radius:11px;color:rgba(255,255,255,.84);background:rgba(10,11,12,.76);box-shadow:0 16px 50px rgba(0,0,0,.28);backdrop-filter:blur(22px);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:.25s var(--ease);font-size:11px;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

footer{position:fixed;left:0;right:0;bottom:18px;z-index:10;padding:0 20px;color:rgba(255,255,255,.34);font-size:11px;text-align:center;pointer-events:none}

/* ----------------------------------- inner pages: documents, admin, login */

.doc-shell{position:relative;z-index:5;width:min(1080px,100%);margin:0 auto;padding:96px 28px 96px}
.doc-shell.narrow{width:min(560px,100%)}
.page-head{margin-bottom:26px}
.page-head h1{margin:0 0 10px;text-align:left;max-width:none;font-size:clamp(30px,5vw,46px)}
.page-head .subtitle{margin:0;max-width:620px;text-align:left}

.panel{padding:20px 21px;margin-bottom:14px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));backdrop-filter:blur(28px) saturate(140%);box-shadow:inset 0 1px rgba(255,255,255,.10)}
.panel[hidden]{display:none}
.panel h2{margin:0 0 4px;font-size:15px;font-weight:500}
.panel .sub{margin:0 0 16px;color:rgba(255,255,255,.48);font-size:13px;line-height:1.55}
.panel .sub code{padding:1px 5px;border:1px solid rgba(255,255,255,.10);border-radius:5px;background:rgba(0,0,0,.2);font-family:ui-monospace,Menlo,monospace;font-size:.86em}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.field input[type=text],.field input[type=email],.field input[type=password],.field textarea,.field input[type=file],.field select{
  width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.13);border-radius:11px;
  color:#fff;background:rgba(255,255,255,.07);font-size:14px;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.34)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.11)}
.field textarea{min-height:64px;resize:vertical;line-height:1.5}
.field .help{font-size:11.5px;color:rgba(255,255,255,.40);line-height:1.5}
.field select option{background:#2b1d18;color:#fff}
details.optional{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.09)}
details.optional summary{cursor:pointer;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);list-style:none}
details.optional summary::-webkit-details-marker{display:none}
details.optional summary:before{content:"+ "}
details.optional[open] summary:before{content:"– "}
details.optional summary:hover{color:#fff}
details.optional .field{margin-top:14px}

.btn{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:0;border-radius:12px;color:#7c3d22;background:linear-gradient(180deg,#fff7f2,#f0d1bf);cursor:pointer;font-size:13.5px;font-weight:500;box-shadow:0 10px 26px rgba(0,0,0,.18),inset 0 1px #fff;transition:.25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.55;transform:none;cursor:default}
.btn.ghost{color:rgba(255,255,255,.72);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);box-shadow:none}
.btn.ghost:hover{color:#fff;background:rgba(255,255,255,.15)}
.row-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

.notice{display:none;margin:14px 0;padding:13px 15px;border-radius:13px;font-size:13.5px;line-height:1.55}
.notice.on{display:block}
.notice.bad{border:1px solid rgba(255,150,130,.28);background:rgba(150,45,35,.30);color:#ffd5cd}
.notice.good{border:1px solid rgba(160,220,190,.24);background:rgba(30,90,70,.30);color:#c9f0dd}
.warnbox{margin:0 0 20px;padding:14px 16px;border:1px solid rgba(255,200,150,.24);border-radius:14px;background:rgba(120,70,25,.30);color:rgba(255,235,215,.92);font-size:13.5px;line-height:1.6}

.doclist{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.doc{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055)}
.doc .meta{min-width:0}
.doc .name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 4px;font-size:14px;font-weight:500;color:#fff}
.doc .desc{margin:0;font-size:13px;color:rgba(255,255,255,.55);line-height:1.5}
.doc .why{margin:6px 0 0;font-size:12px;color:rgba(255,255,255,.42);font-style:italic}
.doc .facts{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0;font-size:10px;color:rgba(255,255,255,.34)}
.acts{display:flex;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.del{min-height:32px;padding:0 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:rgba(255,255,255,.6);background:rgba(255,255,255,.05);cursor:pointer;font-size:11px;transition:.2s}
.del:hover{color:#fff;background:rgba(255,255,255,.12)}
.del[disabled]{opacity:.35;cursor:not-allowed}
.del.approve{color:#bfe8d3;border-color:rgba(160,220,190,.3)}
.del.approve:hover{background:rgba(60,130,100,.3)}
.pill{padding:3px 9px;border-radius:9999px;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pill.ok{background:rgba(60,130,100,.34);color:#c2ecd8}
.pill.wait{background:rgba(150,105,30,.34);color:#ffdfae}
.pill.bad{background:rgba(150,55,45,.34);color:#ffcabf}
.pill.cat{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8)}
.empty{padding:30px 18px;border:1px dashed rgba(255,255,255,.13);border-radius:16px;text-align:center;color:rgba(255,255,255,.42);font-size:13px}

.scroll{overflow-x:auto;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.05);margin-bottom:8px}
table{border-collapse:collapse;width:100%;min-width:36rem;font-size:13px}
th{text-align:left;padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:rgba(255,255,255,.45);font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
td{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.72);vertical-align:top}
tr:last-child td{border-bottom:none}
td.n{font-variant-numeric:tabular-nums;white-space:nowrap;color:rgba(255,255,255,.5)}
td.q{max-width:34rem;word-break:break-word}
.viewhead{margin:26px 0 10px;font-size:14px;font-weight:500;color:#fff}
.view[hidden]{display:none}
.tabrow{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.tabrow .tab2{flex:0 0 auto;min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.11);border-radius:11px;color:rgba(255,255,255,.55);background:rgba(255,255,255,.05);cursor:pointer;font-size:12.5px;transition:.2s}
.tabrow .tab2.active{color:#fff;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2)}

.who{font-size:11px;color:rgba(255,255,255,.5)}
.nav{display:flex;align-items:center;gap:14px}
.nav a{font-size:13px;color:rgba(255,255,255,.62);text-decoration:none;transition:.2s}
.nav a:hover{color:#fff}

/* ----------------------------------------------------------- responsive */

@media(max-width:840px){
  html,body{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
  body{position:fixed;inset:0}
  /* Inner pages are documents, not an app frame — they scroll normally. */
  /* Inner pages are documents, not an app frame. The lock above sits on html AND body,
     so the release has to lift both — releasing body alone leaves html holding the page
     still, which is exactly the bug where Documents and Admin would not scroll. */
  html.scrolls,html.scrolls body{position:static;inset:auto;height:auto;min-height:100%;overflow:visible}
  .page{position:fixed;inset:0;width:100%;height:100vh;height:100svh;min-height:0;overflow:hidden}
  body.scrolls .page{position:relative;inset:auto;height:auto;min-height:100svh;overflow:visible}
  .page:before,.page:after{position:fixed}
  .brand{top:max(17px,env(safe-area-inset-top));left:max(17px,env(safe-area-inset-left))}
  .brand-name{font-size:15px}
  .top-actions{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
  .system-state{display:none}
  .sidebar{left:50%;top:auto;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;padding:5px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(28,19,17,.52);backdrop-filter:blur(22px);box-shadow:0 16px 40px rgba(0,0,0,.23)}
  .tab{width:45px;height:45px}
  .tab:hover{transform:none}
  .tab-label{display:none}
  .shell{width:100%;height:100vh;height:100svh;min-height:0;display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:calc(92px + env(safe-area-inset-top)) 14px calc(106px + env(safe-area-inset-bottom))}
  .content{max-width:680px;margin:0 auto}
  .content.results-mode{width:100%}
  #assistantView:not(.results-mode){min-height:calc(100svh - 198px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex!important;flex-direction:column;justify-content:center}
  h1{font-size:clamp(31px,10vw,43px);line-height:1.02;letter-spacing:-1.5px}
  .subtitle{padding:0 8px;margin-bottom:20px;font-size:14px}
  .glass{min-height:203px;padding:17px 14px 14px}
  textarea#prompt{height:105px;font-size:16px}
  .toolbar-left{gap:5px}
  .control-button{padding:0 8px}
  .control-label{max-width:100px;font-size:12px}
  .dropdown{bottom:44px}
  .language-switcher{display:flex}
  .outputs{display:block}
  .output-wrap{display:none}
  .output-wrap.mobile-active{display:block}
  .output-card{min-height:370px}
  .overlay-shell{width:100%;padding:calc(76px + env(safe-area-inset-top)) 14px calc(112px + env(safe-area-inset-bottom))}
  .overlay-close{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
  .overlay-title{font-size:clamp(36px,12vw,54px)}
  .activity-stats{grid-template-columns:1fr 1fr}
  .activity-stats .stat:last-child{grid-column:1/-1}
  .help-mini{grid-template-columns:1fr}
  .history-item{grid-template-columns:minmax(0,1fr)}
  .history-time{justify-self:start}
  .doc-shell{padding:calc(88px + env(safe-area-inset-top)) 14px 60px}
  .doc{flex-direction:column}
  footer{display:none}
}

@media(max-width:540px){
  .control-icon{display:none}
  .control-label{max-width:76px}
  .model-control .control-label{max-width:58px}
  .composer-meta{font-size:9px}
  .question-area{display:block}
  .restart-button{margin-top:11px}
  .activity-stats{grid-template-columns:1fr}
  .activity-stats .stat:last-child{grid-column:auto}
}

@media(max-width:390px){
  .shell{padding-left:10px;padding-right:10px}
  .glass-wrap{border-radius:24px}
  .glass{border-radius:23px}
  .toolbar{gap:7px}
  .control-button{height:34px}
  .send{width:43px;height:43px}
  .sidebar{bottom:max(13px,env(safe-area-inset-bottom))}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .page:before{animation:none}
}
