:root{--bg:#f5f7f8;--bg-alt:#e9eef0;--panel:#fff;--text:#142026;--muted:#5e6c74;--accent:#0f766e;--border:#cfdae0;--shadow:0 10px 24px #0f232d14;--shadow-strong:0 20px 44px #0f232d24;--exact:#21a55a;--very-close:#d5b319;--close:#d78123;--far:#c84343;--very-far:#1f2327}:root[data-theme=dark]{--bg:#13181d;--bg-alt:#1b242d;--panel:#1e2a34;--text:#e4edf1;--muted:#9cb0ba;--accent:#34b9ab;--border:#30404f;--shadow:0 14px 30px #00000061;--shadow-strong:0 24px 52px #00000080;--exact:#23b861;--very-close:#dcc02f;--close:#e08d3a;--far:#de5757;--very-far:#0f1419}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 10% 0%, var(--bg-alt) 0%, transparent 50%), radial-gradient(circle at 90% 100%, var(--bg-alt) 0%, transparent 45%), var(--bg);min-height:100vh;margin:0;font-family:Avenir Next,Segoe UI,sans-serif;position:relative;overflow-x:hidden}body:before,body:after{content:"";aspect-ratio:1;pointer-events:none;opacity:.55;z-index:0;filter:blur(10px);border-radius:50%;width:min(42vw,360px);position:fixed}body:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 68%);animation:16s ease-in-out infinite ambient-float;top:-120px;left:-90px}body:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, white 8%) 0%, transparent 70%);animation:18s ease-in-out infinite reverse ambient-float;bottom:-160px;right:-120px}.app-shell{z-index:1;isolation:isolate;flex-direction:column;gap:16px;max-width:500px;min-height:100dvh;margin:0 auto;padding:20px;display:flex;position:relative}.main-content{gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:14px 16px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s,background .2s}@media (hover:hover){.panel:hover{box-shadow:var(--shadow-strong);transform:translateY(-2px)}}.header{border-color:color-mix(in srgb, var(--accent) 18%, var(--border));background:radial-gradient(circle at 50% -30%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 58%), var(--panel);opacity:0;gap:12px;animation:.56s cubic-bezier(.16,1,.3,1) 60ms forwards panel-rise;display:grid;position:relative;overflow:hidden}.header:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, white 8%) 0%, transparent 68%);opacity:.8;border-radius:50%;width:180px;height:180px;animation:9s ease-in-out infinite header-orbit;position:absolute;top:-108px;right:-28px}.header:after{content:"";background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 42%);pointer-events:none;position:absolute;inset:0}.title-group{z-index:1;text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.title-row{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;width:100%;display:grid}.app-title{letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:baseline;margin:0;font-size:clamp(2.1rem,7.2vw,2.95rem);line-height:.95;display:inline-flex}.app-title-word{color:color-mix(in srgb, var(--text) 90%, var(--accent))}.app-title-word-accent{color:var(--accent);isolation:isolate;position:relative}.app-title-word-accent:after{content:"";background:color-mix(in srgb, var(--accent) 18%, transparent);z-index:-1;transform-origin:0;border-radius:999px;height:.15em;animation:2.8s ease-in-out infinite accent-underline;position:absolute;bottom:-.05em;left:0;right:0}.title-caption{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0;padding:6px 0 0;font-size:.78rem;font-weight:700}.meta-group{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.92rem;display:flex}.icon-button{place-items:center;width:36px;height:36px;padding:0;font-size:1rem;display:grid}.header .icon-button{border-color:color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--panel) 55%, var(--bg-alt));border-radius:12px;width:40px;height:40px;box-shadow:0 8px 18px #0f232d14}.guess-panel{opacity:0;animation:.56s cubic-bezier(.16,1,.3,1) .15s forwards panel-rise;position:relative}.guess-form{z-index:1;margin:8px 0;display:block;position:relative}.guess-input-wrap{position:relative}.guess-slot-grid{transform-origin:50%;justify-content:center;gap:8px;display:grid}.guess-slot-grid.invalid-feedback-0{animation:.42s cubic-bezier(.24,.9,.3,1) invalid-guess-shake-a}.guess-slot-grid.invalid-feedback-1{animation:.42s cubic-bezier(.24,.9,.3,1) invalid-guess-shake-b}.guess-slot-grid.invalid-feedback .guess-slot:not(.guess-slot-known){border-color:color-mix(in srgb, var(--far) 52%, var(--border));background:color-mix(in srgb, var(--far) 10%, var(--bg-alt))}.flying-guess{pointer-events:none;z-index:2;will-change:transform, opacity, filter;margin:0;position:absolute}.flying-guess-later,.flying-guess-earlier{animation:.42s cubic-bezier(.2,.8,.2,1) forwards valid-guess-fly}.flying-guess-correct{animation:.36s cubic-bezier(.2,.8,.2,1) forwards valid-guess-solved}.flying-guess .guess-slot,.flying-guess .guess-slot.filled,.flying-guess .guess-slot-known,.flying-guess .guess-slot-active{animation:none}.flying-guess .guess-slot{box-shadow:var(--shadow);transition:none}.hint-row{z-index:3;position:relative}.guess-slot{border:2px solid color-mix(in srgb, var(--border) 92%, var(--bg-alt));background:color-mix(in srgb, var(--bg-alt) 30%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:10px;place-items:center;height:52px;font-size:1.35rem;font-weight:700;line-height:1;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,border-color .18s,background .18s;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.guess-slot:after{content:"";background:linear-gradient(135deg, transparent 12%, color-mix(in srgb, var(--panel) 16%, transparent) 52%, transparent 100%);opacity:0;transition:opacity .18s;position:absolute;inset:0}.guess-slot.filled{border-color:color-mix(in srgb, var(--text) 24%, var(--border));background:color-mix(in srgb, var(--bg-alt) 52%, transparent);animation:.18s cubic-bezier(.2,.8,.25,1) slot-pop}.guess-slot.filled:after,.guess-slot-known:after{opacity:1}.guess-slot-known{color:var(--exact);border-color:color-mix(in srgb, var(--exact) 62%, var(--border));background:color-mix(in srgb, var(--exact) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--exact) 26%, transparent);animation:.22s cubic-bezier(.2,.8,.25,1) slot-lock}.guess-slot-active{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 4px color-mix(in srgb, var(--accent) 7%, transparent);animation:2.4s ease-in-out infinite slot-focus-breathe}.guess-input-wrap.disabled .guess-slot{opacity:.62}.guess-input-native{opacity:0;caret-color:#0000;border:0;width:100%;padding:0;position:absolute;inset:0}.guess-input-native:disabled{cursor:not-allowed}input,button,textarea{font:inherit}input{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:10px;padding:10px 12px}button{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, white 12%), var(--accent));color:#fff;cursor:pointer;box-shadow:0 10px 22px color-mix(in srgb, var(--accent) 18%, transparent);border:0;border-radius:10px;padding:10px 14px;font-weight:600;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s,filter .16s,border-color .16s,background .16s}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}button:active:not(:disabled){transform:translateY(1px)scale(.98)}@media (hover:hover){button:hover:not(:disabled){filter:saturate(1.05);transform:translateY(-1px)}}.ghost-button{color:var(--text);border:1px solid var(--border);box-shadow:none;background:0 0}@media (hover:hover){.ghost-button:hover:not(:disabled){background:color-mix(in srgb, var(--bg-alt) 44%, transparent);border-color:color-mix(in srgb, var(--accent) 22%, var(--border))}}.error-text{color:#cc3f3f;margin:8px 0 0;font-size:.9rem;animation:.18s cubic-bezier(.2,.8,.2,1) error-rise}.guesses-remaining-text{text-align:center;color:var(--text);margin:-2px 0;font-size:1.2rem}.mobile-keyboard-hint{text-align:center;color:var(--muted);margin:0;font-size:.88rem}.mobile-keyboard-hint-region{cursor:text;-webkit-user-select:none;user-select:none;opacity:0;animation:.56s cubic-bezier(.16,1,.3,1) .32s forwards panel-rise;display:none}.list-header{justify-content:space-between;align-items:center;display:flex}.list-header h2{margin:0;font-size:1.05rem}.list-header span{color:var(--muted);font-size:.9rem}.attempt-columns,.attempt-row{grid-template-columns:34px minmax(0,1fr) 78px 86px;align-items:center;gap:8px;display:grid}.attempt-columns{color:var(--muted);text-transform:uppercase;margin-top:10px;padding:0 4px;font-size:.78rem}.attempt-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.attempt-row{background:color-mix(in srgb, var(--bg-alt) 35%, transparent);border:1px solid var(--border);border-radius:10px;padding:10px 8px}.hint-row{grid-template-columns:34px minmax(0,1fr) 132px;height:44px;margin:0;padding:0 10px}.hint-direction{text-align:center;place-items:center;font-size:1.35rem;line-height:1;display:grid}.direction-icon{width:1.5em;height:1.5em;display:block}.hint-distance{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.94rem;font-weight:500}.hint-word{font-size:1.08rem;display:inline-flex}.hint-letter{color:inherit}.hint-letter-match{color:var(--exact)}.hint-changing{will-change:transform, filter, opacity;animation:.22s cubic-bezier(.2,.7,.2,1) hint-scroll-blur}@keyframes hint-scroll-blur{0%{opacity:0;filter:blur(6px);transform:translateY(12px)}55%{opacity:1;filter:blur(1.5px);transform:translateY(-2px)}to{opacity:1;filter:blur();transform:translateY(0)}}.attempt-number{color:var(--muted);text-align:center}.attempt-word{letter-spacing:.04em;font-weight:700}.attempt-distance,.attempt-direction{font-variant-numeric:tabular-nums}.attempt-distance{text-align:center;font-weight:700}.attempt-direction{text-align:center;place-items:center;font-size:1.1rem;display:grid}.attempt-columns span:nth-child(3),.attempt-columns span:nth-child(4){text-align:center}.placeholder{opacity:0;-webkit-user-select:none;user-select:none}.bucket-exact{color:var(--exact)}.bucket-very-close{color:var(--very-close)}.bucket-close{color:var(--close)}.bucket-far{color:var(--far)}.bucket-very-far{color:var(--very-far)}.empty-text{color:var(--muted);margin:12px 0 2px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#00000073;place-items:center;padding:16px;animation:.18s forwards backdrop-fade;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:min(520px,100%);box-shadow:var(--shadow-strong);opacity:0;border-radius:14px;gap:10px;padding:16px;animation:.24s cubic-bezier(.16,1,.3,1) forwards modal-pop;display:grid;transform:translateY(18px)scale(.97)}.modal h2,.modal p,.modal ul{margin:0}.modal>*{opacity:0;animation:.26s cubic-bezier(.16,1,.3,1) forwards modal-item-rise;transform:translateY(8px)}.modal>:first-child{animation-delay:50ms}.modal>:nth-child(2){animation-delay:90ms}.modal>:nth-child(3){animation-delay:.13s}.modal>:nth-child(4){animation-delay:.17s}.modal>:nth-child(5){animation-delay:.21s}.modal>:nth-child(6){animation-delay:.25s}.result-target{text-align:center;border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 12%, transparent) 0%, color-mix(in srgb, var(--bg-alt) 46%, transparent) 100%);border-radius:12px;justify-items:center;gap:6px;padding:14px 12px;display:grid;position:relative;overflow:hidden}.result-target:after{content:"";background:linear-gradient(115deg, transparent 28%, color-mix(in srgb, var(--panel) 55%, transparent) 48%, transparent 68%);animation:3.6s ease-in-out infinite result-sheen;position:absolute;inset:0;transform:translate(-135%)}.result-modal{gap:14px;width:min(460px,100%);padding:20px 18px 18px}.result-title{text-align:center;letter-spacing:.02em}.result-title-win{color:color-mix(in srgb, var(--accent) 78%, var(--text))}.result-title-loss{color:color-mix(in srgb, var(--far) 82%, var(--text))}.result-attempts{text-align:center;color:var(--muted)}.result-attempts strong{color:var(--text);font-variant-numeric:tabular-nums}.result-target-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.84rem}.result-target-word{letter-spacing:.08em;font-size:clamp(1.95rem,7vw,2.6rem);font-weight:800;line-height:1.05}.modal ul{padding-left:18px}.help-modal{gap:12px}.help-intro{color:var(--muted);line-height:1.4}.help-rules{gap:8px;display:grid}.help-rules li{line-height:1.35}.help-example-grid{gap:10px;display:grid}.help-example-card{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-alt) 30%, transparent);border-radius:10px;gap:8px;padding:10px;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,box-shadow .18s;display:grid}@media (hover:hover){.help-example-card:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));box-shadow:var(--shadow);transform:translateY(-2px)}}.help-example-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem}.help-example-row{margin:0}.help-example-note{color:var(--muted);margin:0;font-size:.9rem;line-height:1.35}.help-legend{margin:0;font-size:.92rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-item{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-alt) 30%, transparent);opacity:0;border-radius:10px;justify-items:center;gap:2px;padding:10px 8px;animation:.34s cubic-bezier(.16,1,.3,1) forwards stat-rise;display:grid;position:relative;overflow:hidden}.stat-item:first-child{animation-delay:.1s}.stat-item:nth-child(2){animation-delay:.14s}.stat-item:nth-child(3){animation-delay:.18s}.stat-item:nth-child(4){animation-delay:.22s}.stat-item:nth-child(5){animation-delay:.26s}.stat-item:nth-child(6){animation-delay:.3s}.stat-value{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.stat-label{color:var(--muted);text-align:center;font-size:.78rem}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.result-actions{justify-content:stretch}.result-actions button{flex:1 1 0}.toast{background:var(--text);color:var(--panel);z-index:30;box-shadow:var(--shadow-strong);border-radius:999px;padding:10px 14px;font-size:.88rem;animation:.22s cubic-bezier(.16,1,.3,1) toast-rise;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}@keyframes ambient-float{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,22px)scale(1.08)}}@keyframes header-orbit{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-12px,14px)scale(1.07)}}@keyframes accent-underline{0%,to{opacity:.55;transform:scaleX(.92)}50%{opacity:.95;transform:scaleX(1.05)}}@keyframes panel-rise{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slot-pop{0%{transform:translateY(8px)scale(.92)}70%{transform:translateY(-1px)scale(1.04)}to{transform:translateY(0)scale(1)}}@keyframes valid-guess-fly{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}55%{opacity:1;transform:translate3d(calc(var(--flight-x,0px) * .68), calc(var(--flight-y,0px) * .68), 0) scale(.82);filter:blur()}to{opacity:0;transform:translate3d(var(--flight-x,0px), var(--flight-y,0px), 0) scale(var(--flight-scale,.58));filter:blur(1px)}}@keyframes valid-guess-solved{0%{opacity:1;filter:blur();transform:translate(0,0)scale(1)}45%{opacity:1;filter:blur();transform:translateY(-8px)scale(1.05)}to{opacity:0;filter:blur(.5px);transform:translateY(-16px)scale(.92)}}@keyframes invalid-guess-shake-a{0%{transform:translate(0)scale(1)}18%{transform:translate(-10px)scale(.99)}36%{transform:translate(9px)scale(1.01)}54%{transform:translate(-6px)scale(.995)}72%{transform:translate(4px)scale(1.003)}to{transform:translate(0)scale(1)}}@keyframes invalid-guess-shake-b{0%{transform:translate(0)scale(1)}18%{transform:translate(10px)scale(.99)}36%{transform:translate(-9px)scale(1.01)}54%{transform:translate(6px)scale(.995)}72%{transform:translate(-4px)scale(1.003)}to{transform:translate(0)scale(1)}}@keyframes slot-lock{0%{transform:scale(.94)}65%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes slot-focus-breathe{0%,to{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 3px color-mix(in srgb, var(--accent) 6%, transparent)}50%{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 5px color-mix(in srgb, var(--accent) 10%, transparent)}}@keyframes error-rise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-item-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes result-sheen{0%,to{transform:translate(-135%)}45%,55%{transform:translate(135%)}}@keyframes stat-rise{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%,12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (width<=640px){.app-shell{padding:12px}.attempt-columns,.attempt-row{grid-template-columns:28px minmax(0,1fr) 62px 76px;gap:6px}.hint-row{grid-template-columns:28px minmax(0,1fr) 150px}.attempt-direction{font-size:1rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:none) and (pointer:coarse){.mobile-keyboard-hint-region{flex:1;justify-content:center;align-items:center;display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
