:root{color:#3e4945;--serif:"Cormorant Garamond", "Palatino Linotype", Georgia, serif;--puzzle-font:"Courier Prime", "Courier New", monospace;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f1e7;font-family:DM Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 4% 15%,#b9c9ad55,#0000 43%),radial-gradient(at 100% 62%,#a8bec343,#0000 42%),radial-gradient(at 24% 100%,#d9bca340,#0000 48%),url(/paper-grain.svg);position:fixed;inset:0}button,input{font:inherit}button{cursor:pointer}.game{width:min(760px,100% - 48px);margin:0 auto}.header-actions{align-items:center;gap:20px;display:flex}.archive-note{color:#68766c;margin:12px 0 30px;font-size:13px;line-height:1.6}.archive-list{margin:0;padding:0;list-style:none}.archive-entry{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #687b602b;grid-template-columns:1fr auto 16px;align-items:center;gap:18px;padding:20px 8px;display:grid}.archive-entry:hover{background:#b6c2a91f}.archive-entry:focus-visible{outline-offset:2px;outline:2px solid #617f8f}.archive-entry time{font-family:var(--serif);font-size:25px}.archive-progress{color:#5c6e7c;gap:5px;font-size:12px;display:grid}.archive-progress small{color:#68766c;font-size:11px}.archive-progress.finished{color:#61774f}.archive-progress.failed{color:#884d45}.topbar{border-bottom:1px solid #687b602b;justify-content:space-between;align-items:center;height:100px;display:flex}.wordmark{color:#485d50;font-family:var(--serif);letter-spacing:-1.8px;font-size:42px;font-style:italic;font-weight:600;text-decoration:none}.help-button{color:#55635b;background:0 0;border:1px solid #cfd4cc;border-radius:50%;width:32px;height:32px;padding:0;font-weight:700}.help-button:hover{background:#f0f2ed}.puzzle{padding:56px 0 64px}.game-meta{justify-content:space-between;align-items:center;gap:20px;display:flex}h1{font-family:var(--serif);letter-spacing:-.5px;margin:0;font-size:34px;font-weight:500}.guess-count{color:#707a73;font-variant-numeric:tabular-nums;font-size:13px}.board{cursor:text;flex-wrap:wrap;align-items:center;gap:22px 12px;padding:58px 0 44px;display:flex;position:relative}.board-input{opacity:0;border:0;width:1px;height:1px;padding:0;font-size:16px;position:absolute;top:48px;left:0}.word-group{align-items:baseline;max-width:100%;display:inline-flex}.word-content{max-width:100%}.word-tile{isolation:isolate;text-align:center;min-height:42px;font-family:var(--puzzle-font);font-variant-ligatures:none;letter-spacing:.12em;border:0;border-radius:4px;font-size:25px;font-weight:400;position:relative}.word-preview{color:#3c4b74;overflow-wrap:anywhere;background:0 0;justify-content:center;align-items:center;max-width:100%;padding:3px 2px;display:inline-flex}.revealed{color:#61774f;background:0 0;justify-content:center;align-items:center;padding:3px 2px;font-style:italic;display:inline-flex}.punctuation{color:#526159;padding-left:2px;font-size:27px}.active-word{color:#334f64}.active-word:before{content:"";z-index:-1;background:radial-gradient(at 25% 60%,#a7bec653,#0000 75%),radial-gradient(at 70%,#abc1cd65,#bacbd229 72%,#0000 90%);border-radius:45% 38% 35% 25%/25% 35% 28% 40%;position:absolute;inset:2px -4px 0;transform:rotate(-1deg);box-shadow:0 0 5px #a7bec62b}.mobile-keyboard{display:none}.falling-letters{z-index:2;pointer-events:none;position:absolute;inset:0}.falling-letters>span{color:#3c4b74;font-family:var(--puzzle-font);font-size:25px;font-weight:400;line-height:1;animation:.65s cubic-bezier(.4,0,.8,.5) both letter-fall;position:absolute}.falling-letters>span:nth-child(2n){animation-name:letter-fall-left}@keyframes letter-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(9px,48px)rotate(18deg)}}@keyframes letter-fall-left{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-7px,54px)rotate(-15deg)}}.guess-animation{pointer-events:none;border-radius:20%;position:absolute;inset:0;overflow:hidden}.submit-wash{opacity:0;background:radial-gradient(#a8b9ad40,#0000 68%);animation:.65s ease-out both submit-wash;position:absolute;inset:15% 0}.celebrate .submit-wash{background:radial-gradient(#b5c59366,#dec59d26 45%,#0000 70%);animation-duration:1.1s}.paint-petal{opacity:0;background:#8b9f76;border-radius:65% 35% 60% 40%;width:9px;height:16px;animation:1.4s ease-out both petal-drift;position:absolute;top:65%;box-shadow:inset 0 0 5px #f6f1e780}.paint-petal:nth-child(3n){background:#bfa17b;width:7px;height:11px}.paint-petal:nth-child(3n+1){background:#8ca9b3}.paint-petal:nth-child(2n){animation-name:petal-drift-left}@keyframes submit-wash{0%{opacity:0;transform:scale(.8)}35%{opacity:1}to{opacity:0;transform:scale(1.08)}}@keyframes petal-drift{0%{opacity:0;transform:translateY(10px)rotate(-20deg)scale(.5)}20%{opacity:.8}to{opacity:0;transform:translate(18px,-85px)rotate(100deg)scale(.8)}}@keyframes petal-drift-left{0%{opacity:0;transform:translateY(10px)rotate(20deg)scale(.5)}20%{opacity:.8}to{opacity:0;transform:translate(-18px,-100px)rotate(-90deg)scale(.8)}}.guess-controls{justify-content:flex-end;align-items:center;gap:18px;display:flex}.clear-button{color:#657169;background:0 0;border:0;padding:9px 0;font-size:13px}.clear-button span{margin-left:5px}.submit-button,.modal-start{color:#fffdf5;background:linear-gradient(115deg,#6c8062,#526c59);border:1px solid #52694e30;border-radius:10px 13px 9px 12px;padding:12px 23px;font-weight:500;box-shadow:inset 0 0 12px #e4e9c820,0 3px 9px #52694e13}.submit-button:hover:not(:disabled),.modal-start:hover{filter:brightness(1.08)}.submit-button:disabled{opacity:.38;cursor:default}.help-button:focus-visible,.clear-button:focus-visible,.submit-button:focus-visible,.modal-close:focus-visible,.modal-start:focus-visible{outline-offset:3px;outline:2px solid #7886b2}.result{color:#68766c;min-height:22px;margin:22px 0 0;font-size:14px}.result.won{color:#456038;font-weight:650}.result.lost,.inline-error{color:#884d45}.meaning{color:#737c76;margin:10px 0 0;font-size:13px;line-height:1.55}.inline-error{margin-top:18px;font-size:13px}.stats-panel{background:radial-gradient(at 0 0,#c5cdaa30,#0000 65%),url(/paper-grain.svg),#fffaf040;border:1px solid #8a947329;border-radius:15px 22px 18px 12px;margin-top:38px;padding:30px 24px 26px;position:relative}.stats-panel h2{font-family:var(--serif);margin:0 0 22px;font-size:28px;font-weight:500}.stat-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px;display:grid}.stat-summary div{text-align:center;gap:2px;padding:8px 0;display:grid}.stat-summary div+div{border-left:1px solid #8a947329}.stat-summary strong{color:#4d634f;font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;font-size:38px;font-weight:500}.stat-summary span{color:#65705e;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.distribution{gap:7px;display:grid}.distribution-row{color:#586553;grid-template-columns:22px 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.distribution-row>div{align-items:center;min-height:24px;display:flex;position:relative}.distribution-row i{background:linear-gradient(95deg,#b7c59b80,#c6d0b259 80%,#c6d0b225),url(/paper-grain.svg);border-radius:3px 12px 7px 5px/5px 4px 7px 3px;position:absolute;inset:1px auto 1px 0;box-shadow:0 0 3px #bac7a640}.distribution-row.your-result i{background:linear-gradient(95deg,#88a6b280,#a9c0c46b 80%,#a9c0c42b),url(/paper-grain.svg)}.distribution-row.your-result>span{color:#37586c;font-weight:600}.distribution-row.failed-result:not(.your-result) i{background:linear-gradient(95deg,#c7ad9570,#d8c3a930 85%,#0000)}.distribution-row b{padding-left:7px;font-weight:600;position:relative}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#48524740;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.how-to{background:radial-gradient(at 0 0,#ccd5b95c,#0000 65%),url(/paper-grain.svg),#fbf7ed;border:1px solid #fffaf1;border-radius:16px 20px 15px 18px;width:min(440px,100%);max-height:calc(100svh - 40px);padding:40px;position:relative;overflow-y:auto;box-shadow:0 24px 80px #303d3526}.how-to h2{font-family:var(--serif);letter-spacing:-.6px;margin:0 0 12px;font-size:38px;font-weight:500}.how-to p{color:#68736c;margin:0;line-height:1.5}.how-to ul{color:#46534b;margin:24px 0;padding-left:20px;line-height:1.65}.modal-close{color:#6a746d;background:0 0;border:0;width:32px;height:32px;padding:0;font-size:25px;line-height:1;position:absolute;top:14px;right:15px}.modal-start{width:100%}.loading-card{color:#718078;text-align:center;place-content:center;gap:14px;min-height:70vh;display:grid}.error-card strong{color:#633b35;font-size:19px}.error-card button{color:#fff;background:#455f4c;border:0;border-radius:8px;justify-self:center;padding:10px 16px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.guess-animation,.falling-letters{display:none}}@media (width<=600px){.game{width:min(100% - 28px,820px)}.topbar{height:76px}.wordmark{font-size:36px}h1{font-size:29px}.puzzle{padding:28px 0 24px}.board{gap:12px 8px;padding:32px 0 24px}.word-tile{min-height:36px;font-size:21px}.falling-letters>span{font-size:21px}.punctuation{font-size:23px}.submit-button{padding-inline:17px}.how-to{padding:30px 24px 24px}.stats-panel{padding:24px 16px}.mobile-keyboard{padding:8px 0 calc(8px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;gap:6px;margin:14px -8px 18px;display:grid}.keyboard-row{justify-content:center;gap:5px;display:flex}.keyboard-key{color:#3e5044;text-transform:uppercase;touch-action:manipulation;background:linear-gradient(135deg,#e0e4d3dc,#cdd7c8ad);border:1px solid #76856825;border-radius:7px 9px 6px 8px;flex:1 1 0;min-width:0;height:48px;padding:0;font-size:clamp(11px,3.4vw,14px);font-weight:500;box-shadow:inset 0 1px 2px #fff9,0 2px 2px #4d63420a}.keyboard-key:focus-visible{outline-offset:2px;outline:2px solid #617f8f}.keyboard-key:active{background:#bec6bd;transform:translateY(1px)}.keyboard-action{flex:1.45 1 0;font-size:10px}.keyboard-delete{font-size:20px}.keyboard-key:disabled{opacity:.38}.desktop-submit{display:none}.guess-controls{justify-content:flex-start}}
