:root{--paper:#101411;--ink:#edf1e9;--muted:#929b91;--line:#303931;--green:#b7d46a;--sage:#263528;--card:#181e19;--accent:#e3a85b}
body{background-color:var(--paper);background-image:radial-gradient(#273028 .7px,transparent .7px)}
.topbar{background:rgba(16,20,17,.95)}.brand{font-family:Georgia,serif}.editor{background:rgba(20,26,21,.74)}.archive{background:rgba(12,16,13,.45)}
h1,h2{color:var(--ink);font-family:Georgia,"Microsoft YaHei",serif}.field>span{color:#bac2b9}
input,select,textarea{background:#121713;color:var(--ink)}select option{background:#171d18;color:var(--ink)}
.primary{color:#142012;box-shadow:4px 4px 0 #40513b}.primary:hover{box-shadow:6px 6px 0 #40513b}
.essay-card h3{color:var(--ink);font-family:Georgia,"Microsoft YaHei",serif;line-height:1.45}.badge.type{background:#3c2c21;color:#edbd80}.card-draft{color:#b5bcb3}.toast{color:#142012}
.compact-field{max-width:72%}.card-question{margin:-5px 64px 12px 0;color:var(--muted);font-size:11px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:580px){.compact-field{max-width:none}}
.essay-body-field{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.essay-body-field textarea{min-height:320px;font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.9}.word-counter{display:flex!important;justify-content:flex-end;gap:5px}.word-counter.ready,.word-counter.ready #wordGoal{color:var(--green)}.card-body{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line);color:#d2d8d0;font:13px/1.75 Georgia,"Times New Roman",serif;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.timer-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:1px 0 25px;padding:18px 20px;border:1px solid var(--line);background:linear-gradient(135deg,#161d17,#111612)}.timer-copy{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:15px;min-width:190px}.timer-copy>span{grid-column:1/-1;color:var(--accent);font:700 9px Georgia,serif;letter-spacing:2px}.timer-copy strong{margin-top:5px;color:var(--ink);font:500 30px/1 Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums;letter-spacing:1px}.timer-copy small{align-self:end;color:var(--muted);font-size:10px;white-space:nowrap}.timer-panel.running{border-color:#536842;box-shadow:inset 3px 0 var(--green)}.timer-panel.running .timer-copy strong{color:var(--green)}.timer-panel.paused{border-color:#6d583c;box-shadow:inset 3px 0 var(--accent)}.timer-panel.paused .timer-copy strong{color:var(--accent)}.timer-controls{display:flex;gap:7px}.timer-btn{height:39px;padding:0 12px;border:1px solid #465047;background:#202821;color:#cbd2c9;cursor:pointer;font:700 10px inherit;letter-spacing:.3px}.timer-btn.start{border-color:#657e4e;color:var(--green)}.timer-btn.finish{border-color:#704538;color:#dda082}.timer-btn:hover:not(:disabled){background:#2a342b}.timer-btn:disabled{cursor:not-allowed;opacity:.32}.timer-btn span{margin-left:4px}@media(max-width:700px){.timer-panel{align-items:stretch;flex-direction:column}.timer-controls{display:grid;grid-template-columns:repeat(3,1fr)}.timer-btn{padding:0 6px}}@media(max-width:430px){.timer-btn span{display:block;margin:2px 0 0}.timer-btn{height:48px}}
.archive-heading{align-items:center;margin-bottom:8px}.backup-actions{display:flex;gap:7px}.backup-btn{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:0 10px;border:1px solid #48564a;background:#1b231c;color:#c8d0c6;cursor:pointer;font:700 10px inherit;white-space:nowrap}.backup-btn:hover{border-color:var(--green);color:var(--green)}.import-btn{box-sizing:border-box}.backup-note{margin:0 0 18px;color:var(--muted);font-size:10px;text-align:right}@media(max-width:520px){.archive-heading{align-items:flex-start;gap:15px;flex-direction:column}.backup-note{text-align:left}.backup-actions{width:100%}.backup-btn{flex:1}}

/* Collapsible archive drawer */
main{display:block;min-height:calc(100vh - 109px)}.editor{min-height:calc(100vh - 109px);border-right:0}.archive{position:fixed;inset:0 0 0 auto;z-index:42;display:flex;width:min(560px,calc(100vw - 44px));height:100vh;flex-direction:column;padding:36px 34px 28px;border-left:1px solid var(--line);background:#101511;box-shadow:-22px 0 60px rgba(0,0,0,.48);transform:translateX(102%);visibility:hidden;transition:transform .28s ease,visibility .28s}.archive.is-open{visibility:visible;transform:translateX(0)}.archive .essay-list{min-height:0;max-height:none;flex:1}.archive-heading-actions{display:flex;align-items:center;gap:10px}.archive-close{display:grid;width:35px;height:35px;border:1px solid #48564a;background:#1b231c;color:#c8d0c6;cursor:pointer;font:300 24px/1 Arial,sans-serif;place-items:center}.archive-close:hover{border-color:var(--accent);color:var(--accent)}.archive-toggle{position:fixed;right:20px;bottom:22px;z-index:30;display:grid;grid-template-columns:1fr auto;min-width:150px;padding:12px 14px;border:1px solid #657e4e;background:#182019;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 10px 32px rgba(0,0,0,.38)}.archive-toggle:hover{border-color:var(--green);transform:translateY(-1px)}.archive-toggle>span{grid-column:1/-1;color:var(--accent);font:700 8px Georgia,serif;letter-spacing:2px}.archive-toggle>strong{margin-top:4px;font:700 13px inherit}.archive-toggle>b{display:grid;min-width:25px;height:25px;margin-left:12px;border-radius:50%;background:var(--green);color:#142012;font:700 11px inherit;place-items:center}.archive-open .archive-toggle{opacity:0;pointer-events:none}.archive-backdrop{position:fixed;inset:0;z-index:41;border:0;background:rgba(3,6,4,.67);opacity:0;visibility:hidden;cursor:default;transition:opacity .25s,visibility .25s}.archive-open .archive-backdrop{opacity:1;visibility:visible}.archive-open{overflow:hidden}

/* Daily bugs */
.bugs-field{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.bugs-field textarea{min-height:135px;border-color:#4d3d30;background:#171410}.bugs-field>span{color:#e2ad6d}.card-bugs{margin:13px 0 0;padding:12px 13px;border-left:2px solid var(--accent);background:#1c1813;color:#c8c0b5;font-size:11px;line-height:1.7;white-space:pre-wrap}.card-bugs strong{display:block;margin-bottom:4px;color:var(--accent);font:700 9px Georgia,serif;letter-spacing:1.5px}.card-bugs.empty-bugs{color:#777269;font-style:italic}

@media(max-width:580px){.archive{width:100vw;padding:28px 20px 22px}.archive-heading{align-items:flex-start;flex-direction:row}.archive-heading-actions{align-items:flex-end;flex-direction:column-reverse}.archive-heading-actions .backup-actions{width:auto}.archive-heading-actions .backup-btn{flex:none}.archive-toggle{right:14px;bottom:14px}.archive-backdrop{display:none}}

/* Wide writing desk: details left, main essay right */
.editor.panel{padding:30px clamp(24px,3.2vw,54px) 24px}.editor>.section-title{margin-bottom:20px}.form-layout{display:grid;grid-template-columns:minmax(390px,.72fr) minmax(570px,1.28fr);gap:clamp(28px,3.2vw,58px);align-items:stretch}.details-column,.writing-column{min-width:0}.details-column{display:flex;flex-direction:column}.writing-column{display:grid;grid-template-rows:minmax(420px,1fr) auto;gap:16px;padding-left:clamp(22px,2.3vw,40px);border-left:1px solid var(--line)}.details-column .field{margin-bottom:12px}.details-column .compact-field{max-width:72%}.details-column input,.details-column select{height:40px}.details-column .grid-2{gap:12px}.details-column .grid-3{gap:9px}.details-column .timer-panel{margin:0 0 13px;padding:12px 14px}.details-column .timer-copy strong{font-size:25px}.details-column .timer-btn{height:35px;padding:0 9px}.plan-field{display:flex;min-height:0;flex:1;flex-direction:column}.plan-field textarea{min-height:135px;height:clamp(135px,17vh,190px);line-height:1.65}.essay-body-field{display:flex;min-height:0;margin:0;padding:0;border-top:0;flex-direction:column}.essay-body-field textarea{min-height:420px;height:100%;flex:1;font-size:16px;line-height:1.85}.writing-column .bugs-field{margin:0;padding:15px 0 0}.writing-column .bugs-field textarea{min-height:92px;height:clamp(92px,11vh,125px)}.form-actions{margin-top:17px}.primary{min-width:190px}

@media(max-width:1120px){.form-layout{grid-template-columns:minmax(360px,.8fr) minmax(470px,1.2fr);gap:26px}.writing-column{padding-left:24px}.details-column .timer-panel{align-items:stretch;flex-direction:column}.details-column .timer-controls{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.editor.panel{padding:34px 24px}.form-layout{display:block}.writing-column{display:block;margin-top:24px;padding:24px 0 0;border-top:1px solid var(--line);border-left:0}.essay-body-field textarea{height:480px}.writing-column .bugs-field{margin-top:22px}.plan-field textarea{height:170px}.form-actions{margin-top:22px}}

/* GPT-style right archive sidebar */
:root{--archive-width:360px;--archive-rail:52px}.topbar,main{margin-right:var(--archive-rail);transition:margin-right .28s ease}.archive-open .topbar,.archive-open main{margin-right:var(--archive-width)}.archive-open{overflow:auto}.archive{inset:0 0 0 auto;width:var(--archive-width);padding:22px 18px 18px;border-left:1px solid var(--line);background:#111612;box-shadow:none;transform:translateX(100%)}.archive.is-open{transform:translateX(0)}.archive-toggle{inset:0 0 0 auto;display:flex;width:var(--archive-rail);min-width:0;height:100vh;padding:18px 8px;border:0;border-left:1px solid var(--line);background:#151b16;align-items:center;justify-content:center;flex-direction:column;gap:13px;box-shadow:none}.archive-toggle:hover{border-color:#59684f;background:#1b231c;transform:none}.archive-toggle>span{grid-column:auto;color:var(--accent);font:700 7px Georgia,serif;letter-spacing:1.2px;writing-mode:vertical-rl}.archive-toggle>strong{margin:0;font:700 12px inherit;letter-spacing:2px;writing-mode:vertical-rl}.archive-toggle>b{min-width:25px;margin:0}.archive-backdrop{display:none!important}.archive-heading{align-items:flex-start}.archive-heading h2{font-size:23px}.archive-heading-actions{gap:7px}.backup-actions{gap:5px}.backup-btn{min-height:31px;padding:0 7px;font-size:9px}.archive-close{width:31px;height:31px}.archive .backup-note{text-align:left}.archive .essay-list{gap:5px;padding-right:2px}.archive .essay-card{padding:12px 11px;background:#171d18;box-shadow:none}.archive .essay-card:hover{background:#1d251e;border-color:#465446}.archive .essay-card h3{margin-bottom:7px;padding-right:72px;font-size:14px;line-height:1.35}.archive .card-question,.archive .card-draft,.archive .card-body{display:none}.archive .badges{gap:4px}.archive .badge{padding:2px 6px;font-size:8px}.archive .card-meta{margin-top:8px;gap:7px;flex-wrap:wrap;font-size:9px}.archive .card-bugs{margin-top:8px;padding:7px 8px;font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.archive .card-bugs strong{font-size:7px}.archive .card-actions{right:7px;top:7px}.archive .icon-btn{font-size:9px}.archive .filters{padding-bottom:12px}.archive .result-meta{margin:10px 0}.archive .empty{padding:55px 8px}

/* Timer first and a question field that grows downward */
.top-timer{margin:0 0 20px;padding:12px 16px}.top-timer .timer-copy{grid-template-columns:auto auto 1fr}.top-timer .timer-copy>span{grid-column:auto;align-self:center;margin-right:2px}.top-timer .timer-copy strong{margin:0;font-size:26px}.top-timer .timer-copy small{align-self:center}.question-field textarea{min-height:54px;height:54px;max-height:160px;padding:10px 13px;line-height:1.55;resize:none;overflow-y:hidden}.details-column .question-field{margin-bottom:12px}

@media(max-width:1180px){.archive-open .form-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:22px}.archive-open .writing-column{padding-left:20px}.archive-open .details-column .grid-2{grid-template-columns:1fr}.archive-open .details-column .field{margin-bottom:9px}}
@media(max-width:900px){:root{--archive-width:min(390px,100vw)}.topbar,main,.archive-open .topbar,.archive-open main{margin-right:var(--archive-rail)}.archive-open{overflow:hidden}.archive{box-shadow:-20px 0 60px rgba(0,0,0,.55)}.archive-open .form-layout{display:block}.top-timer{align-items:stretch;flex-direction:column}.top-timer .timer-copy{grid-template-columns:auto 1fr}.top-timer .timer-copy>span{grid-column:1/-1}.top-timer .timer-controls{display:grid;grid-template-columns:repeat(3,1fr)}}

/* Draggable writing-column divider */
.form-layout{--details-percent:40%;grid-template-columns:minmax(330px,var(--details-percent)) 14px minmax(480px,1fr);gap:0}.writing-column{padding-left:clamp(18px,2vw,34px)}.column-resizer{position:relative;min-width:14px;height:100%;cursor:col-resize;touch-action:none;outline:none}.column-resizer::before{position:absolute;inset:0 6px;content:"";background:var(--line);transition:background .15s,box-shadow .15s}.column-resizer span{position:sticky;top:50vh;display:block;width:8px;height:42px;margin-left:3px;border:1px solid #536055;border-radius:8px;background:#1d251e;transform:translateY(-50%);opacity:.78}.column-resizer span::before{position:absolute;inset:8px 2px;content:"";border-left:1px solid #7e897e;border-right:1px solid #7e897e}.column-resizer:hover::before,.column-resizer:focus::before,.column-resizer.dragging::before{background:var(--green);box-shadow:0 0 12px rgba(183,212,106,.25)}.column-resizer:hover span,.column-resizer:focus span,.column-resizer.dragging span{border-color:var(--green);opacity:1}.resizing-columns,.resizing-columns *{cursor:col-resize!important;user-select:none!important}.resizing-columns iframe{pointer-events:none}
@media(min-width:901px) and (max-width:1180px){.archive-open .form-layout{grid-template-columns:minmax(300px,var(--details-percent)) 14px minmax(360px,1fr);gap:0}}
@media(max-width:900px){.form-layout,.archive-open .form-layout{display:block}.column-resizer{display:none}.writing-column{padding-left:0}}

/* Account, authentication and local-to-cloud migration */
[hidden]{display:none!important}

.topbar-right{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:clamp(18px,2.6vw,38px)}
.topbar-right .stats{flex:0 0 auto}
.account-panel{display:flex;min-width:0;max-width:min(38vw,420px);align-items:center;gap:11px;padding-left:20px;border-left:1px solid var(--line)}
.account-panel>strong{min-width:0;max-width:190px;overflow:hidden;color:var(--ink);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.account-panel button{min-height:34px;padding:0 10px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;font:700 9px inherit;letter-spacing:.4px;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}
.account-panel button:hover,.account-panel button:focus-visible{border-color:var(--accent);background:#211b15;color:var(--accent);outline:none}
.sync-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:5px 8px;border:1px solid #40513b;border-radius:999px;background:var(--sage);color:var(--green);font-size:8px;font-weight:700;letter-spacing:.45px;white-space:nowrap}
.sync-status::before{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(183,212,106,.09);content:""}
.sync-status.syncing{border-color:#6d583c;background:#211b15;color:var(--accent)}
.sync-status.syncing::before{animation:sync-pulse 1.1s ease-in-out infinite}
.sync-status.error{border-color:#704538;background:#241713;color:var(--accent)}
@keyframes sync-pulse{50%{opacity:.35;transform:scale(.72)}}

.auth-screen{position:relative;display:grid;min-height:calc(100vh - 109px);padding:clamp(36px,7vh,76px) 24px;overflow:hidden;place-items:center;isolation:isolate}
.auth-screen::before,.auth-screen::after{position:absolute;z-index:-1;border-radius:50%;content:"";filter:blur(1px);pointer-events:none}
.auth-screen::before{top:8%;left:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(183,212,106,.09),transparent 68%)}
.auth-screen::after{right:8%;bottom:4%;width:360px;height:360px;background:radial-gradient(circle,rgba(227,168,91,.08),transparent 69%)}
.auth-card{width:min(100%,510px);padding:clamp(28px,4vw,46px);border:1px solid var(--line);background:linear-gradient(145deg,rgba(24,30,25,.98),rgba(14,19,15,.98));box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.025)}
.auth-card h1{max-width:420px;font-size:clamp(27px,4vw,36px);line-height:1.22}
.auth-intro{margin:15px 0 25px;color:var(--muted);font-size:12px;line-height:1.8}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:25px;padding:3px;border:1px solid var(--line);background:#111612}
.auth-tabs button{min-height:39px;padding:0 12px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:700 10px inherit;letter-spacing:.4px;transition:background .15s,color .15s,box-shadow .15s}
.auth-tabs button:hover{color:var(--ink)}
.auth-tabs button:focus-visible{outline:1px solid var(--green);outline-offset:-2px}
.auth-tabs button.is-active{background:var(--sage);color:var(--green);box-shadow:inset 0 0 0 1px #40513b}
.auth-form{display:grid;gap:2px}
.auth-form .field{margin-bottom:15px}
.auth-form input{height:47px;background:#111612}
.auth-form input::placeholder{color:#697169}
.auth-submit{width:100%;margin-top:4px}
.auth-submit:disabled{cursor:wait;opacity:.55;transform:none;box-shadow:4px 4px 0 #40513b}
.auth-message{min-height:20px;margin:17px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.auth-message.success{color:var(--green)}
.auth-message.error{color:var(--accent)}
.auth-footnote{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);color:#747d74;font:700 8px Georgia,serif;letter-spacing:1.5px;text-align:center}

.migration-banner{display:flex;margin:16px calc(var(--archive-rail) + clamp(24px,3.2vw,54px)) 0 clamp(24px,3.2vw,54px);padding:15px 17px;border:1px solid #536842;background:linear-gradient(100deg,var(--sage),#182019);align-items:center;justify-content:space-between;gap:22px;box-shadow:0 9px 28px rgba(0,0,0,.18);transition:margin-right .28s ease}
.archive-open .migration-banner{margin-right:calc(var(--archive-width) + clamp(24px,3.2vw,54px))}
.migration-banner>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}
.migration-banner strong{color:var(--green);font-size:12px;letter-spacing:.25px}
.migration-banner span{color:#adb7ac;font-size:10px;line-height:1.55}
.migration-actions{display:flex;flex:0 0 auto;gap:7px}
.migration-actions button{min-height:35px;padding:0 12px;border:1px solid var(--line);background:#1b231c;color:#c8d0c6;cursor:pointer;font:700 10px inherit;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}
.migration-actions button:first-child{border-color:#657e4e;background:var(--green);color:#142012}
.migration-actions button:hover,.migration-actions button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
.migration-actions button:first-child:hover,.migration-actions button:first-child:focus-visible{border-color:var(--green);background:#cae37e;color:#142012}

@media(max-width:1050px){.topbar-right{gap:17px}.account-panel{max-width:310px;padding-left:14px}.sync-status{max-width:105px;overflow:hidden;text-overflow:ellipsis}.account-panel>strong{max-width:125px}.archive-open .account-panel .sync-status{display:none}}
@media(max-width:900px){.archive-open .migration-banner{margin-right:calc(var(--archive-rail) + 24px)}.migration-banner{margin-right:calc(var(--archive-rail) + 24px);margin-left:24px}.topbar-right{gap:14px}.account-panel{max-width:290px}.account-panel>strong{max-width:110px}}
@media(max-width:700px){.topbar{align-items:stretch;flex-direction:column;gap:18px}.topbar-right{width:100%;justify-content:space-between}.topbar-right .stats{gap:18px}.account-panel{max-width:min(58vw,330px)}.sync-status{display:none}.account-panel>strong{max-width:min(28vw,160px)}.migration-banner{align-items:stretch;flex-direction:column;gap:13px}.migration-actions button{flex:1}.auth-screen{min-height:calc(100vh - 166px)}}
@media(max-width:480px){.topbar{padding:20px 18px}.brand{font-size:22px}.topbar-right{align-items:flex-end;flex-direction:column}.topbar-right .stats{width:100%;justify-content:space-between}.account-panel{width:100%;max-width:none;padding:11px 0 0;border-top:1px solid var(--line);border-left:0;justify-content:space-between}.account-panel>strong{max-width:52vw}.auth-screen{min-height:auto;padding:25px 14px 40px}.auth-card{padding:27px 21px}.auth-card h1{font-size:27px}.auth-tabs button{padding:0 7px;font-size:9px}.migration-banner,.archive-open .migration-banner{margin:12px calc(var(--archive-rail) + 12px) 0 12px;padding:14px}.migration-actions{display:grid;grid-template-columns:1fr 1fr}.migration-actions button{padding:0 8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.sync-status.syncing::before{animation:none}.migration-banner{transition:none}}
