@font-face{font-family:"Geist Sans";src:url('assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:"Geist Sans","Segoe UI",Arial,sans-serif;color:#20242c;background:#fff;font-synthesis:none;font-weight:400;--muted:#68717f;--line:#e6e8ec;--blue:#3565de}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #89aaff;outline-offset:4px}[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}.skip{position:absolute;top:12px;left:16px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);background:white;z-index:10;color:var(--blue)}.skip:focus{width:auto;height:auto;padding:12px;clip-path:none;overflow:visible}
.shell{width:min(100%,1224px);margin:auto;padding:0 24px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:96px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400;letter-spacing:-.025em}.sun-mark{width:22px;height:22px;flex:0 0 22px;border:1.6px solid var(--blue);border-radius:50%;position:relative;clip-path:inset(0 0 32% 0)}.sun-mark:after{content:"";position:absolute;left:-4px;right:-4px;top:13px;height:1.6px;background:var(--blue)}.prototype-badge{font-size:10px;display:flex;align-items:center;gap:6px;color:var(--muted);white-space:nowrap}.status-dot{width:5px;height:5px;border-radius:50%;background:#8d98ad}
.layout{padding:44px 0 40px;display:grid;gap:46px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0 0 20px;font-weight:400}h1{font-weight:600;letter-spacing:-.058em;line-height:1.07;font-size:clamp(42px,10.7vw,66px);margin:0 0 20px;max-width:560px;text-wrap:balance}.lead{font-size:15px;line-height:1.65;color:var(--muted);margin:0;max-width:380px}.field{margin-bottom:21px}label{display:block;font-size:13px;font-weight:400;margin-bottom:9px;color:#424955}input,select{width:100%;min-width:0;border:1px solid #dde1e7;border-radius:9px;background:#fff;color:#252b34;min-height:49px;padding:12px 14px;font-size:14px}input::placeholder{color:#989fab}input:hover,select:hover{border-color:#b8c3d4}input[aria-invalid=true],select[aria-invalid=true]{border-color:#bf3b40}.interest-field{margin-top:26px;margin-bottom:27px}.interest-field input{border:0;border-bottom:1px solid #cbd3e2;border-radius:0;padding:12px 0 17px;min-height:66px;font-size:clamp(22px,6.1vw,30px);letter-spacing:-.04em;color:var(--blue);background:transparent}.interest-field input::placeholder{color:#99a7bd}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{border:1px solid var(--line);border-radius:30px;padding:7px 12px;background:#fff;color:#6a7382;font-size:11px;min-height:32px}.chip:hover,.chip[aria-pressed=true]{color:var(--blue);border-color:#becffa;background:#f5f8ff}.field-hint{font-size:11px;margin:11px 0 0;color:var(--muted);line-height:1.6}.time-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,1.15fr);gap:12px}.primary{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:53px;width:100%;border:0;border-radius:9px;background:var(--blue);color:#fff;padding:15px 18px;font-size:13px;font-weight:400}.primary:hover{background:#2b58c9}.primary span:last-child{font-size:21px;font-weight:400;line-height:1}.privacy{font-size:12px;line-height:1.7;color:#6f7885;margin:13px 0 0}.free{display:flex;gap:7px;align-items:center;font-size:11px;color:#7b8390;margin:25px 0 0}.free span:first-child{color:var(--blue)}.error{font-size:11px;line-height:1.5;color:#af3037;margin:8px 0 0}
.preview{min-width:0}.preview-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 15px}.preview-label h2{font-size:12px;font-weight:600;color:#727c8b;margin:0}.sample-badge{background:#f0f3f8;color:#6c7788;border-radius:4px;padding:5px 7px;font-size:10px;letter-spacing:.02em}.edition{border:1px solid #e3e8f0;border-radius:16px;background:white;overflow:hidden;box-shadow:0 12px 40px #25385808,0 2px 5px #25385803}.edition-cover{min-height:174px;padding:27px 25px 22px;background:linear-gradient(130deg,#f5f8ff,#e9f0ff);position:relative;overflow:hidden}.edition-kicker{position:relative;margin:0 0 20px;font-size:9px;letter-spacing:.15em;color:#536e99;font-weight:400}.edition-cover h2{position:relative;font-size:32px;font-weight:600;letter-spacing:-.05em;margin:0 0 9px;max-width:75%;line-height:1.1;overflow-wrap:anywhere}.reading-time{position:relative;font-size:10px;color:#587096;margin:0}.cover-art{position:absolute;width:200px;height:200px;right:-56px;top:0;opacity:.75}.orb{position:absolute;width:126px;height:126px;border-radius:50%;top:40px;right:12px;background:linear-gradient(140deg,#fdfdff 5%,#bcd0fa 60%,#9ebbec);box-shadow:0 0 42px #fefeff;border:1px solid #f7faff}.horizon{position:absolute;left:-15px;right:-20px;top:130px;height:95px;border-top:1px solid #a9c3f0;transform:rotate(-19deg);background:linear-gradient(180deg,#ecf3ff96,#e8f0ff)}.edition-body{padding:0 25px}.edition-intro{font-size:13px;color:#677384;line-height:1.7;margin:22px 0}.story{padding:20px 0;border-top:1px solid #edf0f5;display:grid;grid-template-columns:21px minmax(0,1fr);gap:9px}.number{font-size:10px;color:#8d9eb7;padding-top:3px}.story h3{font-size:17px;font-weight:600;letter-spacing:-.026em;margin:0 0 8px;line-height:1.4}.story p{font-size:13px;color:#647080;line-height:1.75;margin:0}.source{display:block;font-size:9px;letter-spacing:.1em;color:#748093;margin-top:11px}.demo-notice{border-top:1px solid #edf0f5;padding-top:16px;margin:0 0 20px;display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.6;color:#7b8594}.demo-notice>span:first-child{font-size:14px}.shared{color:#6b7584;line-height:1.7;font-size:12px;max-width:360px;margin:17px auto 0;text-align:center}
.confirmation{padding-top:6px}.check{display:grid;place-items:center;width:45px;height:45px;color:var(--blue);background:#f0f5ff;border:1px solid #dce8ff;border-radius:50%;font-size:22px;margin-bottom:25px}.confirmation h1{font-size:46px;margin-bottom:17px}.summary{margin:26px 0 30px}.summary>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5}.summary dt{color:var(--muted)}.summary dd{margin:0;color:#3f4857;overflow-wrap:anywhere}.confirmation h1:focus{outline:none}
@media(min-width:720px){.shell{padding:0 44px}.site-header{min-height:112px}.brand{font-size:16px}.prototype-badge{font-size:11px}.layout{padding-top:65px;gap:55px}.setup{max-width:550px}.preview{max-width:550px;width:100%}.lead{font-size:16px}h1{font-size:64px}.interest-field{margin-top:30px}}
@media(min-width:1020px){.shell{padding:0 42px}.layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:88px;padding-top:79px;padding-bottom:55px;align-items:start}.preview{padding-top:5px}h1{font-size:66px}.setup form{max-width:455px}.confirmation{max-width:455px}.edition-cover{min-height:176px}.edition-body{padding:0 28px}.edition-cover{padding-left:28px}.brand{font-size:17px}.privacy{font-size:12px}}
@media(max-width:359px){.shell{padding:0 18px}.brand{font-size:12px}.prototype-badge{font-size:9px}.time-row{grid-template-columns:1fr}.edition-body{padding:0 20px}.edition-cover{padding-left:20px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}

input:focus-within,select:focus-within{outline:3px solid #89aaff;outline-offset:4px}

/* One question per screen. The first screen is only the prompt and entry box. */
.briefcase-navigation{position:fixed;inset:0 0 auto;z-index:10;display:flex;justify-content:center;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}
.briefcase-tabs{display:flex;justify-content:center;gap:16px;max-width:100%}
.briefcase-tab{min-height:44px;padding:8px 2px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:400;line-height:1.3;white-space:nowrap}
.briefcase-tab[aria-selected=true]{color:#000;font-weight:600}
.briefcase-tab:focus-visible{outline:2px solid #000;outline-offset:4px;border-radius:3px}
.briefcase-tab:disabled{cursor:default}
@media(max-width:600px){.briefcase-tabs{gap:clamp(20px,6.15vw,24px)}.briefcase-tab{font-size:clamp(13.5px,3.85vw,15px)}}
.manage-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;width:min(100%,280px);padding:54px 20px 20px;border:3px solid #000;border-radius:14px;background:#fff;transform:translateY(-24px)}
.manage-empty{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:440px;margin:0;transform:translateY(-24px);font-size:18px;line-height:1.55;text-align:center;color:var(--muted)}
.manage-empty p{margin:0;white-space:pre-line;font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1.25;letter-spacing:-.025em;color:#20242c}
.manage-stage{position:relative;width:200px;max-width:100%;height:112px;outline:none;overflow:clip}
.manage-visual{position:relative;width:100%;aspect-ratio:900/950;transform:translateY(-102px)}
.manage-poster,.manage-opening{position:absolute;left:-10%;top:-2.526316%;display:block;width:120%;height:auto;clip-path:inset(2.222223% 8.333334% 9.814815%);pointer-events:none}
.manage-papers{position:absolute;inset:0;visibility:hidden;pointer-events:none}
#manage-panel.is-editing{height:100svh;min-height:100svh;padding:84px 24px 20px;overflow:hidden}
.manage-card.is-editing{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;width:min(100%,520px);height:100%;min-height:0;padding:0;border-color:transparent;background:transparent;gap:16px;transform:none}
.manage-card.is-editing .briefing-switch,.manage-card.is-editing .manage-actions{display:none}
.manage-card.is-editing .manage-stage{width:100%;height:100%;min-height:0;overflow:hidden}
.manage-card.is-editing .manage-visual{position:absolute;width:250px;height:263.889px;left:50%;top:var(--manage-case-top,0px);bottom:auto;transform:translateX(-50%);transform-origin:0 0}
.manage-card.is-open .manage-papers{visibility:visible}
.manage-card.is-opening .manage-papers{visibility:visible;animation:manage-paper-reveal 1s linear both}
/* 50 fps lid-front bounds from the same rigid renderer as the opening WebP. */
@keyframes manage-paper-reveal{0%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.769895) 0 0)}2%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.769827) 0 0)}4%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.769370) 0 0)}6%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.768178) 0 0)}8%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.765946) 0 0)}10%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.762408) 0 0)}12%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.757334) 0 0)}14%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.750518) 0 0)}16%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.741786) 0 0)}18%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.730987) 0 0)}20%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.717996) 0 0)}22%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.702720) 0 0)}24%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.685097) 0 0)}26%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.665109) 0 0)}28%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.642781) 0 0)}30%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.618195) 0 0)}32%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.591494) 0 0)}34%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}36%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}38%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}40%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}42%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}44%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}46%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}48%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}50%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}52%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}54%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}56%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}58%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}60%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}62%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}64%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}66%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}68%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}70%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}72%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}74%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}76%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}78%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}80%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}82%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}84%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}86%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}88%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}90%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}92%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}94%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}96%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}98%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}100%{clip-path:inset(calc(var(--manage-reveal-origin) + var(--manage-reveal-unit) * 0.571579) 0 0)}}
.manage-card .manage-paper{top:var(--paper-start-top);left:var(--paper-start-left);width:var(--paper-start-width);height:var(--paper-start-height)}
.manage-card.is-lifting .manage-paper{top:var(--paper-final-top);left:var(--paper-final-left);width:var(--paper-final-width);height:var(--paper-final-height);transform:perspective(280px) rotateX(0deg) rotateZ(var(--paper-tilt))}
.manage-card.is-lifting .manage-paper .paper-topic{font-size:var(--paper-font,14px)}
.manage-card.is-compact .paper-writing{display:none}
.manage-paper .paper-topic{padding-right:4px}
.manage-paper .topic-remove{visibility:hidden}
.manage-card.is-ready .manage-paper .topic-remove{visibility:visible;pointer-events:auto;color:#30343b}
.manage-editor{width:100%;min-width:0;margin-top:0;visibility:hidden}
.manage-card.is-ready .manage-editor{visibility:visible}
.manage-card.is-returning .manage-editor,.manage-card.is-returning .topic-remove{visibility:hidden;pointer-events:none}
.manage-card.is-closing .manage-papers{animation:manage-paper-cover 1s linear both}
@keyframes manage-paper-cover{0%,80.99%{clip-path:inset(0)}81%{clip-path:inset(0 0 var(--manage-cover-bottom) 0)}83%,100%{clip-path:inset(0 0 100% 0)}}
.manage-editor-actions{display:flex;gap:12px;margin-top:16px}
.manage-editor .additional-topic-form{margin-top:0}
@media(max-width:600px){#manage-panel.is-editing{padding-inline:12px}.manage-card.is-editing .manage-visual{width:220px;height:232.222px}.manage-editor .additional-topic-form .entry-box{padding-inline:48px}}
@media(prefers-reduced-motion:no-preference){.manage-paper{transition:top 1.3s cubic-bezier(.2,.8,.2,1),left 1.3s cubic-bezier(.2,.8,.2,1),width 1.3s ease,height 1.3s ease,transform 1.3s cubic-bezier(.2,.8,.2,1);transition-delay:var(--paper-delay)}.manage-card.is-returning .manage-paper{transition-duration:.9s;transition-delay:var(--paper-return-delay)}}
.briefing-switch{position:absolute;top:8px;right:12px;display:grid;place-items:center;width:52px;height:44px;border:0;padding:0;background:transparent}
.switch-track{position:relative;display:block;width:46px;height:26px;border-radius:20px;background:#000}
.switch-track:after{content:"";position:absolute;top:2px;left:22px;width:22px;height:22px;border-radius:50%;background:#fff}
.briefing-switch[aria-checked=false] .switch-track{background:#8a8a8a}
.briefing-switch[aria-checked=false] .switch-track:after{left:2px}
.manage-actions{display:flex;gap:12px;width:100%}
.manage-action{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0;min-height:44px;padding:10px 12px;border:0;border-radius:9px;font-size:14px;line-height:1.3;color:#fff}
.manage-create{flex:none;padding:10px 20px}
.manage-edit{background:var(--blue)}
.manage-edit:hover{background:#2b58c9}
.manage-delete{background:#c8373b}
.manage-delete:hover{background:#af3034}
.delete-dialog{width:min(360px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:24px;border:3px solid #000;border-radius:14px;background:#fff;color:#20242c}
.delete-dialog::backdrop{background:#0004}
.delete-dialog h2{margin:0;font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
.delete-dialog-actions{display:flex;justify-content:space-between;gap:24px;margin-top:48px}
.delete-dialog-actions .manage-action{flex:none;width:calc((100% - 24px)/2);max-width:110px}
.manage-cancel{border:2px solid #000;background:#fff;color:#20242c}
.manage-cancel:hover{background:#f5f6f8}
.briefing-switch:focus-visible,.manage-action:focus-visible{outline:2px solid #000;outline-offset:4px}
@media(min-width:720px){.briefcase-tabs{gap:32px}.briefcase-tab{font-size:15px;padding:8px 4px}}
main{position:relative;isolation:isolate}
.flow-step{position:relative;z-index:1;min-height:max(100svh,600px);display:grid;place-items:center;padding:72px 24px 40px}
#interest-step{overflow:hidden}
.topic-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.topic-word,.topic-measure{position:absolute;white-space:nowrap;line-height:1.2;font-weight:400}
.topic-measure{visibility:hidden}
.topic-word{color:#adb4bf;font-size:var(--word-size);opacity:0;animation:topic-fall linear infinite;will-change:transform;transform-origin:center}
.topic-word.has-briefcase{--particle-opacity:1}
.topic-word.has-briefcase img{display:block;width:100%;height:100%;opacity:.5}
.topic-scatter{position:absolute;white-space:pre;line-height:1.2;font-weight:400;font-size:var(--word-size);color:#adb4bf;pointer-events:none;will-change:transform;animation:topic-scatter 2.2s cubic-bezier(.3,.1,.5,1) both}
.topic-scatter img{display:block;width:100%;height:100%;opacity:.5}
.topic-rain.is-paused .topic-word,.topic-rain.is-paused .topic-scatter{animation-play-state:paused}
@keyframes topic-scatter{0%{transform:translate(-50%,-50%) rotate(var(--tilt));opacity:var(--scatter-opacity)}90%{opacity:var(--scatter-opacity)}100%{transform:translate(calc(-50% + var(--scatter-x)),calc(-50% + var(--scatter-y))) rotate(var(--scatter-spin));opacity:0}}
@keyframes topic-fall{0%{transform:translate3d(0,0,0) rotate(var(--tilt));opacity:0}12%,86%{opacity:var(--particle-opacity,.55)}100%{transform:translate3d(0,var(--fall-distance),0) rotate(var(--tilt));opacity:0}}
#interest-step .step-card{z-index:1}
.interest-frequency{position:absolute;top:calc(100% + 32px);left:0;right:0;margin:0;text-align:center;pointer-events:none}
@media(prefers-reduced-motion:reduce){.topic-rain{display:none}}
/* Center the same heading-and-input frame on every step. Supporting controls
   sit above/below it, so Back, errors, and Finish never change its position. */
.step-card{--heading-height:calc(clamp(36px,8.5vw,56px)*2.3);position:relative;width:min(100%,680px);display:grid;grid-template-rows:var(--heading-height) 78px;row-gap:32px;transform:translateY(-24px)}
.step-card h1,.interest-frequency{font-size:clamp(36px,8.5vw,56px);font-weight:600;line-height:1.15;letter-spacing:-.058em;color:#20242c}
.step-card h1{grid-row:1;height:var(--heading-height);max-width:none;margin:0;text-wrap:balance}
.step-card .entry-box,.step-card .time-row{grid-row:2}
.step-card>.error{position:absolute;top:100%;left:0;right:0}
@media(min-width:720px){.step-card{--heading-height:64.4px}}
@media(prefers-reduced-motion:no-preference){.flow-step{animation:step-enter .18s ease-out}@keyframes step-enter{from{opacity:0}to{opacity:1}}}
#interest-step h1,#email-step h1,#delivery-step h1{text-align:center}
#interest-step .entry-box,#email-step .entry-box{position:relative;padding-left:64px;padding-right:64px}
#interests,#email{text-align:center;caret-color:transparent}
#interests::placeholder{color:transparent}
#interest-next,#email-step .entry-next{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.suggestion-layer{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;gap:2px;pointer-events:none;font-size:24px;letter-spacing:-.035em;color:#707b8b}
.suggestion-caret,.entry-caret,.time-caret{width:2px;height:1em;background:#000;opacity:1;animation:caret-blink 1.2s step-end infinite}
.suggestion-caret{flex:0 0 2px}
.entry-caret{position:absolute;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.caret-mirror{position:absolute;top:50%;transform:translateY(-50%);width:max-content;white-space:pre;visibility:hidden;pointer-events:none}
@keyframes caret-blink{0%,100%{opacity:1}65%{opacity:0}}
@media(max-width:420px){.suggestion-layer{font-size:21px}#interest-step .entry-box,#email-step .entry-box{padding-left:58px;padding-right:58px}}
@media(prefers-reduced-motion:reduce){.suggestion-caret,.entry-caret,.time-caret{animation:none}}
.entry-box{display:flex;align-items:center;border:3px solid #000;border-radius:14px;min-height:78px;padding:8px 10px 8px 22px;background:#fff;gap:10px;overflow:hidden}
.entry-box:focus-within{border-color:#000;box-shadow:0 0 0 3px #0000000a}
.entry-box input{border:0;border-radius:0;background:transparent;min-height:56px;padding:8px 0;font-size:24px;letter-spacing:-.035em;outline:none!important;flex:1;width:0}
.entry-box input::placeholder{color:#a0a8b5}
.entry-next{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:9px;background:var(--blue);color:white;font-size:24px;display:grid;place-items:center}
.entry-next:hover{background:#2b58c9}
.back-button{position:absolute;top:-60px;left:0;display:flex;gap:8px;align-items:center;border:0;background:transparent;color:var(--muted);padding:8px 0;margin:0;font-size:13px}
@media(max-width:600px){#email-back,#delivery-back{top:-100px;gap:16px;padding:16px 0;font-size:26px}}
.step-card .time-row{gap:18px;grid-template-columns:minmax(145px,1fr) minmax(0,1.15fr)}
.step-card .time-row input,.step-card select{min-height:60px;font-size:18px}
.step-card .primary{margin-top:8px;min-height:58px;font-size:15px}
.step-card .error{font-size:13px}
#interest-step .error,#email-step .error{text-align:center}
.confirmation-card{width:min(100%,520px);grid-template-rows:auto auto auto auto;row-gap:20px;text-align:center;padding:0;border:0;background:transparent;box-shadow:none;transform:translateY(-12px)}
.confirmation-back{display:none}
.confetti-burst{position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.confetti-piece{position:absolute;top:-24px;opacity:1;will-change:transform;animation:confetti-fall 2.2s cubic-bezier(.3,.1,.65,1) both}
@keyframes confetti-fall{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(var(--drift-x),var(--fall-y),0) rotate(var(--spin))}}
@media(prefers-reduced-motion:reduce){.confetti-burst{display:none}}
.confirmation-card h1{height:auto;overflow-wrap:anywhere}
.confirmation-card h1:focus{outline:none}
.briefcase-visual{grid-row:1;position:relative;width:220px;max-width:100%;aspect-ratio:900/950;margin:0 auto;line-height:0}
.briefcase-visual:focus{outline:none}
.briefcase-poster,.briefcase-closing{position:absolute;left:-10%;top:-2.526316%;display:block;width:120%;height:auto;pointer-events:none;clip-path:inset(2.222223% 8.333334% 9.814815%)}
.briefcase-closing{z-index:1;opacity:0}
.briefcase-paper-layer{position:absolute;inset:0;z-index:5;pointer-events:none}
.briefcase-paper-blank{position:absolute;left:38%;top:60.5%;width:26%;height:12%;background:#fffef8}
.briefcase-papers{position:absolute;inset:0;z-index:5;pointer-events:none}
.briefcase-visual.is-closing{overflow:clip}
.briefcase-visual.is-playing .briefcase-closing{opacity:1}
.briefcase-paper{position:absolute;top:var(--paper-top);left:var(--paper-left);width:44%;height:19%;padding:4px 8px;background:#fffdf6;border:1px solid #d2cbb7;border-radius:2px;box-shadow:0 2px 4px #00000020;transform:perspective(280px) rotateX(50deg) rotateZ(var(--paper-tilt));transform-origin:50% 0;display:flex;flex-direction:column;gap:3px;line-height:1.15}
.paper-topic{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:11px;font-weight:600;line-height:1.15;color:#30343b}
.paper-writing{width:100%;flex:1;min-height:0}
@media(min-width:720px){.briefcase-visual{width:250px}.paper-topic{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.briefcase-paper.is-new{animation:paper-in 1.15s cubic-bezier(.4,0,.2,1) both}@keyframes paper-in{0%{transform:perspective(280px) translateY(var(--paper-entry-y)) rotateX(0deg) rotateZ(calc(var(--paper-tilt) - 8deg))}70%{transform:perspective(280px) translateY(-35px) rotateX(12deg) rotateZ(var(--paper-tilt))}100%{transform:perspective(280px) translateY(0) rotateX(50deg) rotateZ(var(--paper-tilt))}}}
#heading:focus{outline:none}
.confirmation-card .confirmation-done{position:static;grid-row:4;justify-self:center;transform:none;justify-content:center;width:160px;min-height:46px;margin:0;padding:12px 24px;font-size:14px}
.additional-topic-form{grid-row:3;min-width:0;margin-top:8px}
.additional-topic-form label{text-align:center;color:var(--muted);font-size:14px;margin-bottom:12px}
.additional-topic-form .entry-box{position:relative;min-height:66px;padding:8px 52px;gap:0}
.additional-topic-form .entry-next{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;flex-basis:40px}
#additional-topic,#manage-topic{font-size:21px;text-align:center;caret-color:transparent;min-height:44px}
#additional-topic::placeholder,#manage-topic::placeholder{font-size:clamp(11px,2.8vw,17px);letter-spacing:-.025em}
.additional-topic-form .error{text-align:center}
.added-topics{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.added-topics li{position:relative;max-width:100%;overflow-wrap:anywhere;border-radius:20px;padding:8px 22px 8px 12px;background:#f5f6f8;color:var(--muted);font-size:14px}
.topic-remove{position:absolute;right:-4px;top:-7px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #dde1e7;border-radius:50%;background:#fff;color:#68717f;font-size:17px;line-height:1;opacity:1}
.confirmation-delivery{grid-row:2;align-self:center;margin:0;font-size:20px;line-height:1.55;color:#424955;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:420px){.confirmation-delivery{font-size:17px}}
#delivery-step .time-row{grid-template-columns:1fr;width:min(100%,320px);margin:0 auto}
#delivery-step .field{position:relative;margin:0}
#delivery-step .time-entry{position:relative}
#delivery-step #time{height:78px;text-align:center;caret-color:transparent;color:transparent;border:3px solid #000;border-radius:14px;font-size:24px;letter-spacing:4px;font-variant-numeric:tabular-nums;outline:none;box-shadow:none}
#delivery-step #time::placeholder{color:transparent}
.time-guide{position:absolute;inset:3px;display:flex;align-items:center;justify-content:center;gap:4px;pointer-events:none;font-size:24px;font-variant-numeric:tabular-nums;color:#989fab}
.time-guide .filled{color:#000}
.time-caret{position:absolute;top:50%;transform:translate(-50%,-50%)}
#delivery-step .field>.error{position:absolute;top:100%;left:0;right:0}
#delivery-step .error{text-align:center;white-space:pre-line}
.period-switch{position:absolute;top:calc(100% + 44px);left:50%;transform:translateX(-50%);display:flex;gap:4px;width:fit-content;margin:0;padding:4px;border:1px solid #dde1e7;border-radius:9px;background:#f5f6f8}
.period-switch label{position:relative;margin:0;cursor:pointer}
.period-switch input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0}
.period-switch span{display:grid;place-items:center;width:66px;min-height:40px;border-radius:5px;font-size:14px;color:var(--muted)}
.period-switch input:checked+span{background:#fff;color:#20242c;box-shadow:0 1px 4px #00000012}
.period-switch input:focus-visible+span{outline:3px solid #89aaff;outline-offset:2px}
.primary.finish-button{position:absolute;top:calc(100% + 114px);left:50%;transform:translateX(-50%);justify-content:center;width:160px;min-height:46px;margin:0;padding:12px 24px;font-size:14px}
.primary.finish-button span{font-size:inherit;line-height:inherit}
@media(max-width:420px){.step-card .time-row{grid-template-columns:1fr}.step-card h1{font-size:36px}.entry-box{padding-left:17px}.entry-box input{font-size:21px}}

/* Collections keep two cards per row, including a centered odd final card. */
#manage-panel.has-briefcases{display:flex;flex-direction:column;justify-content:flex-start;gap:28px;min-height:100svh;padding:100px 12px 32px}
.manage-banner{display:grid;grid-template-columns:1fr;align-items:center;gap:16px;width:min(100%,728px);padding-bottom:18px;border-bottom:2px solid #20242c}
.manage-banner h1{margin:0;text-align:center;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.025em}
.manage-banner .manage-create{justify-self:end;font-size:12px;padding:10px 12px}
.manage-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;width:min(100%,728px)}
#manage-panel:has(.manage-grid>.manage-card:only-child) .manage-banner{width:min(100%,280px);grid-template-columns:1fr}
#manage-panel:has(.manage-grid>.manage-card:only-child) .manage-banner h1,#manage-panel:has(.manage-grid>.manage-card:only-child) .manage-banner .manage-create{grid-column:auto}
.manage-grid>.manage-card{flex:0 0 calc((100% - 16px)/2);max-width:350px;width:100%;min-width:0;transform:none;padding:82px 10px 16px;gap:20px}
.manage-grid>.manage-card:only-child{flex-basis:280px}
.manage-grid .manage-stage{width:min(100%,200px);height:auto;min-height:0;aspect-ratio:200/112;flex:none}
.manage-grid .manage-visual{transform:translateY(-48.315789%)}
.manage-delivery-time,.manage-topic-list{font-size:14px;font-weight:600;line-height:1.4;color:#20242c}
.manage-delivery-time{position:absolute;top:12px;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
.manage-grid .briefing-switch{top:38px}
.manage-topic-list{display:block;width:100%;min-height:44px;list-style:none;margin:0;padding:10px 0;text-align:center;overflow-wrap:break-word}
.manage-topic-list li{display:inline}
.manage-topic-list li+li::before{content:"";display:inline-block;width:.25em;height:.25em;margin:0 .4em;border-radius:50%;background:currentColor;vertical-align:.23em}
.manage-card.is-editing .manage-topic-list,.manage-card.is-editing .manage-delivery-time{display:none}
.manage-grid .manage-actions{gap:8px;margin-top:auto}
.manage-grid .manage-actions .manage-action{font-size:12px;padding:10px 4px;gap:4px}
.manage-grid .manage-actions svg{width:13px;flex:none}
#manage-panel.has-briefcases.is-editing{height:100svh;padding:84px 12px 20px;gap:0}
#manage-panel.is-editing .manage-banner,#manage-panel.is-editing .manage-card:not(.is-editing){display:none}
#manage-panel.is-editing .manage-grid{width:min(100%,520px);height:100%;min-height:0;display:block}
.manage-grid>.manage-card.is-editing{width:100%;max-width:none;height:100%;padding:0;gap:16px}
.manage-grid>.manage-card.is-editing .manage-stage{width:100%;height:100%;aspect-ratio:auto}
.manage-grid>.manage-card.is-editing .manage-visual{transform:translateX(-50%)}
.confirmation-delivery{font-family:inherit;font-weight:400;letter-spacing:-.025em}
@media(min-width:600px){
  #manage-panel.has-briefcases{padding:116px 24px 40px;gap:36px}
  .manage-banner{grid-template-columns:1fr auto 1fr;padding-bottom:22px}
  .manage-banner h1{grid-column:2;font-size:32px}
  .manage-banner .manage-create{grid-column:3;font-size:14px;padding:12px 20px}
  .manage-topic-list,.manage-delivery-time{font-size:16px}
  .manage-topic-list{min-height:52px}
  .manage-delivery-time{top:16px}
  .manage-grid .briefing-switch{top:8px}
  .manage-grid{gap:28px}
  .manage-grid>.manage-card{flex-basis:calc((100% - 28px)/2);padding:54px 20px 20px}
  .manage-grid>.manage-card:only-child{flex-basis:350px}
  #manage-panel:has(.manage-grid>.manage-card:only-child) .manage-banner{width:min(100%,350px)}
  .manage-grid .manage-actions{gap:12px}
  .manage-grid .manage-actions .manage-action{font-size:14px;padding:10px 12px;gap:7px}
  .manage-grid .manage-actions svg{width:16px}
  #manage-panel.has-briefcases.is-editing{padding:84px 24px 20px;gap:0}
}
/* Phone revisions leave desktop collection and confirmation rules intact. */
@media(max-width:600px){
  .manage-banner,#manage-panel:has(.manage-grid>.manage-card:only-child) .manage-banner{width:min(100%,350px);grid-template-columns:1fr;border-bottom:0}
  .manage-banner h1,.manage-banner .manage-create{grid-column:1}
  .manage-banner .manage-create{justify-self:center}
  .manage-banner .manage-create,.manage-grid .manage-actions .manage-action{font-size:14px}
  #manage-panel:not(.is-editing) .manage-grid{width:min(100%,350px);flex-direction:column;align-items:center;gap:24px}
  .manage-grid>.manage-card:not(.is-editing){flex:0 0 auto;width:100%;max-width:350px;padding:100px 20px 20px}
  .manage-delivery-time,.manage-topic-list{font-size:18px}
  .manage-delivery-time{top:14px}
  .manage-grid .manage-card:not(.is-editing) .briefing-switch{top:44px;left:50%;right:auto;transform:translateX(-50%)}
  #email-form,#delivery-form{transform:none;top:-24px}
  #result-step{padding-top:116px}
  .confirmation-card{transform:none;top:-12px;padding-top:88px}
  #email-back,#delivery-back,.confirmation-card .confirmation-back{position:fixed;top:100px;left:24px;z-index:3;gap:16px;padding:16px 0;font-size:26px}
  .confirmation-card .confirmation-back{display:flex}
  .confirmation-delivery{font-size:clamp(20px,4.7vw,22px);line-height:1.5}
  #additional-topic-form .entry-box,#manage-topic-form .entry-box{padding-inline:12px 56px}
  #additional-topic::placeholder,#manage-topic::placeholder{font-size:clamp(12px,3.6vw,18px)}
}
