@font-face { font-family:Inter; font-style:normal; font-weight:400; font-display:swap; src:url('/inter-regular.woff2') format('woff2'); }
@font-face { font-family:Inter; font-style:normal; font-weight:500; font-display:swap; src:url('/inter-medium.woff2') format('woff2'); }
:root { color-scheme:light; --ink:#20242c; --muted:#616976; --paper:#f5f6f8; --surface:#fff; --line:#dce0e7; --input:#8993a3; --blue:#5284c7; --soft:#eaf0f9; --action:#4773af; --secondary:#e6e9ef; --secondary-hover:#d9dfe8; --secondary-border:#b1bac8; --error:#b33d48; --radius:10px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:16px; line-height:1.5; font-feature-settings:'liga' 1,'calt' 1; }
button,textarea,input,select { font:inherit; } button { cursor:pointer; } button:disabled { opacity:.6; cursor:wait; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
h1,h2,h3,b,strong { font-weight:500; } h1,h2,p { margin:0; } a { color:var(--action); text-underline-offset:3px; }
.hidden,[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.topbar { min-height:64px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 30px; border-bottom:1px solid var(--line); background:var(--surface); }
.brand { display:inline-flex; align-items:center; min-height:44px; padding:4px 0; border:0; background:transparent; color:var(--ink); text-decoration:none; font-size:24px; font-weight:500; letter-spacing:-.045em; }
.topbar-right { display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.api-status { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; } .api-status i { width:7px; height:7px; border-radius:50%; background:#56845a; } .api-status.not-ready i { background:#a86738; }
.quiet-button,.back-button,.skip-button,.copy-button,.slide-top button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--secondary-border); border-radius:7px; background:var(--secondary); color:var(--ink); font-size:13px; font-weight:500; line-height:1.4; }
.quiet-button:hover,.back-button:hover,.skip-button:hover,.copy-button:hover,.slide-top button:hover { background:var(--secondary-hover); }
.primary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:13px 18px; border:1px solid var(--action); border-radius:7px; background:var(--action); color:#fff; font-size:14px; font-weight:500; line-height:1.4; }
.primary:hover { background:#fff; color:var(--action); border-color:var(--action); } .primary span { margin:0; }
.screen { width:min(860px,calc(100% - 60px)); margin:0 auto; padding:58px 0 72px; } .home-screen { padding:84px 0 72px; }
.home-screen h1 { font-size:clamp(38px,6vw,62px); line-height:1.08; letter-spacing:-.04em; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:500; }
.home-actions { display:grid; grid-template-columns:1fr 1fr; max-width:760px; gap:14px; margin-top:36px; }
.home-choice { min-height:170px; min-width:0; border:1px solid var(--input); border-radius:var(--radius); padding:22px; background:var(--surface); color:var(--ink); text-align:left; }
.home-choice.selected,.home-choice.dark { background:var(--soft); border-color:var(--blue); } .home-choice:hover { border-color:var(--ink); }
.home-choice span { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:7px; background:var(--surface); color:var(--ink); font-size:22px; line-height:1; }
.home-choice b,.home-choice small { display:block; } .home-choice b { margin-top:20px; font-size:18px; letter-spacing:-.02em; line-height:1.3; } .home-choice small { margin-top:6px; color:var(--muted); font-size:13px; line-height:1.45; }
.home-archive { display:inline-flex; align-items:center; min-height:44px; gap:8px; margin-top:16px; padding:8px 0; border:0; background:transparent; color:var(--muted); font-size:13px; text-decoration:none; } .home-archive:hover { color:var(--ink); } .test-link { margin-left:24px; }
.screen-head { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:18px; } .screen-head h1 { margin-top:10px; font-size:38px; line-height:1.15; letter-spacing:-.03em; }
.archive-list { display:grid; gap:12px; margin-top:32px; } .archive-item { display:flex; width:100%; align-items:center; gap:16px; justify-content:space-between; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--ink); text-align:left; } .archive-item:hover { border-color:var(--input); }
.archive-item b,.archive-item small { display:block; } .archive-item small { margin-top:4px; color:var(--muted); font-size:12px; } .archive-item i { font-style:normal; } .empty-state { margin-top:32px; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--muted); }
.project-screen { width:min(940px,calc(100% - 60px)); padding:22px 0 50px; } .project-top { display:flex; flex-wrap:wrap; align-items:center; gap:12px; } .back-button { margin-right:auto; } .project-type { color:var(--muted); font-size:12px; } .save-status { border:1px solid var(--line); border-radius:7px; padding:5px 9px; color:var(--muted); font-size:11px; }
#ideaForm { max-width:720px; margin-top:64px; } .input-question { margin-bottom:24px; } .input-question h1 { font-size:clamp(30px,4.2vw,44px); line-height:1.15; letter-spacing:-.035em; overflow-wrap:anywhere; } .input-composer { max-width:720px; }
.input-composer textarea,.question-output textarea,.feedback textarea { display:block; width:100%; min-height:150px; padding:18px; border:1px solid var(--input); border-radius:7px; background:var(--surface); color:var(--ink); font-size:16px; line-height:1.6; resize:vertical; } textarea::placeholder,input::placeholder { color:var(--muted); opacity:1; }
.input-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; } .input-navigation { display:flex; flex-wrap:wrap; align-items:center; gap:10px; } #clarifyButton { margin-left:auto; }
.more-context { max-width:720px; margin-top:24px; border:1px solid var(--input); border-radius:var(--radius); background:var(--surface); } .more-context summary { min-height:44px; padding:14px 17px; color:var(--ink); font-size:13px; font-weight:500; cursor:pointer; } .more-context summary span { color:var(--muted); font-weight:400; } .more-context>div { display:grid; gap:14px; padding:0 17px 17px; } .input-composer .more-context { margin-top:14px; }
.upload { display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--input); border-radius:var(--radius); background:var(--surface); font-size:14px; cursor:pointer; } .upload input { display:block; width:100%; min-width:0; color:var(--muted); font-size:12px; } input::file-selector-button { min-height:44px; margin-right:10px; padding:10px 12px; border:1px solid var(--secondary-border); border-radius:7px; background:var(--secondary); color:var(--ink); font:inherit; cursor:pointer; }
.reference-list { display:flex; flex-wrap:wrap; gap:6px; } .reference-list span { border-radius:7px; padding:5px 8px; background:var(--soft); font-size:12px; }
.error { max-width:720px; margin:12px 0; border-radius:7px; padding:10px 12px; background:#fff0f1; color:var(--error); font-size:13px; } .error:empty { display:none; }
.output { max-width:860px; margin:44px auto 0; } .output-head { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:18px; margin-bottom:26px; } .output-head>div { min-width:0; } .output-head h1,.question-output h1 { margin-top:8px; font-size:36px; line-height:1.15; letter-spacing:-.03em; overflow-wrap:anywhere; }
.a4-paper { width:min(100%,620px); min-height:877px; margin:0 auto; padding:52px 48px; border:1px solid var(--line); background:var(--surface); } .a4-paper .paper-title { margin:18px 0 34px; font-size:38px; line-height:1.15; letter-spacing:-.035em; overflow-wrap:anywhere; } .paper-body { font:400 16px/1.65 Inter,ui-sans-serif,system-ui,sans-serif; overflow-wrap:anywhere; } .paper-block+.paper-block { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); } .paper-block h2 { margin:0 0 10px; font-size:17px; line-height:1.4; } .paper-block p+p { margin-top:14px; }
.idea-check { width:min(100%,680px); margin:24px auto 0; text-align:center; } .idea-check p { margin-bottom:12px; font-size:14px; font-weight:500; } .idea-check>div,.next-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; } .next-actions { width:min(100%,720px); margin:16px auto 0; }
.question-output { max-width:720px; margin:60px auto 0; } .question-output textarea { margin-top:24px; } .question-output>p { margin-top:18px; color:var(--muted); } .output-actions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:18px; } .question-output .output-actions { margin-top:14px; }
.inline-assets { max-width:none; margin:0; padding:0; } .inline-assets .output-head,.inline-assets>p:not(.small-note):not(.error) { display:none; }
.consent { display:block; max-width:720px; margin-top:24px; color:var(--muted); font-size:12px; line-height:1.6; } .consent input { margin-right:8px; accent-color:var(--action); } .consent small { display:block; margin:4px 0 0 26px; font-size:11px; } .recording-consent { margin-top:38px; } .small-note { color:var(--muted); font-size:12px; line-height:1.6; }
.asset-list { display:grid; gap:10px; margin-top:20px; } .asset-item { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); } .asset-item span { flex:1; min-width:100px; overflow-wrap:anywhere; } .asset-item small { display:block; color:var(--muted); font-size:11px; }
.asset-item select,.feedback select { max-width:100%; min-height:44px; padding:10px; border:1px solid var(--input); border-radius:7px; background:var(--surface); color:var(--ink); } .feedback { margin:32px auto; }
.test-project { margin-top:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); } .test-project>summary { min-height:44px; cursor:pointer; padding:20px; overflow-wrap:anywhere; } .test-project small { display:block; color:var(--muted); font-size:11px; } .test-event { border-top:1px solid var(--line); padding:20px; } .test-event h3 { font-size:13px; } .test-event h4 { font-size:15px; } .test-text,.test-event pre { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; } .test-event pre { font-size:12px; }
.slide-list { display:grid; gap:24px; } .ppt-slide { aspect-ratio:16/9; min-height:300px; border:1px solid var(--line); border-radius:5px; background:var(--surface); display:flex; flex-direction:column; } .slide-top { padding:14px 18px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; } .slide-copy { flex:1; min-width:0; padding:28px 9% 42px; display:flex; flex-direction:column; justify-content:center; overflow-wrap:anywhere; } .slide-copy h2 { margin:0 0 20px; font-size:clamp(25px,4vw,43px); line-height:1.12; letter-spacing:-.035em; } .slide-copy p { font-size:16px; line-height:1.5; }
.slide-notes { max-width:none; margin-top:-12px; } .slide-note { font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; }
.working-overlay { position:fixed; z-index:10; inset:0; display:grid; place-items:center; background:#f5f6f8ed; } .working-overlay>div { display:grid; justify-items:center; gap:16px; padding:30px; } .working-overlay p { font-size:15px; font-weight:500; } .spinner { width:38px; height:38px; border:3px solid var(--line); border-top-color:var(--action); border-radius:50%; animation:spin .75s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
.toast { position:fixed; z-index:20; left:50%; bottom:25px; transform:translateX(-50%); max-width:calc(100% - 40px); border-radius:7px; padding:12px 16px; background:var(--ink); color:#fff; font-size:12px; font-weight:500; text-align:center; }
.login-screen { max-width:760px; } .login-screen form,#accessForm { display:grid; gap:18px; margin:32px 0; } .login-screen input[type='email'],#accessCode { width:100%; min-height:44px; padding:16px; border:1px solid var(--input); border-radius:7px; background:var(--surface); color:var(--ink); font-size:16px; } #accessForm .consent { margin:0; } #accessButton { justify-self:start; }
.beta-notice { width:min(1120px,100%); margin:24px auto; padding:0 30px; } .legal-screen { max-width:860px; } .legal-screen h1 { margin:12px 0 24px; font-size:clamp(32px,5vw,52px); line-height:1.15; letter-spacing:-.035em; } .legal-screen h2 { margin:36px 0 14px; font-size:22px; } .legal-screen p { margin:14px 0; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:650px) {
  .topbar { padding:12px 18px; } .topbar-right { gap:8px; } .api-status { display:none; } .screen,.project-screen { width:calc(100% - 40px); } .home-screen { padding:52px 0; } .home-actions { grid-template-columns:1fr; gap:12px; margin-top:28px; } .home-choice { min-height:148px; padding:18px; } .home-choice b { margin-top:14px; font-size:17px; } .project-type { display:none; } #ideaForm { margin-top:42px; } .a4-paper { padding:30px 24px; min-height:0; } .a4-paper .paper-title { font-size:29px; } .paper-body { font-size:15px; } .paper-block h2 { font-size:17px; } .output-head h1,.question-output h1,.screen-head h1 { font-size:29px; } .ppt-slide { aspect-ratio:auto; min-height:300px; } .slide-top { padding:10px 12px; } .slide-top button { font-size:11px; padding:10px; } .slide-copy { padding:24px; } .slide-copy h2 { font-size:26px; } .slide-copy p { font-size:14px; } .beta-notice { padding:0 20px; } .home-archive.test-link { margin-left:0; } #clarifyButton { max-width:100%; } .test-event { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .spinner { animation-duration:2s; } }
