@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=JetBrains+Mono:wght@400;700;800&display=swap";:root{--bg-color:#020511;--bg-gradient:radial-gradient(circle at 50% 30%, #090f27 0%, #010408 100%);--card-bg:#14101c99;--modal-bg:#14101cfa;--card-border:#ffffff0f;--card-glow:#0000004d;--text-primary:#ebeff5;--text-muted:#979fab;--accent-purple:#945ff9;--accent-purple-glow:#945ff966;--accent-amber:#ffc31f;--accent-amber-glow:#ffc31f66;--accent-emerald:#4cc157;--accent-emerald-glow:#4cc15766;--accent-coral:#e85854;--accent-coral-glow:#e8585466;--accent-blue:#0099e4;--accent-blue-glow:#0099e466;--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--slot-size:clamp(3.2rem, 9vw, 4.5rem);--insert-size:clamp(1.2rem, 3.5vw, 1.8rem);--slot-gap:.4rem;--transition-speed:.3s}@supports (color:color(display-p3 0 0 0)){:root{--bg-color:color(display-p3 .00925336 .021037 .0624838);--bg-gradient:radial-gradient(circle at 50% 30%, color(display-p3 .0409392 .0594044 .148187) 0%, color(display-p3 .0051288 .0134785 .0313812) 100%);--text-primary:color(display-p3 .922769 .935541 .95965);--text-muted:color(display-p3 .598684 .622198 .66685);--accent-purple:color(display-p3 .549501 .380097 .944582);--accent-purple-glow:color(display-p3 .549501 .380097 .944582/.4);--accent-amber:color(display-p3 .977271 .771677 .231869);--accent-amber-glow:color(display-p3 .977271 .771677 .231869/.4);--accent-emerald:color(display-p3 .428591 .746057 .390042);--accent-emerald-glow:color(display-p3 .428591 .746057 .390042/.4);--accent-coral:color(display-p3 .845235 .382966 .352236);--accent-coral-glow:color(display-p3 .845235 .382966 .352236/.4);--accent-blue:color(display-p3 .139784 .589011 .914347);--accent-blue-glow:color(display-p3 .139784 .589011 .914347/.4)}}@supports (color:lab(0% 0 0)){:root{--bg-color:lab(1.48411% .282519 -5.19811);--bg-gradient:radial-gradient(circle at 50% 30%, lab(4.86846% 3.48683 -16.9012) 0%, lab(.884869% -.217319 -2.15163) 100%);--text-primary:lab(94.1679% -.518382 -3.73511);--text-muted:lab(65.1297% -.927359 -7.41248);--accent-purple:lab(52.3399% 47.3098 -70.9392);--accent-purple-glow:lab(52.3399% 47.3098 -70.9392/.4);--accent-amber:lab(82.7728% 14.5452 88.3447);--accent-amber-glow:lab(82.7728% 14.5452 88.3447/.4);--accent-emerald:lab(69.679% -50.5618 42.4636);--accent-emerald-glow:lab(69.679% -50.5618 42.4636/.4);--accent-coral:lab(57.6104% 56.6725 33.4484);--accent-coral-glow:lab(57.6104% 56.6725 33.4484/.4);--accent-blue:lab(58.9972% -14.7665 -55.6764);--accent-blue-glow:lab(58.9972% -14.7665 -55.6764/.4)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);height:100vh;-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;height:100dvh;line-height:1.5;display:flex;overflow:hidden}.app-container{width:100%;max-width:900px;height:100vh;background:var(--card-bg);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--card-border);border-right:1px solid var(--card-border);height:100dvh;box-shadow:0 0 40px var(--card-glow), inset 0 1px 0 #ffffff0d;border-top:none;border-bottom:none;border-radius:0;flex-direction:column;gap:.75rem;margin:0 auto;padding:1.25rem 1.5rem;display:flex;position:relative}.vertical-copyright{-webkit-user-select:none;user-select:none;z-index:10;pointer-events:none;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.vertical-copyright .copyright-text{writing-mode:vertical-rl;font-family:var(--font-sans);letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;opacity:.55;transition:color var(--transition-speed), opacity var(--transition-speed);font-size:.72rem;font-weight:500}.vertical-copyright:hover .copyright-text{color:var(--text-primary);opacity:.9}.vertical-copyright .copyright-sep{opacity:.5;margin:.4rem 0;display:inline-block}.vertical-copyright .legal-link{color:inherit;pointer-events:auto;cursor:pointer;transition:color var(--transition-speed), text-decoration-color var(--transition-speed);text-decoration:none}.vertical-copyright .legal-link:hover{color:var(--accent-amber);text-decoration:underline}@media (max-width:960px){.vertical-copyright{left:auto;right:8px}.vertical-copyright .copyright-text{opacity:.35}}header{text-align:center;border-bottom:1px solid var(--card-border);flex-direction:column;flex-shrink:0;gap:.5rem;padding-bottom:1rem;display:flex}.title-area{justify-content:space-between;align-items:center;display:flex}h1{letter-spacing:.1rem;background:linear-gradient(to right, var(--accent-purple) 0%, #fff 50%, var(--accent-amber) 100%);-webkit-text-fill-color:transparent;text-transform:uppercase;-webkit-background-clip:text;font-size:2.2rem;font-weight:800}.score-badge{border:1px solid var(--card-border);font-family:var(--font-mono);background:#ffffff0d;border-radius:12px;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:1.2rem;display:flex}.score-num{color:var(--accent-emerald);text-shadow:0 0 10px var(--accent-emerald-glow);font-weight:700}.target-word-num{color:var(--accent-amber);letter-spacing:.05em;text-shadow:0 0 10px var(--accent-amber-glow);font-weight:700}.score-item{align-items:center;gap:.3rem;display:inline-flex;position:relative}.floating-score{color:#ff4d4d;font-size:1.75rem;font-weight:800;font-family:var(--font-mono);text-shadow:0 0 12px #ff4d4db3,0 3px 6px #0009;pointer-events:none;z-index:100;white-space:nowrap;animation:1.6s cubic-bezier(.16,1,.3,1) forwards floatUpAndFade;position:absolute;top:100%;left:50%;transform:translate(-50%)}:root.light-mode .floating-score{color:#d63031;text-shadow:0 0 8px #d6303180}@keyframes floatUpAndFade{0%{opacity:0;transform:translate(-50%,36px)scale(.95)}20%{opacity:1;transform:translate(-50%,16px)scale(1.35)}75%{opacity:1;transform:translate(-50%,-8px)scale(1.1)}to{opacity:0;transform:translate(-50%,-28px)scale(.9)}}.instructions-container{justify-content:center;align-items:center;min-height:3.2rem;margin-top:.5rem;display:flex;position:relative}.instructions{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:100%;font-size:.95rem;line-height:1.4;transition:opacity .3s,transform .3s,color .2s;display:flex}.instruction-line{text-align:center;width:100%}.btn-guide-inline{background:var(--card-border);width:1.25rem;height:1.25rem;color:var(--text-muted);border:1px solid var(--card-border);cursor:pointer;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;margin-left:.35rem;font-size:.75rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0003}.btn-guide-inline:hover{background:var(--accent-purple);color:#fff;border-color:var(--accent-purple);transform:scale(1.15);box-shadow:0 0 10px #a855f766}.btn-guide-inline:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.instructions.contextual{color:var(--text-primary);text-align:center;font-size:1.05rem;font-weight:500}#instruction-start{color:var(--accent-purple);font-weight:700}#instruction-target{color:var(--accent-amber);font-weight:700}.difficulty-container{justify-content:center;margin-top:.4rem;display:flex}.mode-picker,.difficulty-picker,.demo-type-picker,.demo-diff-picker{background:var(--bg-card);border:1px solid var(--card-border);border-radius:20px;gap:2px;padding:3px;display:inline-flex}.mode-btn,.diff-btn,.demo-type-btn,.demo-diff-btn{color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;border-radius:16px;padding:.35rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.mode-btn:hover,.diff-btn:hover,.demo-type-btn:hover,.demo-diff-btn:hover{color:var(--text-primary);background:#ffffff0d}.mode-btn.active,.diff-btn.active,.demo-type-btn.active,.demo-diff-btn.active{background:var(--accent-blue);color:#fff;box-shadow:0 2px 8px #3b82f666}.instructions-container.has-warning .instructions,.instructions-container.has-hint .instructions{opacity:0;pointer-events:none;transform:scale(.98)}.instructions-container:has(.warning-message.show) .instructions{opacity:0;pointer-events:none;transform:scale(.98)}.instructions-container:has(.hint-text.show) .instructions{opacity:0;pointer-events:none;transform:scale(.98)}.board-viewport{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;width:100%;min-height:0;padding-top:.5rem;padding-bottom:.5rem;padding-right:.3rem;display:flex;position:relative;overflow:hidden auto}.board-container{width:100%;max-width:100%;transition:transform var(--transition-speed) cubic-bezier(.34, 1.56, .64, 1);flex-direction:column;align-items:center;gap:1.2rem;display:flex;position:relative;overflow-x:clip}.board-viewport.winning-anim,.board-container.winning-anim{overflow:visible!important}.board-viewport.game-over,.board-container.game-over{cursor:pointer}.game-over .letter-tile,.game-over .history-tile,.game-over .history-row{pointer-events:none}.game-over .row-def-btn{pointer-events:auto}.game-over .history-row:hover .history-deletion-bar{box-shadow:0 0 8px var(--accent-coral-glow)}.row-section{flex-direction:column;align-items:center;gap:.35rem;width:100%;display:flex}.row-badge{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.7;font-size:.72rem;font-weight:700}.target-badge-tag{color:var(--accent-amber);opacity:.95;text-shadow:0 0 8px var(--accent-amber-glow)}.target-tile{width:100%;height:var(--slot-size);border:1.5px solid var(--accent-amber);font-family:var(--font-mono);font-size:var(--slot-font-size,1.8rem);color:var(--accent-amber);text-transform:uppercase;box-shadow:0 0 12px var(--accent-amber-glow);-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#ffc83214;border-radius:12px;justify-content:center;align-items:center;font-weight:800;display:flex}.target-tile.mutation{border:1.5px solid var(--accent-blue)!important;box-shadow:0 0 8px var(--accent-blue-glow)!important}.target-tile.addition{border:1.5px solid var(--accent-emerald)!important;box-shadow:0 0 8px var(--accent-emerald-glow)!important}.active-play-area{flex-direction:column;align-items:center;gap:1.2rem;width:100%;display:flex;position:relative}.word-row{justify-content:center;column-gap:var(--slot-gap);width:100%;transition:transform var(--transition-speed) ease;grid-template-rows:1fr;padding-left:2.2rem;padding-right:2.2rem;display:grid;position:relative}.word-row>*{grid-row:1}.row-label{text-transform:uppercase;letter-spacing:.1rem;color:var(--text-muted);opacity:.5;pointer-events:none;font-size:.75rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.input-row{z-index:10}.letter-slot{width:100%;height:var(--slot-size);font-family:var(--font-mono);font-size:var(--slot-font-size,1.8rem);text-align:center;color:var(--text-primary);text-transform:uppercase;cursor:pointer;caret-color:#0000;-webkit-appearance:none;appearance:none;font-weight:700;line-height:calc(var(--slot-size) - 4px);background:#ffffff05;border:2px dashed #ffffff26;border-radius:12px;outline:none;margin:0;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.letter-slot::placeholder{line-height:inherit;color:var(--text-muted);opacity:.5}.letter-slot::-webkit-input-placeholder{line-height:inherit}.letter-slot.insert-slot{height:var(--insert-size);line-height:calc(var(--insert-size) - 4px);font-size:var(--insert-font-size,1.1rem);background:#ffffff03;border-color:#ffffff1f;border-radius:50%;align-self:center}.letter-slot.insert-slot::placeholder{content:"+";color:var(--text-muted);opacity:.4;line-height:inherit}.letter-slot.replace-slot{height:var(--slot-size)}.letter-slot:hover{border-color:var(--accent-blue);background:#3ca0ff14;transform:translateY(-2px)}.letter-slot.insert-slot:hover{border-color:var(--accent-emerald);background:#50dc8c14;transform:translateY(-2px)}.letter-slot:focus,.letter-slot.replace-slot:focus{border-style:solid;border-width:2px;border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow), 0 0 15px var(--accent-blue-glow);background:#3ca0ff26;transform:scale(1.08)}.letter-slot.insert-slot:focus{border-style:solid;border-width:2px;border-color:var(--accent-emerald);color:var(--accent-emerald);box-shadow:0 0 0 3px var(--accent-emerald-glow), 0 0 15px var(--accent-emerald-glow);background:#50dc8c26;transform:scale(1.08)}.letter-slot.insert-slot:focus::placeholder{color:var(--accent-emerald);opacity:.9}.current-row{z-index:5}.letter-tile,.history-tile{width:100%;height:var(--slot-size);font-family:var(--font-mono);font-size:var(--slot-font-size,1.8rem);color:var(--text-primary);text-transform:uppercase;-webkit-user-select:none;user-select:none;box-sizing:border-box;-webkit-appearance:none;appearance:none;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;outline:none;justify-content:center;align-items:center;margin:0;padding:0;font-weight:700;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 10px #0003}.starter-tile,.starter-row .history-tile{border:1.5px solid var(--accent-purple);color:var(--accent-purple);box-shadow:0 0 10px var(--accent-purple-glow);background:#b464ff14}:root.case-lowercase .target-tile,:root.case-lowercase .letter-tile,:root.case-lowercase .history-tile,:root.case-lowercase .letter-slot{text-transform:lowercase!important}.current-row .letter-tile{cursor:pointer}.current-row .letter-tile:hover{transform:translateY(-2px);border-style:solid!important;border-width:2px!important;border-color:var(--accent-coral)!important;color:var(--accent-coral)!important;box-shadow:0 0 0 3px var(--accent-coral-glow), 0 0 15px var(--accent-coral-glow)!important;background:#ff646414!important}.current-row .letter-tile:before{content:"×";color:var(--accent-coral);opacity:.6;pointer-events:none;font-size:clamp(.7rem,2.5vw,.95rem);line-height:1;font-family:var(--font-sans);font-weight:800;transition:all .2s;position:absolute;top:2px;right:5px}.current-row .letter-tile:hover:before{color:var(--accent-coral)!important;opacity:1!important}:root.light-mode .current-row .letter-tile:before{color:var(--accent-coral);opacity:.75}.current-row .letter-tile:after{content:"×";color:var(--accent-coral);opacity:0;pointer-events:none;font-size:clamp(3.2rem,9.5vw,4.8rem);line-height:1;font-family:var(--font-sans);z-index:2;font-weight:800;transition:opacity .2s,transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.current-row .letter-tile:hover:after{opacity:.21;transform:translate(-50%,-50%)scale(1.05)}.history-list{will-change:transform;flex-direction:column;gap:1.2rem;width:100%;margin:0;padding:0;display:flex;position:relative}.history-list.survival-mode{cursor:pointer}.history-row{justify-content:center;column-gap:var(--slot-gap);width:100%;transition:transform var(--transition-speed) ease;display:grid;position:relative}.history-row.animate-in{animation:.4s forwards fade-in-up}.anim-fill-tile{pointer-events:none;z-index:25;will-change:transform, opacity, box-shadow;transition:none;box-shadow:0 4px 10px #0003}.anim-fill-tile.lifted{z-index:30;box-shadow:0 14px 28px #00000073,0 0 15px #ffffff40!important}.anim-fill-tile.gold-reveal{border:2px solid var(--accent-amber)!important;color:var(--accent-amber)!important;box-shadow:0 0 22px var(--accent-amber-glow)!important;transform:translateY(var(--slide-up-dist,0px)) scale(1.18)!important;z-index:40!important;background:#ffc8322e!important;transition:all .25s cubic-bezier(.34,1.56,.64,1)!important}.letter-starburst-wrapper{width:100%;height:var(--slot-size,4.5rem);pointer-events:none;z-index:35;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.letter-starburst{width:var(--slot-size,4.5rem);height:var(--slot-size,4.5rem);pointer-events:none;justify-content:center;align-items:center;animation:.65s cubic-bezier(.15,.85,.35,1.2) forwards starburst-pop-fade;display:flex;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)scale(.3)}@keyframes starburst-pop-fade{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(0)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.7)rotate(15deg)}60%{opacity:.85;transform:translate(-50%,-50%)scale(2.3)rotate(35deg)}to{opacity:0;transform:translate(-50%,-50%)scale(2.7)rotate(50deg)}}.starburst-flare{filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#fff5a0f2 0%,#ffc828b3 45%,#ffa00000 75%);border-radius:50%;position:absolute;top:-15px;bottom:-15px;left:-15px;right:-15px}.starburst-svg{pointer-events:none;filter:drop-shadow(0 0 10px #ffd700d9);width:220%;height:220%;position:absolute;top:-60%;left:-60%;overflow:visible}.starburst-sparks{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.starburst-spark{pointer-events:none;background:#fff;border-radius:50%;width:6px;height:6px;animation:.55s cubic-bezier(.1,.8,.3,1) forwards spark-fly-out;position:absolute;top:-3px;left:-3px;box-shadow:0 0 6px #ffe066,0 0 12px #f90}@keyframes spark-fly-out{0%{opacity:1;transform:translate(0)scale(1)}60%{opacity:1}to{transform:translate(var(--tx,30px), var(--ty,30px)) scale(0);opacity:0}}.input-row.animating-fill .letter-slot{transition:opacity .15s;opacity:0!important;pointer-events:none!important}.active-play-area.animating-slide .input-row,.active-play-area.animating-slide .current-row,.history-list.animating-slide .history-row{will-change:transform}.letter-tile.mutation{color:var(--text-primary);border:1.5px solid var(--accent-blue)!important;box-shadow:0 0 8px var(--accent-blue-glow)!important}.letter-tile.addition{color:var(--text-primary);border:1.5px solid var(--accent-emerald)!important;box-shadow:0 0 8px var(--accent-emerald-glow)!important}.history-deletion-bar{width:5.5px;height:calc(var(--slot-size) * .92);pointer-events:none;z-index:5;border:1.5px solid var(--accent-coral);box-shadow:0 0 8px var(--accent-coral-glow);box-sizing:border-box;border-radius:9999px;flex-shrink:0;place-self:center;animation:.3s forwards fade-in-up;position:relative}.history-row:hover .history-deletion-bar{box-shadow:0 0 12px var(--accent-coral-glow)}:root.light-mode .letter-tile.mutation{border-color:var(--accent-blue)!important;box-shadow:0 0 8px var(--accent-blue-glow)!important}:root.light-mode .letter-tile.addition{border-color:var(--accent-emerald)!important;box-shadow:0 0 8px var(--accent-emerald-glow)!important}:root.hide-history-diffs .history-tile.mutation,:root.hide-history-diffs .history-tile.addition{box-shadow:none!important;border:1px solid #ffffff1f!important}:root.hide-history-diffs .target-tile.mutation,:root.hide-history-diffs .target-tile.addition{border:1.5px solid var(--accent-amber)!important;box-shadow:0 0 12px var(--accent-amber-glow)!important}:root.light-mode.hide-history-diffs .history-tile.mutation,:root.light-mode.hide-history-diffs .history-tile.addition{background:#ffffffb3!important;border-color:#0000000f!important;box-shadow:0 2px 5px #00000008!important}:root.light-mode.hide-history-diffs .target-tile.mutation,:root.light-mode.hide-history-diffs .target-tile.addition{border-color:var(--accent-amber)!important;box-shadow:0 0 8px var(--accent-amber-glow)!important}:root.hide-history-diffs .history-deletion-bar{display:none!important}.action-area{border-top:1px solid var(--card-border);flex-shrink:0;justify-content:center;gap:1rem;margin-top:auto;padding-top:1rem;display:flex}.btn{border:1px solid var(--card-border);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;background:#ffffff0d;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-primary{background:var(--accent-purple);box-shadow:0 4px 15px var(--accent-purple-glow);border-color:#0000}.btn-primary:hover{box-shadow:0 6px 20px var(--accent-purple-glow);background:#a37aff;background:color(display-p3 .619515 .456873 1.02632);background:lab(59.443% 45.9185 -71.0488)}.shake{animation:.4s shake-anim}.valid-glow{animation:.5s success-glow-anim}@keyframes shake-anim{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes success-glow-anim{0%{transform:scale(1);box-shadow:0 0 #0000}50%{border-color:var(--accent-emerald);box-shadow:0 0 20px var(--accent-emerald-glow);background:#64ff961a;transform:scale(1.03)}to{transform:scale(1);box-shadow:0 0 #0000}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.warning-message{background:var(--accent-coral);color:#fff;letter-spacing:.02rem;box-shadow:0 6px 20px var(--accent-coral-glow);opacity:0;pointer-events:none;text-align:center;z-index:20;border-radius:12px;justify-content:center;align-items:center;padding:.5rem 1.2rem;font-size:1.15rem;font-weight:700;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(.92)}.warning-message.show{opacity:1;pointer-events:auto;transform:scale(1)}.hint-text{background:var(--accent-emerald);color:#fff;letter-spacing:.02rem;box-shadow:0 6px 20px var(--accent-emerald-glow);opacity:0;pointer-events:none;text-align:center;z-index:20;white-space:pre-wrap;border-radius:12px;justify-content:center;align-items:center;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:600;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(.92)}.hint-text.show{opacity:1;pointer-events:auto;transform:scale(1)}.hint-text strong{margin:0 .35rem;font-weight:800}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.btn-icon:hover{color:var(--accent-purple);background:#ffffff0d;transform:scale(1.1)}.modal-dialog{background:var(--modal-bg);-webkit-backdrop-filter:blur(25px);border:none;border:1px solid var(--card-border);width:90%;max-width:420px;color:var(--text-primary);opacity:0;transition:opacity .3s ease, transform .3s cubic-bezier(.34, 1.56, .64, 1), display .3s allow-discrete, overlay .3s allow-discrete;border-radius:20px;margin:0;padding:0;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.95);box-shadow:0 25px 50px #00000080,inset 0 1px #ffffff0d}#chain-modal{width:min(92vw,680px);max-width:680px}#definition-modal{width:min(92vw,540px);max-width:540px}#guide-modal{width:min(92vw,640px);max-width:640px}.guide-modal-header{padding:1rem 1.25rem}.guide-modal-body{background:#0000004d;justify-content:center;align-items:center;padding:.75rem;display:flex}.guide-modal-body video{object-fit:contain;border-radius:12px;outline:none;width:100%;max-height:70vh;box-shadow:0 8px 24px #0006}.modal-dialog[open]{opacity:1;transform:translate(-50%,-50%)scale(1)}@starting-style{.modal-dialog[open]{opacity:0;transform:translate(-50%,-50%)scale(.95)}}.modal-dialog::backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease, display .3s allow-discrete, overlay .3s allow-discrete;background:#0a080fb3}.modal-dialog[open]::backdrop{opacity:1}@starting-style{.modal-dialog[open]::backdrop{opacity:0}}.modal-content{max-height:95vh;flex-direction:column;max-height:95dvh;display:flex}.modal-header{border-bottom:1px solid var(--card-border);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:.85rem 3rem;display:flex;position:relative}.modal-header h2{text-align:center;background:linear-gradient(to right, var(--accent-purple) 0%, #fff 50%, var(--accent-amber) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem;font-weight:700;line-height:1.2}.modal-summary-row{font-family:var(--font-mono);letter-spacing:.05em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;font-size:1.15rem;font-weight:700;display:flex}.modal-summary-row .summary-starter{color:var(--accent-purple)}.modal-summary-row .summary-arrows{color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.2rem;font-size:.85rem;display:flex}.modal-summary-row .summary-arrow{line-height:1;display:inline-block}.modal-summary-row .summary-final{color:var(--accent-amber)}.btn-close{color:var(--text-muted);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:0;font-size:1.6rem;line-height:1;transition:color .2s,background-color .2s;display:flex;position:absolute;top:50%;right:1.2rem;transform:translateY(-50%);box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.btn-close:hover{color:var(--accent-coral);background:#ffffff14!important;border:none!important}:root.light-mode .btn-close:hover{color:var(--accent-coral);background:#0000000f!important;border:none!important}.btn-close:focus,.btn-close:active{box-shadow:none!important;border:none!important;outline:none!important}.btn-close:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.modal-body{flex-direction:column;flex-grow:1;align-items:center;gap:1.2rem;min-height:0;padding:1.5rem;display:flex}.modal-score{font-family:var(--font-sans);background:#ffc8320a;border:1px solid #ffc8322e;border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.85rem 1.5rem;display:flex;box-shadow:0 0 15px #ffc8320d}.modal-score-box{flex-direction:column;align-items:center;gap:.3rem;width:100%;display:flex}.score-line-1,.score-line-2{font-size:1.35rem;font-family:var(--font-sans);text-align:center;line-height:1.3}.score-word-text{color:var(--text-muted);font-weight:500}.score-num-val{color:#fff;font-family:var(--font-mono);text-shadow:0 0 10px #ffffff4d;font-size:1.45rem;font-weight:800}:root.light-mode .score-num-val{color:var(--text-primary);text-shadow:none}:root.light-mode h1,:root.light-mode .modal-header h2{background:linear-gradient(to right, var(--accent-purple) 0%, var(--text-primary) 50%, var(--accent-amber) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.modal-chain-text{font-family:var(--font-mono);text-align:center;border:1px solid var(--card-border);width:100%;color:var(--text-primary);letter-spacing:.1rem;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;background:#00000040;border-radius:12px;flex-direction:column;flex-grow:1;flex-shrink:1;align-items:center;gap:.3rem;min-height:80px;margin:0;padding:1.2rem;font-size:1.5rem;font-weight:700;line-height:1.6;display:flex;overflow-y:auto;box-shadow:inset 0 2px 8px #0006}.chain-pre{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-primary);text-align:left;-webkit-user-select:text;user-select:text;white-space:pre;margin:0;padding:.4rem .8rem;font-size:1.15rem;font-weight:500;line-height:1.15;display:inline-block}.chain-pre.survival-pre{letter-spacing:.12em;padding:.4rem .8rem;font-size:1.15rem;font-weight:500;line-height:1.15}.chain-line{display:inline}.chain-line.starter-line{color:var(--accent-purple)}.chain-line.current-line{color:var(--accent-amber)}@supports not (scrollbar-color:auto){.modal-chain-text::-webkit-scrollbar{width:6px}.modal-chain-text::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.modal-chain-text::-webkit-scrollbar-track{background:0 0}}.modal-footer{border-top:1px solid var(--card-border);box-sizing:border-box;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;width:100%;min-height:64px;padding:1rem 1.2rem;display:flex}.modal-footer .btn{white-space:nowrap;flex-shrink:0;padding:.55rem .9rem;font-size:.9rem}:root.light-mode{--bg-color:#ebeff5;--bg-gradient:radial-gradient(circle at 50% 30%, #f6f8ff 0%, #dbe6f2 100%);--card-bg:#ffffff73;--modal-bg:#fffffffa;--card-border:#00000014;--card-glow:#0000000a;--text-primary:#1c222b;--text-muted:#575e69;--accent-purple:#8047e1;--accent-purple-glow:#8047e133;--accent-amber:#a17000;--accent-amber-glow:#a1700040;--accent-emerald:#005f13;--accent-emerald-glow:#005f1333;--accent-coral:#cf4040;--accent-coral-glow:#cf404033;--accent-blue:#0070ae;--accent-blue-glow:#0070ae33}@supports (color:color(display-p3 0 0 0)){:root.light-mode{--bg-color:color(display-p3 .922769 .935541 .95965);--bg-gradient:radial-gradient(circle at 50% 30%, color(display-p3 .965133 .973263 .999233) 0%, color(display-p3 .866476 .900387 .943485) 100%);--text-primary:color(display-p3 .114361 .13221 .166818);--text-muted:color(display-p3 .346575 .367873 .408512);--accent-purple:color(display-p3 .470257 .289077 .850495);--accent-purple-glow:color(display-p3 .470257 .289077 .850495/.2);--accent-amber:color(display-p3 .669363 .410801 -.238158);--accent-amber-glow:color(display-p3 .669363 .410801 -.238158/.25);--accent-emerald:color(display-p3 .0284011 .381265 -.00277687);--accent-emerald-glow:color(display-p3 .0284011 .381265 -.00277687/.2);--accent-coral:color(display-p3 .751468 .295569 .273174);--accent-coral-glow:color(display-p3 .751468 .295569 .273174/.2);--accent-blue:color(display-p3 -.141976 .428753 .743925);--accent-blue-glow:color(display-p3 -.141976 .428753 .743925/.2)}}@supports (color:lab(0% 0 0)){:root.light-mode{--bg-color:lab(94.1679% -.518382 -3.73511);--bg-gradient:radial-gradient(circle at 50% 30%, lab(97.6253% .0680089 -3.78776) 0%, lab(90.6998% -2.11787 -7.10534) 100%);--text-primary:lab(12.9118% -.603847 -7.27841);--text-muted:lab(39.6052% -.846565 -7.37441);--accent-purple:lab(44.0033% 49.3402 -70.8447);--accent-purple-glow:lab(44.0033% 49.3402 -70.8447/.2);--accent-amber:lab(50.9262% 27.2183 145.983);--accent-amber-glow:lab(50.9262% 27.2183 145.983/.25);--accent-emerald:lab(34.7341% -51.3047 50.7143);--accent-emerald-glow:lab(34.7341% -51.3047 50.7143/.2);--accent-coral:lab(49.4737% 56.8232 34.3326);--accent-coral-glow:lab(49.4737% 56.8232 34.3326/.2);--accent-blue:lab(43.7136% -10.2814 -55.3135);--accent-blue-glow:lab(43.7136% -10.2814 -55.3135/.2)}}:root.light-mode .letter-slot{color:var(--text-primary);background:#00000005;border-color:#0000001f}:root.light-mode .letter-slot:hover{background:#0000000a;border-color:#00000038}:root.light-mode .letter-slot:focus{border-style:solid;border-width:2px;border-color:var(--accent-purple);color:#2c0062;color:color(display-p3 .159158 -.0813861 .402869);color:lab(8.24352% 53.2116 -58.9449);background:#e0d7ff;background:color(display-p3 .874342 .833857 1.04306);background:lab(87.4853% 13.0429 -26.7107);transform:scale(1.08);box-shadow:0 0 0 3.5px #8047e159,0 4px 15px #8047e140;box-shadow:0 0 0 3.5px color(display-p3 .470257 .289077 .850495/.35),0 4px 15px color(display-p3 .470257 .289077 .850495/.25);box-shadow:0 0 0 3.5px lab(44.0033% 49.3402 -70.8447/.35),0 4px 15px lab(44.0033% 49.3402 -70.8447/.25)}:root.light-mode .letter-slot.insert-slot:focus{background:var(--accent-purple);color:#fff;border-color:var(--accent-purple);box-shadow:0 0 0 4px #8047e166,0 4px 15px #8047e14d;box-shadow:0 0 0 4px color(display-p3 .470257 .289077 .850495/.4),0 4px 15px color(display-p3 .470257 .289077 .850495/.3);box-shadow:0 0 0 4px lab(44.0033% 49.3402 -70.8447/.4),0 4px 15px lab(44.0033% 49.3402 -70.8447/.3)}:root.light-mode .letter-slot.insert-slot:focus::placeholder{color:#fff;opacity:.9}:root.light-mode .letter-tile{background:#ffffffd9;border-color:#00000014;box-shadow:0 4px 10px #0000000d}:root.light-mode .letter-tile:hover{border-color:var(--accent-coral);box-shadow:0 6px 15px #ff64641a}:root.light-mode .history-tile{background:#ffffffb3;border-color:#0000000f;box-shadow:0 2px 5px #00000008}:root.light-mode .starter-tile,:root.light-mode .starter-row .history-tile{border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:0 0 8px var(--accent-purple-glow);background:#963cf014}:root.light-mode .target-tile{border-color:var(--accent-amber);color:var(--accent-amber);box-shadow:0 0 8px var(--accent-amber-glow);background:#dca0001f}:root.light-mode .btn{background:#00000008}:root.light-mode .btn:hover{background:#0000000f;border-color:#00000026}:root.light-mode .btn-primary{background:var(--accent-purple);color:#fff}:root.light-mode .btn-primary:hover{background:#6c2dc9;background:color(display-p3 .393964 .192324 .757826);background:lab(35.5841% 52.0098 -70.8252)}:root.light-mode .history-viewport{scrollbar-color:#00000026 transparent}:root.light-mode .modal-dialog{box-shadow:0 25px 50px #00000014,inset 0 1px #ffffff80}:root.light-mode .modal-dialog::backdrop{background:#f0f0f5bf}:root.light-mode .modal-chain-text{background:#ffffffd9;box-shadow:inset 0 2px 8px #0000000d}:root.light-mode .modal-stat-divider{background:#0000001a}:root.light-mode .btn-close:hover{background:#0000000d}:root.case-lowercase .letter-slot,:root.case-lowercase .letter-tile,:root.case-lowercase .history-tile,:root.case-lowercase .modal-chain-text,:root.case-lowercase .modal-summary-row{text-transform:lowercase}.btn-icon-only{flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex;border-radius:50%!important}.btn-icon-only.active,:root.light-mode .btn-icon-only.active{background:var(--accent-purple-glow)!important;border-color:var(--accent-purple)!important;color:var(--accent-purple)!important}:root.demo-mode .letter-slot,:root.demo-mode .current-row .letter-tile{pointer-events:none!important;cursor:default!important}:root.demo-mode .current-row .letter-tile:before,:root.demo-mode .current-row .letter-tile:after{display:none!important}:root.demo-mode #history-list{cursor:pointer}.demo-options-form{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.demo-option-group{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.demo-option-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;text-align:center;font-size:.8rem;font-weight:700}.demo-type-picker,.demo-diff-picker{align-self:center;width:-moz-fit-content;width:fit-content;display:inline-flex}.demo-slider-header{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.demo-speed-val{font-family:var(--font-mono);color:var(--accent-purple);font-size:.95rem;font-weight:700}.demo-speed-slider{width:100%;accent-color:var(--accent-purple);cursor:pointer;background:var(--bg-card);border-radius:3px;outline:none;height:6px}.demo-slider-labels{width:100%;color:var(--text-muted);justify-content:space-between;font-size:.8rem;font-weight:500;display:flex}.btn-start-demo{justify-content:center;width:100%}body.legal-page-body{height:auto;min-height:100vh;align-items:flex-start;min-height:100dvh;padding:2rem 1rem;overflow-y:auto}.legal-container{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);width:100%;max-width:800px;box-shadow:0 0 40px var(--card-glow);color:var(--text-primary);border-radius:12px;margin:0 auto;padding:2rem 2.5rem}.legal-header{border-bottom:1px solid var(--card-border);flex-direction:column;gap:.4rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.legal-header h1{letter-spacing:-.02em;color:var(--text-primary);font-size:2rem;font-weight:800}.legal-subtitle{color:var(--text-muted);font-size:.95rem}.btn-back-home{color:var(--accent-emerald);transition:opacity var(--transition-speed), transform var(--transition-speed);align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;margin-bottom:.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-back-home:hover{opacity:.85;transform:translate(-2px)}.legal-outline{border:1px solid var(--card-border);background:#ffffff08;border-radius:8px;margin-bottom:2.5rem;padding:1.25rem 1.5rem}.legal-outline h2{color:var(--text-primary);margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.outline-list{flex-direction:column;gap:.45rem;padding-left:0;list-style:none;display:flex}.outline-list li a{color:var(--accent-amber);transition:color var(--transition-speed);font-size:.95rem;font-weight:500;text-decoration:none}.outline-list li a:hover{color:var(--text-primary);text-decoration:underline}.legal-section{margin-bottom:2.5rem;scroll-margin-top:2rem}.legal-section h2{color:var(--text-primary);border-bottom:1px solid #ffffff0d;margin-bottom:.75rem;padding-bottom:.4rem;font-size:1.35rem}.legal-section p{color:var(--text-muted);margin-bottom:.85rem;font-size:.95rem;line-height:1.65}.legal-section ul{color:var(--text-muted);margin-bottom:1rem;padding-left:1.5rem;font-size:.95rem;line-height:1.65}.legal-section li{margin-bottom:.4rem}.legal-section a{color:var(--accent-amber);text-decoration:underline}.legal-section a:hover{color:var(--text-primary)}.legal-footer{border-top:1px solid var(--card-border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.85rem;display:flex}.legal-back-link{color:var(--accent-emerald);font-weight:600;text-decoration:none}.legal-back-link:hover{text-decoration:underline}@media (max-width:600px){.legal-container{padding:1.5rem 1.25rem}.legal-header h1{font-size:1.6rem}}.def-clickable{cursor:pointer!important}span.def-clickable,strong.def-clickable{transition:color .15s,-webkit-text-decoration .15s,text-decoration .15s}span.def-clickable:hover,strong.def-clickable:hover{text-decoration:underline;color:var(--text-primary)!important}.row-def-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;z-index:15;-webkit-appearance:none;appearance:none;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:inline-flex;position:absolute;top:50%;left:.2rem;transform:translateY(-50%);box-shadow:0 2px 6px #00000040}.row-def-btn:hover{color:var(--text-primary);background:#ffffff2e;border-color:#ffffff59;transform:translateY(-50%)scale(1.12)}.row-def-btn:active{transform:translateY(-50%)scale(.92)}@media (max-width:600px){.word-row{padding-left:1.6rem;padding-right:1.6rem}.row-def-btn{width:23px;height:23px;left:.1rem}}.def-modal-content{background:var(--modal-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:16px;flex-direction:column;width:100%;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000080}.def-modal-header{border-bottom:1px solid var(--card-border);box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;padding:1.1rem 3.5rem 1.1rem 1.5rem;display:flex;position:relative}.def-header-title{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.def-word-title{color:var(--text-primary);text-transform:capitalize;letter-spacing:.02em;margin:0;font-size:1.75rem;font-weight:700}.def-phonetic{color:var(--text-muted);font-family:monospace;font-size:1rem;font-weight:500}.def-audio-btn{color:var(--text-muted);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:.25rem;transition:all .2s;display:inline-flex}.def-audio-btn:hover{color:var(--text-primary);background:#fff3;border-color:#ffffff59;transform:scale(1.1)}.def-audio-btn.fallback-tts{color:var(--accent-blue);background:#3b82f626;border:1px solid #3b82f659;border-radius:16px;gap:.25rem;width:auto;min-width:44px;padding:0 .45rem}.def-audio-btn.fallback-tts:hover{background:var(--accent-blue);color:#fff;transform:scale(1.08)}.def-computer-icon{opacity:.85}.def-modal-body{max-height:60vh;box-sizing:border-box;width:100%;max-height:60dvh;padding:1.25rem 1.5rem;overflow-y:auto;align-items:stretch!important}.def-content{text-align:left;box-sizing:border-box;width:100%}.def-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.def-meaning-group{width:100%;margin-bottom:1.25rem}.def-meaning-group:last-child{margin-bottom:0}.def-part-of-speech{text-transform:uppercase;letter-spacing:.08em;background:var(--accent-emerald-glow);color:var(--accent-emerald);border-radius:6px;margin-bottom:.5rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.def-list{margin:.5rem 0;padding-left:1.4rem}.def-item{color:var(--text-primary);text-align:left;margin-bottom:.6rem;font-size:.95rem;line-height:1.5}.def-example{color:var(--text-muted);margin-top:.25rem;font-size:.88rem;font-style:italic;display:block}.def-synonyms{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.def-syn-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.def-syn-tag{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);border-radius:12px;padding:.15rem .5rem;font-size:.8rem}.def-error-msg{text-align:center;color:var(--text-muted);padding:1.5rem}.def-error-msg a{color:var(--accent-emerald,#10b981);font-weight:500;text-decoration:underline}.def-error-msg a:hover{text-decoration:none}#btn-done-def-modal{margin-left:auto}.def-disclaimer{border-top:1px dashed var(--card-border);color:var(--text-muted);text-align:center;margin-top:1.25rem;padding-top:.75rem;font-size:.8rem;line-height:1.4}.def-modal-footer{border-top:1px solid var(--card-border);box-sizing:border-box;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:1rem 1.5rem;display:flex}.def-external-link{white-space:nowrap;align-items:center;gap:.4rem;font-size:.88rem;display:inline-flex}:root.light-mode .def-modal-content{background:var(--modal-bg);border-color:var(--card-border);box-shadow:0 20px 50px #0000001f}:root.light-mode .def-part-of-speech{color:var(--accent-emerald);background:#10b9811f}:root.light-mode .def-syn-tag{color:var(--text-primary);background:#0000000a;border-color:#0000001a}:root.light-mode .row-def-btn{color:var(--text-muted);background:#0000000d;border-color:#00000024;box-shadow:0 2px 5px #0000000f}:root.light-mode .row-def-btn:hover{color:var(--text-primary);background:#0000001f;border-color:#00000047}:root.light-mode .def-audio-btn{color:var(--text-muted);background:#0000000d;border-color:#00000024}:root.light-mode .def-audio-btn:hover{color:var(--text-primary);background:#0000001f;border-color:#00000047}:root.light-mode .def-audio-btn.fallback-tts{color:var(--accent-blue);background:#3b82f61f;border-color:#3b82f64d}:root.light-mode .def-audio-btn.fallback-tts:hover{background:var(--accent-blue);color:#fff}
