@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f5ee;--ink:#264535;--line:#dedfd3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,textarea{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:hover{filter:brightness(.8)}button:focus-visible{outline:3px solid #b89962;outline-offset:4px}header{max-width:1280px;margin:auto;height:100px;padding:0 45px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-size:28px;letter-spacing:-1px;font-weight:600;text-decoration:none;color:var(--ink)}.brand span{color:#baa16c}nav{display:flex;gap:32px}nav button{font-size:12px}main{max-width:1180px;margin:auto;padding:0 25px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#848d73}#season{margin-top:45px}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:445px}h1{font:72px/1.02 'Libre Caslon Display',Georgia,serif;letter-spacing:-1px;margin:27px 0 23px}h1 em{color:#83916a}.hero p{color:#7b8274;line-height:1.85;font-size:14px}.primary{background:#294f3d;color:white;border-radius:4px;padding:15px 22px;font-size:12px}.primary span{margin-left:42px}.hero .primary{margin-top:12px}.note{font-size:11px;color:#939b85;margin-top:17px}.illustration{position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#e8e9d9 0%,transparent 65%)}.book{width:225px;height:295px;background:#2c4c3a;transform:rotate(-11deg);border-radius:3px 8px 8px 3px;border-left:10px solid #213f30;box-shadow:7px 8px #ddd9c9,10px 11px #c6c2ad,22px 25px 40px #2e422329;padding:17px}.book>div{height:100%;border:1px solid #ac996c;color:#d4c191;display:flex;flex-direction:column;align-items:center;padding:20px 0}.book span{font-size:32px;margin-bottom:23px}.book small{font-size:7px;letter-spacing:1.6px}.book strong{font:64px Georgia,serif;margin:10px 0 19px}.book b{font-size:38px;margin-top:18px;font-weight:400}.seal{position:absolute;right:30px;bottom:42px;width:100px;height:100px;background:#e8dfc9;outline:6px solid #e8dfc9;border:1px dashed #af9a6d;border-radius:50%;display:grid;place-items:center;text-align:center;padding:8px;line-height:1.5;transform:rotate(12deg);font-size:12px}.spark{position:absolute;top:36px;right:48px;font-size:42px;color:#b59b66}.calendar{margin-top:52px}.sectionhead{display:flex;align-items:center;justify-content:space-between}h2{font:39px 'Libre Caslon Display',Georgia,serif;margin:10px 0 23px}.progress{width:210px;text-align:right;font-size:11px;color:#7b8570}.track{height:4px;background:#e0e4d5;margin-top:13px}#bar{height:100%;background:#83996c}.calendarbar{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;font-size:11px;color:#828b76}.calendarbar small{font-size:8px;background:#e8eadf;padding:4px}.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.door{height:164px;border:1px solid #dce0cf;border-radius:6px;position:relative;background:#ebeee1;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s}.door:not(:disabled):hover{transform:translateY(-4px)}.door:before{content:'';position:absolute;inset:9px;border:1px dashed #a8b18e70;border-radius:60px 60px 3px 3px}.door:nth-child(4n+2){background:#efe8db;border-color:#e3dac8}.door:nth-child(4n+3){background:#e5e9de}.door:nth-child(4n){background:#f0ece3}.door .num{font:44px 'Libre Caslon Display',Georgia,serif}.door .symbol{font-size:21px;color:#98a07c}.door small{font-size:9px;color:#859077;margin-top:7px}.door .lock{position:absolute;right:15px;top:14px;font-size:10px;color:#97a086}.door.done{background:#d4e0cc}.door.reveal{background:#2b4b3b;color:#dfc893}.door.reveal small{color:#d1c195}.legend{text-align:center;font-size:10px;color:#8f9782;margin:24px 0 40px}.bottom{border:1px solid var(--line);border-radius:6px;background:#eeeee4;padding:28px;display:flex;align-items:center;gap:25px}.bottom>span{font-size:48px;color:#8b9b71}.bottom h3{font:22px Georgia,serif;margin:0 0 9px}.bottom p{font-size:12px;color:#838e78;margin:0}.bottom button{margin-left:auto;font-size:12px}footer{display:flex;align-items:center;justify-content:space-between;margin:48px 0 20px;font-size:10px;color:#8e9782}footer .brand{font-size:23px}footer button{font-size:10px}.privacy{text-align:center;color:#8e9782;font-size:10px;margin:25px 0 35px}dialog{width:650px;max-width:94vw;max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:38px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#19352bb0;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:10px;font-size:28px}textarea,input:not([type=checkbox]){width:100%;padding:12px;border:1px solid #ccd4c0;border-radius:4px;background:#fffdf7;color:var(--ink)}textarea{min-height:180px;line-height:1.8;resize:vertical}label{font-size:12px;display:block}#profile{display:grid;grid-template-columns:2fr 1fr;gap:12px}#profile p{grid-column:1/-1}.hint{color:#7f8973;font-size:12px;line-height:1.7}details{font-size:12px;color:#7f8973;margin:15px 0}.upload{border:1px solid var(--line);padding:10px;display:inline-block;cursor:pointer}#photos{display:flex;gap:8px;margin:10px 0}#photos img{width:65px;height:65px;object-fit:cover;border-radius:4px}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:8px}.actions small{font-size:10px;color:#839473}#biography{height:310px}#message{min-height:100px;margin:10px 0 20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#294f3d;color:white;padding:14px 22px;border-radius:5px;display:none;z-index:5}@media(max-width:700px){header{padding:0 20px;height:80px}nav{gap:10px}.brand{font-size:23px}main{padding:0 20px}.hero{grid-template-columns:1fr}h1{font-size:58px}.illustration{height:340px}.grid{grid-template-columns:repeat(3,1fr);gap:9px}.door{height:135px}.sectionhead{display:block}.progress{width:100%;text-align:left;margin-bottom:20px}.calendarbar{gap:12px}.bottom{flex-wrap:wrap;padding:20px}.bottom button{margin-left:0}footer{flex-wrap:wrap;gap:20px}dialog{padding:30px 20px}.actions{flex-wrap:wrap}}@media print{body>*{display:none!important}#printSheet{display:block!important;background:white;color:#243d30;font:12pt/1.8 Georgia,serif;padding:15mm}#printSheet h1{font-size:40pt}#printSheet img{max-width:30%;max-height:200px;margin:1%}#printSheet blockquote{border-left:3px solid #baa16c;padding:20px;font-size:16pt}@page{margin:10mm}}

.simulation-tools{display:flex;align-items:center;gap:16px;margin:0 0 20px}.simulation-tools span{font-size:11px;color:#7f8973}#simulationNotice button{text-decoration:underline}#printSheet{display:none}
@media print{
 @page{size:A4;margin:18mm 21mm;@top-left{content:""}@top-center{content:""}@top-right{content:""}@bottom-left{content:""}@bottom-center{content:""}@bottom-right{content:""}}
 body{background:white}
 #printSheet{padding:0;font:10.5pt/1.5 Georgia,serif}
 .print-cover{padding:8mm 0 9mm;margin-bottom:10mm;border-top:2pt solid #baa16c;border-bottom:1pt solid #dedfd3;break-inside:avoid}
 #printSheet .print-kicker{font:9pt Arial,sans-serif;letter-spacing:2pt;color:#788267}
 #printSheet h1{font:38pt/1.1 Georgia,serif;margin:9mm 0 4mm;letter-spacing:-1pt;max-width:140mm}
 .print-subtitle{font:12pt Arial,sans-serif;color:#788267}.print-dedication{font:italic 17pt Georgia,serif;margin:7mm 0}
 .print-disclaimer{margin:6mm 0 0;font:8pt/1.5 Arial,sans-serif;color:#687360;max-width:140mm;white-space:pre-line}
 #printSheet h2{font:20pt/1.2 Georgia,serif;margin:0 0 4mm;break-after:avoid}
 .print-chapter{margin:0 0 5mm;break-before:auto}.print-chapter p{margin:0 0 3mm;orphans:3;widows:3}.print-chapter p:last-child{margin-bottom:0}
 #printSheet blockquote{margin:12mm 0;padding:8mm;font:italic 16pt/1.65 Georgia,serif}
}
@media(max-width:700px){.simulation-tools{align-items:flex-start;flex-direction:column;gap:8px}}

#photos{display:grid;grid-template-columns:1fr;gap:12px}.photo-card{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;align-items:start}#photos .photo-card img{width:100px;height:100px;object-fit:contain;background:#e8eadf}.photo-card textarea{display:block;min-height:76px;margin-top:6px;line-height:1.5}.photo-card button{grid-column:2;text-align:left;padding:0;font-size:11px;text-decoration:underline}
@media print{.print-photos{display:flex;flex-wrap:wrap;gap:5mm;margin:5mm 0}.print-photos figure{margin:0;flex:1 1 60mm;max-width:100%;break-inside:avoid}#printSheet .print-photos img{display:block;max-width:100%;width:auto;height:auto;max-height:65mm;margin:0}.print-photos figcaption{font:9pt/1.5 Arial,sans-serif;color:#687360;margin-top:2mm;white-space:pre-wrap;overflow-wrap:anywhere}}

#questionChoices{display:grid;gap:8px;margin:12px 0 20px}#questionChoices button{text-align:left;border:1px solid var(--line);border-radius:6px;padding:12px;line-height:1.5;background:#eeeee4}#questionChoices button[aria-pressed=true]{border-color:#294f3d;background:#dce6d4}#questionChoices button.answered::after{content:' ✓';color:#294f3d}#profile{grid-template-columns:1fr 1fr}#profile label:last-child{grid-column:1/-1}#profileError{color:#93472e;font-size:12px;line-height:1.5}.print-timeline p{font-size:10pt}
@media(max-width:700px){header nav{gap:3px}header nav button{font-size:10px}#profile{grid-template-columns:1fr}}

#residences{min-height:100px;margin-bottom:12px}#residencesLabel{margin-top:20px;font-weight:500}

#questionPicker[hidden],#questionResponse[hidden]{display:none}#answer{margin-bottom:16px}

.collection-entry{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.collection-entry span{flex:1;overflow-wrap:anywhere}.collection-entry button{border:1px solid var(--line);border-radius:4px;padding:7px}.collection-entry button:disabled{opacity:.3;cursor:default}.photo-card label+label{display:block;margin-top:12px}#entryPhotoFields[hidden],#entryTextLabel[hidden]{display:none}
@media print{#printSheet .print-question{font:9pt/1.5 Arial,sans-serif;color:#687360;margin-bottom:2mm}.print-photo{margin:4mm 0 7mm;break-inside:avoid}#printSheet .print-photo img{display:block;max-width:100%;width:auto;height:auto;max-height:65mm;margin:0}.print-photo figcaption{font:9pt/1.5 Arial,sans-serif;color:#687360;margin-top:2mm;white-space:pre-wrap;overflow-wrap:anywhere}}

.welcome{margin-top:48px;padding:36px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.welcome h2{max-width:740px;margin-bottom:16px}.welcome>p{max-width:760px;font-size:14px;line-height:1.9;color:#67765e}.welcome .welcome-privacy{font-size:12px;border-top:1px solid var(--line);padding-top:20px}.sample-journal{margin:0 0 22px}.sample-journal summary{cursor:pointer}.sample-journal .simulation-tools{margin:16px 0 0}
@media(max-width:700px){.welcome{margin-top:24px;padding-top:28px}.welcome h2{font-size:34px}}

.journal-storage{margin:18px 0}.journal-storage summary{cursor:pointer;font-size:12px}.journal-storage p{max-width:760px}.storage-actions{display:flex;flex-wrap:wrap;gap:12px}.storage-actions button{border:1px solid var(--line);border-radius:4px;padding:10px 14px;font-size:12px}


#devPreview[hidden]{display:none}

#devSample[hidden]{display:none}

#revealDialog{text-align:center;width:560px;max-width:94vw;padding:48px 36px}#revealDialog>p{font-size:14px;line-height:1.9;color:#67765e}.reveal-cover{margin:28px auto;width:160px;min-height:200px;padding:24px 16px;background:#294f3d;color:#dfc893;border:6px double #a99260;border-radius:3px 8px 8px 3px;box-shadow:6px 7px 0 #ddd9c9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;animation:reveal-arrive .65s ease-out}.reveal-cover span{font-size:30px}.reveal-cover small{font-size:8px;letter-spacing:2px}.reveal-cover strong{font:25px/1.2 Georgia,serif;overflow-wrap:anywhere;max-width:100%}@keyframes reveal-arrive{from{opacity:0;transform:translateY(15px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.reveal-cover{animation:none}}

#introDialog{width:560px;max-width:94vw;padding:44px 36px 30px}#introDialog h2{font-size:36px;line-height:1.15;margin:16px 0 20px}#introDialog h3{font:22px Georgia,serif;margin:24px 0 12px}#introDialog>p{font-size:13px;line-height:1.85;color:#67765e}#introDialog>p.hint{font-size:11px}.intro-language{display:block;margin:0 32px 16px auto;font-size:11px;text-decoration:underline;text-underline-offset:3px}#introDialog .actions{border-top:1px solid var(--line);padding-top:20px}#introDialog .actions>button:first-child{font-size:12px}@media(max-width:700px){#introDialog{padding:28px 22px 24px}#introDialog h2{font-size:31px}}



#calendarFacts[hidden]{display:none}#calendarFacts{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}#calendarFacts h3{font:23px Georgia,serif;margin:0 0 10px}#factsError{color:#93472e}

.primary:disabled{cursor:default;background:#dfe5d7;color:#53664c}.primary:disabled:hover{filter:none}.hero .door-countdown{margin:12px 0 0;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.5px}.door-countdown[hidden]{display:none}

.door .lock{display:grid;place-items:center;width:16px;height:16px;line-height:1}.door .lock svg{display:block;width:16px;height:16px}.door.reveal .lock{color:#dfc893}#legendLock{display:inline-flex;vertical-align:middle;margin:0 3px 0 2px}#legendLock svg{width:13px;height:13px}

.door:disabled{cursor:default}.door:disabled:hover{filter:none;transform:none}

#aboutDialog .welcome{margin:0;padding:0;border:0}#aboutDialog .welcome h2{margin-top:12px;font-size:34px}#aboutDialog .welcome>p{font-size:13px}#aboutDialog .welcome .welcome-privacy{font-size:12px}#aboutDialog .journal-storage{margin-bottom:0}#aboutDialog>.close{z-index:1}#aboutDialog .welcome>.eyebrow{padding-right:25px}

.footer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-actions button{padding:0;text-align:left}footer{align-items:flex-start}

footer{flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center}.footer-actions{align-items:center}.footer-actions button{text-align:center}

/* Optional API draft review, shown only after the final reveal (or developer preview). */
#generationDialog{width:min(560px,calc(100vw - 32px));box-sizing:border-box}#miniographyDialog{width:min(800px,calc(100vw - 32px));box-sizing:border-box}
#generationDialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:13px;background:#f4f1e9;padding:16px;border-radius:8px}
#generationDialog label.generation-check{display:flex;align-items:flex-start;gap:12px;margin:20px 0}
#generationDialog .generation-check input{width:auto;flex:none;margin-top:5px}
#generationDialog button{margin-top:12px}
#generationMarkdown{min-height:360px;font:14px/1.8 ui-monospace,monospace;margin-top:10px}
.markdown-content{line-height:1.8;overflow-wrap:anywhere}.markdown-content h1{font:36px/1.2 Georgia,serif;letter-spacing:normal}.markdown-content h2{font:28px/1.3 Georgia,serif}.markdown-content h3{font:22px/1.3 Georgia,serif}.markdown-content table{border-collapse:collapse;width:100%}.markdown-content td,.markdown-content th{padding:8px;border:1px solid var(--line)}.markdown-content blockquote{margin:1em 0;padding-left:1em;border-left:2px solid #bbaa80}.markdown-content pre{white-space:pre-wrap}
@media print{#printSheet .markdown-content h1{font-size:24pt}#printSheet .markdown-content h2{font-size:18pt}#printSheet .markdown-content h3{font-size:15pt}}
#generationStatus:empty{display:none}
#generationButton{margin-top:20px}

/* Fit the full project name on the illustrated cover. */
.book strong{font-size:30px;letter-spacing:-1px}#answeredMemories{margin-bottom:24px}

/* Keep the original pastel palette; status is conveyed with opacity and a small icon. */
.door[data-status="locked"]{opacity:.4}
.door[data-status="unopened"]{opacity:.75}
.door[data-status="pending"]{opacity:.9}
.door[data-status="completed"]{opacity:1}
.door .door-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

#revealDialog{width:700px;text-align:left;padding:42px 36px}
#revealDialog h2{margin-top:18px;margin-bottom:10px;font-size:42px}
#revealDialog .reveal-recipient{margin:0;color:#7f8973;font-size:13px}
.reveal-options{margin:24px 0;border-top:1px solid var(--line)}
.reveal-options>section{position:relative;padding:22px 0 22px 38px;border-bottom:1px solid var(--line)}
.reveal-number{position:absolute;left:0;top:25px;color:#969a7c;font-size:11px}
.reveal-options h4{font:24px Georgia,serif;margin:0 0 10px}
.reveal-options p{line-height:1.8;margin:0 0 15px;font-size:13px}
#revealDialog #printButton{padding:0;text-decoration:underline;text-underline-offset:4px;font-size:12px}
@media(max-width:700px){#revealDialog{padding:35px 22px}#revealDialog h2{font-size:34px}.reveal-options>section{padding-left:28px}.reveal-options h4{font-size:22px}}

.entry-management{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.entry-management summary{cursor:pointer}

.text-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.text-actions button{padding:12px 16px}#miniographyDialog>h2{margin-right:20px}#generationDialog>p{line-height:1.8}

#generationStorage:empty{display:none}

.book small:first-of-type{font:italic 22px/1.2 Georgia,serif;letter-spacing:0}.book strong{margin-top:6px}

/* A frosted opening: the topic sweeps into view before the dialog clears. */
.door-intro{position:relative;margin-bottom:24px;padding:12px 0}
.door-intro h2{margin-bottom:12px}.door-intro p{margin-bottom:0;line-height:1.8}
.door-introducing{overflow:hidden}
.door-introducing>.close{z-index:4}
.door-opening-overlay{overflow-y:auto;overscroll-behavior:contain;position:absolute;inset:0 0 auto;min-height:100%;z-index:3;background:#f7f5eea8;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);pointer-events:auto}
.door-opening-copy{padding:0 36px 36px;max-width:650px;margin:auto;text-align:left}
.door-opening-copy .eyebrow{margin-bottom:18px;animation:opening-caption .35s ease-out both}
.door-opening-copy .opening-title{font:42px/1.15 'Libre Caslon Display',Georgia,serif;margin:0 0 18px;mask-image:linear-gradient(to right,#000 40%,transparent 60%);mask-size:250% 100%;mask-repeat:no-repeat;animation:opening-title-sweep 1.5s ease-out .15s both}
.door-opening-copy .opening-description{font-size:14px;line-height:1.8;max-width:490px;color:#67765e;animation:opening-caption .6s ease-out 1.1s both}
.door-introducing>:not(.close):not(.door-opening-overlay){filter:blur(6px);opacity:.3}
.door-opening-overlay.is-leaving{animation:door-overlay-away .45s ease-out both}
.door-clearing>:not(.close):not(.door-opening-overlay){animation:door-content-unblur .45s ease-out both}
.opening-continue{margin-top:26px}
@keyframes opening-title-sweep{from{mask-position:100% 0;opacity:0}to{mask-position:0 0;opacity:1}}
@keyframes opening-caption{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}
@keyframes door-overlay-away{from{opacity:1}to{opacity:0}}
@keyframes door-content-unblur{from{filter:blur(6px);opacity:.3}to{filter:blur(0);opacity:1}}
@media(max-width:700px){.door-opening-copy{padding-left:22px;padding-right:22px}.door-opening-copy .opening-title{font-size:34px}}
#doorMoment{position:fixed;z-index:6;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:18px 22px;background:#f5efdf;border:1px solid #cfc3a4;border-radius:10px;box-shadow:0 8px 28px #26453520;animation:moment-arrive .3s ease-out}
#doorMoment[hidden]{display:none}#doorMoment>span{font-size:26px;color:#99824e}#doorMoment p{margin:0;font:16px/1.6 Georgia,serif;max-width:420px}#doorMoment button{align-self:flex-start;font-size:20px;padding:0 0 0 6px}
@keyframes moment-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.door-opening-overlay{display:none}.door-introducing>:not(.close):not(.door-opening-overlay){animation:none}#doorMoment{animation:none}.door{transition:none}}

#revealGenerationHint:empty{display:none}

#generationPayload{min-height:260px;margin-top:8px;font:13px/1.7 ui-monospace,monospace}#generationInputDetails{color:var(--ink)}

.reveal-gift{display:flex;align-items:flex-start;gap:18px;margin:24px 0 32px;padding:24px;background:#eeeee3;border:1px solid #d5d8c6;border-radius:8px}.reveal-gift>span{font-size:32px;color:#a58d57;line-height:1.2}.reveal-gift h3{font:27px/1.25 Georgia,serif;margin:0 0 12px}.reveal-gift p{font-size:14px;line-height:1.85;margin:0}#revealUsesTitle{font:25px/1.3 Georgia,serif;margin:0 0 14px}#revealUsesTitle+.reveal-options{margin-top:0}@media(max-width:700px){.reveal-gift{padding:20px 16px;gap:12px}.reveal-gift h3{font-size:24px}}

.opening-continue.is-ready{animation:opening-continue-arrive .5s ease-out both}
@keyframes opening-continue-arrive{from{opacity:0}to{opacity:1}}

#ownLlmDialog{width:min(740px,calc(100vw - 32px));box-sizing:border-box}#ownLlmDialog>p{line-height:1.8}#ownLlmDialog textarea{min-height:220px;margin-top:10px}#ownLlmPrompt{font:13px/1.7 ui-monospace,monospace}#ownLlmStatus:empty{display:none}#revealOwnLlm{display:block;padding:14px 0 0;text-decoration:underline;text-underline-offset:4px}#generationOwnLlm{display:block;margin-top:18px;font-size:12px;text-decoration:underline;text-underline-offset:4px}

#begin{display:inline-flex;align-items:center;justify-content:center;gap:12px}#begin>svg{width:17px;height:17px;flex:none}

.dialog-back{display:block;padding:4px 0;margin:0 36px 16px 0;font-size:13px;text-align:left}.dialog-back[hidden]{display:none}

.generation-loading{display:flex;align-items:center;gap:12px;margin-top:22px;padding:16px;background:#ebeee1;border-radius:6px;font-size:14px}.generation-loading[hidden]{display:none}.generation-spinner{width:20px;height:20px;flex:none;border:2px solid #294f3d30;border-top-color:#294f3d;border-radius:50%;animation:generation-spin 1s linear infinite}@keyframes generation-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.generation-spinner{animation:none}}

.account-save-status{text-align:center;font-size:12px;color:#687360;margin:20px 0}.account-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.account-links button{text-decoration:underline}#accountDialog{max-width:520px}#accountDialog label{margin:14px 0}#accountDialog p{line-height:1.7}#accountSettings>button{display:block;text-align:left;padding:12px 0}#accountSettings[hidden],#accountForm[hidden],.account-links[hidden]{display:none}#accountSubmit{margin-top:10px}

@media(max-width:700px){.account-mode header{height:auto;min-height:80px;padding:18px 20px;gap:12px;flex-wrap:wrap}.account-mode header nav{order:3;width:100%;justify-content:center;gap:24px}.account-mode header #language{margin-left:auto}}
#accountDialog{width:520px;max-width:calc(100vw - 32px)}#accountDialog [hidden]{display:none!important}
