:root{--bg:#faf9f7;--fg:#1a1a1a;--panel-bg:#ffffff;--panel-border:#e8e5e1;--button-bg:#1a1a1a;--button-text:#ffffff;--button-secondary-bg:transparent;--button-secondary-text:#1a1a1a;--button-secondary-border:#d4d1cc;--accent:#8f4f2a;--accent-subtle:#f5ebe4;--accent-text:#6b6560;--border-light:#e0ddd8;--svg-bg:#faf9f7;--input-bg:#ffffff;--input-focus-bg:#fdfcfb;--placeholder-color:#6f6862;--success:#3f6f55;--success-subtle:#e8f2ec;--error:#c45c5c;--error-subtle:#fae8e8;--warning:#8d5a00;--focus-ring:#005fcc;--proximity-freezing:#356f8c;--proximity-cold:#4f6f85;--proximity-cool:#6b6f78;--proximity-hot:#8f4f2a;--space-xs:clamp(4px,1vw,8px);--space-sm:clamp(6px,1.5vw,10px);--space-md:clamp(8px,2vw,12px);--space-lg:clamp(10px,2.5vw,16px);--space-xl:clamp(12px,3vw,20px);--text-xs:clamp(11px,2.8vw,12px);--text-sm:clamp(12px,3.2vw,13px);--text-base:clamp(14px,3.6vw,15px);--text-lg:clamp(16px,4vw,17px);--touch-min:max(44px,11vw);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--max-content-width:min(100vw - var(--space-lg) * 2,1200px);--panel-padding:clamp(8px,2.5vw,16px);--keyboard-padding:clamp(3px,0.8vw,10px);--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.06);--shadow-lg:0 8px 24px rgba(0,0,0,0.08)}body.dark-mode{--bg:#161514;--fg:#f0eeeb;--panel-bg:#1e1d1c;--panel-border:#2e2d2b;--button-bg:#f0eeeb;--button-text:#161514;--button-secondary-bg:transparent;--button-secondary-text:#f0eeeb;--button-secondary-border:#3e3d3b;--accent:#d4a07a;--accent-subtle:#2a2420;--accent-text:#9a9590;--border-light:#3a3836;--svg-bg:#161514;--input-bg:#252423;--input-focus-bg:#2a2928;--placeholder-color:#b5aea8;--success:#6a9a7e;--success-subtle:#1e2a22;--error:#d46c6c;--error-subtle:#2a1e1e;--warning:#d4a07a;--focus-ring:#7fb7ff;--proximity-freezing:#9bc8e3;--proximity-cold:#a5c9dd;--proximity-cool:#b9c0c9;--proximity-hot:#e2ad8a;--shadow-sm:0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 12px rgba(0,0,0,0.3);--shadow-lg:0 8px 24px rgba(0,0,0,0.4)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;padding:0;font-family:'Söhne',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--fg);transition:background 0.25s ease,color 0.25s ease;font-feature-settings:'kern' 1,'liga' 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-0.01em}h1,h2,h3{font-family:'Söhne',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;font-weight:500;letter-spacing:-0.02em}button{font-family:'Söhne',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif}:where(a[href],button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.panel{background:var(--panel-bg);padding:20px;border-radius:12px;border:1px solid var(--panel-border);display:flex;flex-direction:column;gap:14px;width:100%;box-sizing:border-box;box-shadow:var(--shadow-sm);flex-shrink:0}.guess-panel{padding-bottom:12px;gap:10px}.guess-button-desktop{display:flex;margin-bottom:0;margin-top:4px}.guess-panel #message{margin-top:0;margin-bottom:0}.guess-section .guess-button-row{display:none}.panel-centered{align-items:center;text-align:center}.title-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;width:100%}.title{font-size:24px;font-weight:500;margin:0;color:var(--fg);letter-spacing:-0.03em;min-width:0;text-align:center}.title-with-badge{position:relative;display:inline-block;justify-self:center}.beta-badge{position:absolute;top:1px;right:-3.15rem;font-size:0.55rem;font-weight:700;letter-spacing:0.14em;color:var(--accent);opacity:0.85;border:1.5px solid currentColor;border-radius:3px;padding:2px 5px;line-height:1.4;pointer-events:none;user-select:none;white-space:nowrap}.subtitle{font-size:13px;color:var(--accent-text);font-weight:400;letter-spacing:0}.button-row{display:flex;gap:8px;flex-wrap:wrap}button{padding:10px 16px;border:1px solid var(--button-bg);border-radius:8px;background:var(--button-bg);color:var(--button-text);font-size:13px;font-weight:500;letter-spacing:0;cursor:pointer;transition:all 0.15s ease;flex:1;min-width:90px;min-height:44px;text-transform:none}button:hover{opacity:0.85;box-shadow:var(--shadow-md)}button:active{transform:scale(0.98);opacity:0.9}button:disabled{opacity:0.4;cursor:not-allowed;background:var(--border-light);border-color:var(--border-light);color:var(--accent-text)}button.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border)}button.btn-secondary:hover{background:var(--accent-subtle);border-color:var(--accent);opacity:1}button.btn-ghost{background:transparent;color:var(--accent-text);border:none;padding:8px 12px}button.btn-ghost:hover{color:var(--fg);background:var(--accent-subtle)}button.btn-icon{min-width:auto;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px;flex:none}button.btn-icon svg{width:18px;height:18px}button[style*="background:#d32f2f"],button[style*="background:#d32f2f"]{animation:pulse 1s ease-in-out infinite}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}button.btn-danger{background:var(--error);border-color:var(--error);color:white}#hatTrickBadge{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500;color:var(--accent);padding:6px 14px;background:var(--accent-subtle);border-radius:16px;border:1px solid var(--accent)}.hat-trick-icon{width:16px;height:16px}.hat-trick-text{font-weight:500;letter-spacing:0}.action-highlight{background:var(--accent)!important;border-color:var(--accent)!important;color:white!important}.puzzle-status{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:16px;font-weight:500;transition:color 0.2s ease}.category-hint{font-size:16px;font-weight:500;color:var(--fg);padding:14px 18px;background:var(--accent-subtle);border-radius:10px;border:1px solid var(--accent);text-align:center;letter-spacing:-0.01em;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.category-hint .hint-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:var(--accent);background:var(--panel-bg);padding:3px 8px;border-radius:4px;border:1px solid var(--accent);flex-shrink:0}.category-hint .hint-progress{font-size:12px;font-weight:500;color:var(--accent-text);margin-left:auto;flex-shrink:0}@media (max-width:1199px){.category-hint{flex-direction:column;align-items:stretch;gap:10px;text-align:center}.category-hint .hint-label{align-self:center}.category-hint .hint-progress{margin-left:0;order:3;align-self:center}}.proximity-indicator{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:13px;min-height:28px;padding-left:6px;padding-right:6px;transition:all 0.2s ease;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;text-align:center}@media (max-width:599px){.proximity-indicator{font-size:12px;min-height:26px}}.puzzle-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.puzzle-nav-btn{min-width:0;padding:8px 10px;border-color:var(--button-secondary-border);background:transparent;color:var(--accent-text)}.puzzle-nav-btn:hover{background:var(--accent-subtle);border-color:var(--accent);opacity:1}.puzzle-nav-btn.active{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}@media (max-width:1199px){button.puzzle-nav-btn{min-height:38px!important;min-width:0!important;padding:6px 8px!important;font-size:11px!important;line-height:1.2}}.next-puzzle-prompt{margin-top:8px;display:flex;justify-content:center}.panel-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--fg);position:relative;z-index:2;pointer-events:auto}.footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;pointer-events:auto}.footer-link,.feedback-link{color:var(--accent);background:transparent;border:0;padding:0;text-decoration:none;font-weight:500;font-size:inherit;font-family:inherit;transition:opacity 0.2s ease;cursor:pointer}.footer-link:hover,.feedback-link:hover{opacity:0.8;text-decoration:underline}.privacy-link{border-bottom:1px dotted currentColor}.privacy-link:hover{text-decoration:none}.privacy-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,0.65);display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}.privacy-overlay.show{display:flex}.privacy-card{background:#fff;color:#111;border-radius:14px;width:100%;max-width:860px;padding:36px 40px 40px;position:relative;box-sizing:border-box;animation:fadeIn 0.25s ease;margin:auto}.privacy-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.6rem;line-height:1;color:#555;cursor:pointer;padding:0;min-width:44px;width:44px;height:44px;flex:none}.privacy-close:hover{color:#000;background:transparent;box-shadow:none}.privacy-card [data-custom-class='body'],.privacy-card [data-custom-class='body'] *{background:transparent!important}.privacy-card [data-custom-class='title'],.privacy-card [data-custom-class='title'] *{font-family:Arial!important;font-size:26px!important;color:#000!important}.privacy-card [data-custom-class='subtitle'],.privacy-card [data-custom-class='subtitle'] *{font-family:Arial!important;color:#595959!important;font-size:14px!important}.privacy-card [data-custom-class='heading_1'],.privacy-card [data-custom-class='heading_1'] *{font-family:Arial!important;font-size:19px!important;color:#000!important}.privacy-card [data-custom-class='heading_2'],.privacy-card [data-custom-class='heading_2'] *{font-family:Arial!important;font-size:17px!important;color:#000!important}.privacy-card [data-custom-class='body_text'],.privacy-card [data-custom-class='body_text'] *{color:#595959!important;font-size:14px!important;font-family:Arial!important}.privacy-card [data-custom-class='link'],.privacy-card [data-custom-class='link'] *{color:#3030f1!important;font-size:14px!important;font-family:Arial!important;word-break:break-word!important}.privacy-card h1,.privacy-card h2,.privacy-card h3{color:#000}.privacy-card table{border-collapse:collapse;width:100%;margin-bottom:12px}.privacy-card ul{list-style-type:square}.privacy-card ul>li>ul{list-style-type:circle}.privacy-card ul>li>ul>li>ul{list-style-type:square}.privacy-card ol li{font-family:Arial}@media (max-width:600px){.privacy-card{padding:24px 18px 28px}}.copyright{font-size:11px;color:var(--accent-text);letter-spacing:0.02em}.next-puzzle-prompt button{min-width:140px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.share-btn{background:var(--button-bg);border:1px solid var(--button-bg);color:var(--button-text)}.share-btn:hover{opacity:0.85}.share-results-container{margin-top:12px;padding:14px;background:var(--accent-subtle);border-radius:8px;font-family:'SF Mono','Fira Code',monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;text-align:left;border:1px solid var(--border-light)}body.dark-mode .share-results-container{background:var(--accent-subtle)}.copy-feedback{color:#4caf50;font-weight:600;animation:fadeIn 0.3s ease}.sound-toggle{display:flex;align-items:center;justify-content:flex-start;z-index:1}.sound-toggle-btn{width:44px;height:44px;min-width:44px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-sm);transition:all 0.15s ease;color:var(--fg)}.sound-toggle-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.sound-toggle-btn:hover{background:var(--accent-subtle);border-color:var(--accent)}.sound-toggle-btn.muted{color:var(--accent-text)}.tooltip-anchor{position:relative}.tooltip-anchor::after{content:attr(title);position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100%+8px);padding:7px 11px;background:var(--fg);color:var(--panel-bg);font-size:11px;font-weight:500;line-height:1.35;border-radius:8px;box-shadow:var(--shadow-lg);white-space:normal;max-width:min(260px,78vw);text-align:center;z-index:12050;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.16s ease,visibility 0.16s ease}.tooltip-anchor:hover::after,.tooltip-anchor:focus-visible::after{opacity:1;visibility:visible}@media (hover:none) and (pointer:coarse){.tooltip-anchor:active::after{opacity:1;visibility:visible}}#combinedZoomBtn.tooltip-anchor::after{bottom:auto;top:calc(100%+8px)}.throb-animation{animation:throb 2s ease-in-out infinite}@keyframes throb{0%,100%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 60%,transparent)}50%{transform:scale(1.05);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 0%,transparent)}}.split-zoom-btn{display:flex;align-items:center;justify-content:space-between;padding:0;overflow:visible;position:relative;width:auto;max-width:min(320px,100%);flex-shrink:0;margin-inline:auto}.button-row.mobile-zoom-controls{justify-content:center;width:100%}.zoom-out-side,.zoom-in-side{flex:1;padding:12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;line-height:1;cursor:pointer;transition:background-color 0.2s ease}.zoom-icon{font-size:16px;line-height:1}.zoom-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px;line-height:1}.zoom-out-side:hover,.zoom-in-side:hover{background-color:rgba(0,0,0,0.05)}.zoom-out-side:active,.zoom-in-side:active{background-color:rgba(0,0,0,0.1)}body.dark-mode .zoom-out-side:hover,body.dark-mode .zoom-in-side:hover{background-color:rgba(255,255,255,0.05)}body.dark-mode .zoom-out-side:active,body.dark-mode .zoom-in-side:active{background-color:rgba(255,255,255,0.1)}.zoom-divider{width:1px;height:60%;background-color:var(--border-light);opacity:0.4;flex-shrink:0}.letter-placeholders{display:flex;justify-content:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.letter-placeholders.shake{animation:shake 0.3s ease-in-out}.letter-box{width:38px;height:48px;border:1px solid var(--border-light);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;color:var(--border-light);background:var(--panel-bg);transition:all 0.15s ease}.letter-box.filled{color:var(--fg);border-color:var(--accent);background:var(--accent-subtle)}body.dark-mode .letter-box.filled{background:var(--accent-subtle)}.proximity-indicator .indicator-icon{width:14px;height:14px}.proximity-indicator .indicator-text{font-weight:500;color:var(--accent-text)}.proximity-indicator.proximity-freezing .indicator-text{color:var(--proximity-freezing)}.proximity-indicator.proximity-cold .indicator-text{color:var(--proximity-cold)}.proximity-indicator.proximity-cool .indicator-text{color:var(--proximity-cool)}.proximity-indicator.proximity-warm .indicator-text{color:var(--warning)}.proximity-indicator.proximity-hot .indicator-text{color:var(--proximity-hot)}.proximity-indicator.proximity-burning .indicator-text{color:var(--success);font-weight:600}.touch-keyboard{display:flex;flex-direction:column;gap:5px;margin-top:10px;margin-bottom:16px;padding:10px;background:var(--panel-bg);border-radius:10px;border:1px solid var(--panel-border);max-width:100%;box-sizing:border-box;position:relative}.touch-keyboard-row{display:flex;gap:4px;justify-content:center}.touch-keyboard button{padding:8px 4px;font-size:13px;font-weight:500;min-width:28px;max-width:34px;height:38px;text-transform:uppercase;flex:0 0 auto;border-radius:6px}.touch-keyboard button[data-key="back"],.touch-keyboard button[data-key="clear"],.touch-keyboard button[data-key="submit"]{min-width:55px;max-width:75px;font-size:11px;text-transform:capitalize}input[type="text"]{padding:12px 14px;border-radius:8px;border:1px solid var(--border-light);font-size:16px;font-weight:500;width:100%;box-sizing:border-box;text-transform:uppercase;background:var(--input-bg);color:var(--fg);letter-spacing:0.05em;transition:border-color 0.15s ease,box-shadow 0.15s ease}input[type="text"]:focus{outline:none;border-color:var(--accent);background:var(--input-focus-bg);box-shadow:0 0 0 3px var(--accent-subtle)}input[type="text"]::placeholder{color:var(--placeholder-color);text-transform:none;letter-spacing:0}input:disabled{opacity:0.5;cursor:not-allowed;background:var(--border-light);color:var(--accent-text)}#mainSvg{width:100%;height:100%;background:var(--svg-bg);box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;border-radius:12px}.node{cursor:pointer}.link{stroke:var(--border-light);stroke-opacity:0.5;stroke-width:1px;transition:stroke 0.2s ease,stroke-width 0.2s ease}.link.sim-high{stroke:var(--success);stroke-width:3px;stroke-opacity:0.8}.link.sim-medium-high{stroke:#7aa88a;stroke-width:2.5px;stroke-opacity:0.7}.link.sim-medium{stroke:var(--accent);stroke-width:2px;stroke-opacity:0.6}.link.sim-medium-low{stroke:#b8a090;stroke-width:1.5px;stroke-opacity:0.5}.link.sim-low{stroke:var(--border-light);stroke-width:1px;stroke-opacity:0.4}body.dark-mode .link.sim-high{stroke:var(--success)}body.dark-mode .link.sim-medium-high{stroke:#7aa88a}body.dark-mode .link.sim-medium{stroke:var(--accent)}body.dark-mode .link.sim-medium-low{stroke:#8a7a70}body.dark-mode .link.sim-low{stroke:var(--border-light)}.node circle{fill:var(--border-light);stroke:var(--panel-bg);stroke-width:2px;transition:fill 0.15s ease}.node.core circle{fill:var(--accent);stroke:var(--panel-bg);stroke-width:3px;filter:url(#glow)}.node.revealed circle{fill:var(--success);stroke:var(--panel-bg)}.node text{fill:var(--fg);font-size:13px;font-weight:500;pointer-events:none;user-select:none}.node.core text{font-size:15px;font-weight:600}body.dark-mode .node circle{stroke:var(--panel-bg)}body.dark-mode .node.core circle{stroke:var(--panel-bg)}body.dark-mode .node.revealed circle{stroke:var(--panel-bg)}body.dark-mode .link{stroke:var(--border-light)}#message{font-size:13px;font-weight:500;text-align:center;padding:8px 12px;min-height:20px;border-radius:6px}#message:not(:empty){background:var(--accent-subtle)}@keyframes highlighterSweep{0%{background-position:-100% 0}100%{background-position:200% 0}}.score-decrease{animation:highlighterSweep 1s ease-out;background:linear-gradient( 90deg,transparent 0%,var(--error-subtle) 40%,var(--error-subtle) 60%,transparent 100% );background-size:200% 100%;border-radius:4px;padding:2px 6px;margin:-2px -6px}#hud{position:fixed;top:20px;left:20px;bottom:20px;right:20px;display:flex;flex-direction:row;gap:20px;z-index:1000;pointer-events:none;box-sizing:border-box}#rulesModal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(26,26,26,0.6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:3000;padding:20px;box-sizing:border-box}#rulesContent{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:32px;max-width:540px;max-height:80vh;overflow-y:auto;box-sizing:border-box;box-shadow:var(--shadow-lg)}#rulesContent h2{margin:0 0 20px 0;font-size:20px;font-weight:500;color:var(--fg);letter-spacing:-0.02em}#rulesContent p,#rulesContent li{font-size:14px;line-height:1.65;color:var(--fg)}#rulesContent ul{margin:12px 0;padding-left:20px}#rulesContent li{margin-bottom:8px}#rulesContent label{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:13px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;color:var(--accent-text)}#rulesContent label input[type="checkbox"]{width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.modal-actions{margin-top:24px;display:flex;gap:10px;justify-content:center}.modal-actions button{min-width:100px}.tutorial-progress{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.progress-dot{position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;transition:all 0.3s ease;cursor:pointer;flex:none}.progress-dot::before{content:'';position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--border-light);transform:translate(-50%,-50%)}.progress-dot.active::before{background:var(--accent);transform:translate(-50%,-50%) scale(1.2)}.progress-dot.completed::before{background:var(--success)}.progress-dot:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.progress-dot.active{background:transparent}.progress-dot.completed{background:transparent}.tutorial-step{display:none;opacity:0;transform:translateX(20px);transition:all 0.4s ease;text-align:center}.tutorial-step.active{display:block;opacity:1;transform:translateX(0)}.tutorial-step.exit-left{transform:translateX(-20px);opacity:0}.tutorial-icon{margin:0 auto 20px;width:80px;height:80px}.tutorial-icon svg{width:100%;height:100%}.icon-pulse circle:first-child{animation:icon-pulse-outer 2s ease-in-out infinite}.icon-pulse circle:nth-child(2){animation:icon-pulse-middle 2s ease-in-out infinite 0.2s}.icon-pulse circle:nth-child(3){animation:icon-pulse-inner 2s ease-in-out infinite 0.4s}@keyframes icon-pulse-outer{0%,100%{opacity:0.15;transform:scale(1)}50%{opacity:0.25;transform:scale(1.05)}}@keyframes icon-pulse-middle{0%,100%{opacity:0.3;transform:scale(1)}50%{opacity:0.45;transform:scale(1.03)}}@keyframes icon-pulse-inner{0%,100%{opacity:1}50%{opacity:0.8}}#rulesContent .tutorial-step h2{margin:0 0 16px 0;font-size:22px;font-weight:600}.tutorial-text{font-size:15px;line-height:1.6;margin:0 0 8px 0;color:var(--fg)}.tutorial-subtext{font-size:13px;color:var(--accent-text);margin:0}.tutorial-diagram{margin:20px auto;max-width:300px}.tutorial-diagram svg{width:100%;height:auto;border-radius:12px;background:var(--svg-bg);padding:10px}.core-pulse{animation:core-pulse 2s ease-in-out infinite}@keyframes core-pulse{0%,100%{opacity:1}50%{opacity:0.7}}.anim-slide-right{opacity:0;transform:translateX(-20px);animation:slide-in-right 0.6s ease forwards}.anim-slide-up{opacity:0;transform:translateY(20px);animation:slide-in-up 0.6s ease forwards}.anim-slide-left{opacity:0;transform:translateX(20px);animation:slide-in-left 0.6s ease forwards}@keyframes slide-in-right{to{opacity:1;transform:translateX(0)}}@keyframes slide-in-up{to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{to{opacity:1;transform:translateX(0)}}.tutorial-demo{margin:24px auto;padding:20px;background:var(--input-bg);border-radius:12px;max-width:280px}.demo-hint-btn{display:inline-block;padding:10px 20px;background:var(--button-bg);color:var(--button-text);border-radius:8px;font-size:14px;font-weight:500;margin-bottom:16px}.anim-bounce{animation:demo-bounce 0.6s ease}@keyframes demo-bounce{0%,100%{transform:scale(1)}50%{transform:scale(0.95)}}.demo-words{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.demo-word{padding:6px 12px;background:var(--success);color:var(--panel-bg);border-radius:6px;font-size:13px;font-weight:500;opacity:0}.demo-word.visible{opacity:1}.anim-reveal{animation:word-reveal 0.5s ease forwards}@keyframes word-reveal{0%{opacity:0;transform:scale(0.8)}50%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.demo-input-row{margin-bottom:16px}.demo-letter-boxes{display:flex;justify-content:center;gap:6px}.demo-letter{width:36px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--panel-bg);border:2px solid var(--accent);border-radius:6px;font-size:18px;font-weight:600;color:var(--fg);opacity:0}.anim-type{animation:letter-type 0.3s ease forwards}@keyframes letter-type{0%{opacity:0;transform:scale(0.5)}70%{transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.demo-result{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:var(--success-subtle);border-radius:8px;font-size:13px;font-weight:500;color:var(--success);opacity:0}.anim-success{animation:result-appear 0.5s ease forwards}@keyframes result-appear{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.tutorial-scoring{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px auto;max-width:320px}.score-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--input-bg);border-radius:10px;opacity:0}.anim-fade-in{animation:fade-in-up 0.4s ease forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.score-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;font-weight:600;flex-shrink:0}.score-icon.start{background:var(--accent);color:var(--panel-bg)}.score-icon.hint{background:var(--warning);color:var(--panel-bg)}.score-icon.wrong{background:var(--error);color:var(--panel-bg)}.score-icon.give-up{background:var(--border-light);color:var(--fg)}.score-label{font-size:12px;color:var(--fg);text-align:left}.tutorial-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.tutorial-nav-right{display:flex;gap:8px;align-items:center}.tutorial-nav button{min-width:80px}.tutorial-skip{opacity:0.7;font-size:13px}.tutorial-skip:hover{opacity:1}.tutorial-close{position:absolute;top:12px;right:12px;width:44px;height:44px;min-width:44px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--accent-text);transition:all 0.2s ease}.tutorial-close:hover{background:var(--border-light);color:var(--fg)}.tutorial-close svg{width:18px;height:18px}#rulesContent{position:relative}.tutorial-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:12px;cursor:pointer;user-select:none;color:var(--accent-text)}.tutorial-footer input[type="checkbox"]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent)}@media (max-width:768px){#rulesModal{padding:5px;height:100dvh;width:100vw;overflow:hidden;display:flex;align-items:center;justify-content:center}#rulesContent{width:calc(100vw - 10px);max-height:calc(100dvh - 10px);height:auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;border-radius:8px}#rulesContent h2{font-size:18px;margin-bottom:12px}#rulesContent p,#rulesContent li{font-size:14px;line-height:1.5}#rulesContent svg{max-height:120px;margin:10px 0}.tutorial-progress{margin-bottom:16px}.tutorial-icon{width:60px;height:60px;margin-bottom:16px}.tutorial-step h2{font-size:18px!important;margin-bottom:12px!important}.tutorial-text{font-size:14px}.tutorial-subtext{font-size:12px}.tutorial-diagram{margin:16px auto}.tutorial-demo{padding:16px;margin:16px auto}.tutorial-scoring{gap:8px;margin:16px auto}.score-item{padding:10px;gap:8px}.score-icon{width:32px;height:32px;font-size:12px}.score-label{font-size:11px}.tutorial-nav{margin-top:16px;padding-top:16px}.tutorial-footer{margin-top:12px;font-size:11px;gap:8px}.tutorial-close{top:8px;right:8px;width:44px;height:44px;min-width:44px}.tutorial-nav-right{gap:6px}.tutorial-nav button{min-width:70px;padding:8px 12px}.panel-footer{margin-top:12px;padding-top:10px;font-size:11px;flex-direction:column;gap:6px;text-align:center}#rulesContent>label{position:sticky;bottom:60px;background:var(--panel-bg);margin:0 -16px 0 -16px;padding:8px 14px;border-top:1px solid var(--panel-border);z-index:10;font-size:12px;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-tap-highlight-color:rgba(244,196,48,0.2);user-select:none;-webkit-user-select:none}#rulesContent>label:active{background:rgba(244,196,48,0.1)}#rulesContent>label input[type="checkbox"]{width:15px;height:15px;margin:0;cursor:pointer;flex-shrink:0;accent-color:var(--accent-yellow);transform:scale(1);transition:transform 0.1s ease}#rulesContent>label input[type="checkbox"]:active{transform:scale(1.1)}.modal-actions{position:sticky;bottom:0;background:var(--panel-bg);margin:0 -16px -16px -16px;padding:10px 16px;border-top:1px solid var(--panel-border);z-index:10;min-height:60px}.modal-actions button{width:100%;padding:14px;font-size:16px;min-height:48px}}@media (max-width:599px){#rulesModal{padding:5px}#rulesContent{width:calc(100vw - 10px);max-height:calc(100vh - 10px);max-height:calc(100dvh - 10px);padding:12px;border-radius:0}#rulesContent h2{font-size:16px;margin-bottom:10px}#rulesContent p,#rulesContent li{font-size:13px;line-height:1.3}#rulesContent svg{max-height:100px}#rulesContent>label{padding:6px 12px;min-height:38px;margin:0 -12px 0 -12px;font-size:11px;bottom:52px;gap:8px;-webkit-tap-highlight-color:rgba(244,196,48,0.25)}#rulesContent>label:active{background:rgba(244,196,48,0.15)}#rulesContent>label input[type="checkbox"]{width:14px;height:14px;margin:0;flex-shrink:0;accent-color:var(--accent-yellow)}.modal-actions{margin:0 -12px -12px -12px;padding:10px 12px}.modal-actions button{font-size:15px;min-height:44px;padding:12px 16px}}#statsModal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(26,26,26,0.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;box-sizing:border-box;overflow-y:auto}body.dark-mode #statsModal{background:rgba(0,0,0,0.7)}#statsContent{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:28px;max-width:420px;width:100%;box-sizing:border-box;box-shadow:var(--shadow-lg);position:relative}body.dark-mode #statsContent{box-shadow:var(--shadow-lg)}#statsContent h2{margin:0 0 20px 0;font-size:18px;font-weight:500;color:var(--fg);text-align:center;letter-spacing:-0.02em}.stats-summary{margin:-10px 0 20px;color:var(--accent-text);font-size:13px;line-height:1.45;text-align:center}.daily-progress-section{margin-bottom:20px;text-align:center}.daily-progress-label{font-size:13px;margin-bottom:10px;color:var(--accent-text)}.puzzle-progress-row{font-size:20px;margin:12px 0;display:flex;justify-content:center;gap:12px}.puzzle-scores{font-size:12px;color:var(--accent)}.hat-trick-badge:not([hidden]){margin:10px 0;display:flex;align-items:center;justify-content:center;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-item{background:var(--accent-subtle);border:1px solid var(--border-light);border-radius:10px;padding:14px;text-align:center;transition:background 0.15s ease}body.dark-mode .stat-item{background:var(--accent-subtle);border-color:var(--border-light)}.stat-item:hover{background:var(--accent-subtle);border-color:var(--accent)}body.dark-mode .stat-item:hover{background:var(--accent-subtle)}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:0.03em;color:var(--accent-text);margin-bottom:6px;font-weight:500}.stat-value{font-size:24px;font-weight:600;color:var(--fg);line-height:1.2;word-break:break-word}.stat-value.comparison{font-size:22px}.stat-context{margin-top:6px;color:var(--accent-text);font-size:11px;line-height:1.35}@media (max-width:768px){#statsContent{padding:25px;max-width:450px}#statsContent h2{font-size:26px}.stats-grid{gap:16px}.stat-value{font-size:28px}.stat-value.comparison{font-size:24px}}@media (max-width:599px){#statsModal{padding:10px;align-items:flex-start;padding-top:30px}#statsContent{padding:20px;max-width:100%;width:calc(100vw - 20px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto}#statsContent h2{font-size:22px;margin-bottom:18px}.stats-grid{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.stat-item{padding:12px}.stat-label{font-size:11px;margin-bottom:6px}.stat-value{font-size:26px}.stat-value.comparison{font-size:22px}#statsContent .modal-actions{margin-top:0}#statsContent .modal-actions button{width:100%;padding:14px;font-size:16px;min-height:48px}}@media (max-width:400px){#statsModal{padding:5px;padding-top:20px}#statsContent{padding:16px;width:calc(100vw - 10px);max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);border-radius:8px}#statsContent h2{font-size:20px;margin-bottom:15px}.stats-grid{gap:10px;margin-bottom:16px}.stat-item{padding:10px}.stat-label{font-size:10px}.stat-value{font-size:24px}.stat-value.comparison{font-size:20px}}.theme-toggle{display:flex;align-items:center;justify-content:flex-end;position:relative;width:44px;height:44px;z-index:1}.theme-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.theme-toggle-label{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--panel-bg);border-radius:8px;cursor:pointer;border:1px solid var(--panel-border);transition:all 0.15s ease;box-shadow:var(--shadow-sm)}.theme-toggle-input:focus-visible+.theme-toggle-label{outline:3px solid var(--focus-ring);outline-offset:3px}.theme-toggle-slider{display:none}.theme-toggle-sun,.theme-toggle-moon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity 0.2s ease;pointer-events:none;user-select:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--fg)}.theme-toggle-sun svg,.theme-toggle-moon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.theme-toggle-sun{opacity:0}.theme-toggle-moon{opacity:1}.theme-toggle-input:checked+.theme-toggle-label .theme-toggle-sun{opacity:1}.theme-toggle-input:checked+.theme-toggle-label .theme-toggle-moon{opacity:0}.theme-toggle-label:hover{background:var(--accent-subtle);border-color:var(--accent)}@media (min-width:1200px){.title-bar{display:block}.sound-toggle{position:fixed;top:20px;right:80px;z-index:1100}.theme-toggle{position:fixed;top:20px;right:20px;z-index:1100}}#sidebar{display:contents}@media (min-width:1200px){#hud{position:static;display:flex;flex-direction:row;gap:20px;width:100%;height:100vh;top:auto;left:auto;bottom:auto;padding:20px;overflow:hidden}#sidebar{display:flex;flex-direction:column;gap:16px;width:320px;flex-shrink:0;max-height:calc(100vh - 40px);overflow-y:auto;pointer-events:auto}#mainSvg{flex:1 1 0;min-width:0;width:auto;align-self:stretch;height:calc(100vh - 40px);min-height:calc(100vh - 40px);max-height:calc(100vh - 40px);pointer-events:auto}.title{font-size:24px}}@media (min-width:1400px){#hud{gap:22px;padding:20px 22px}#sidebar{width:300px;max-height:calc(100vh - 40px)}#mainSvg{height:calc(100vh - 40px);min-height:calc(100vh - 40px);max-height:calc(100vh - 40px)}}@media (min-width:1680px){#hud{gap:24px;padding:22px 28px}#sidebar{width:276px;max-height:calc(100vh - 44px)}#mainSvg{height:calc(100vh - 44px);min-height:calc(100vh - 44px);max-height:calc(100vh - 44px)}}@media (min-width:768px) and (max-width:899px){#hud{position:static;display:flex;flex-direction:row;gap:10px;width:100%;height:100vh;top:auto;left:auto;bottom:auto;padding:10px;overflow:hidden}#sidebar{display:flex;flex-direction:column;gap:16px;width:260px;flex-shrink:0;max-height:calc(100vh - 20px);overflow-y:auto;pointer-events:auto}#sidebar>.panel{padding:12px}#mainSvg{flex:1 1 0;min-width:0;width:auto;align-self:stretch;height:calc(100vh - 20px);min-height:calc(100vh - 20px);max-height:calc(100vh - 20px);pointer-events:auto}.title{font-size:22px}button{padding:10px 16px;font-size:13px}}@media (min-width:600px) and (max-width:767px){#hud{position:fixed;bottom:10px;left:10px;right:10px;top:auto;width:auto;flex-direction:row;flex-wrap:wrap;max-height:30vh;overflow-y:auto;gap:12px}.title{font-size:20px}.panel{flex:1;min-width:200px;padding:12px}button{padding:10px 14px;font-size:13px}.node text{font-size:16px}.core text{font-size:18px}#mainSvg{margin-left:0;margin-right:0;height:calc(100vh - 30vh - 20px);min-height:280px}}@media (max-width:599px){html{overflow-x:clip;overflow-y:auto;height:100%;width:100vw;max-width:100vw;margin:0;padding:0;scrollbar-gutter:stable}body{overflow-x:clip;overflow-y:auto;min-height:100vh;min-height:100dvh;width:100vw;max-width:100vw;margin:0;padding:0;padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);position:relative;left:0;right:0}*{max-width:100%;min-height:auto}svg,svg *,.node,.link,canvas{max-width:none}button,input,select,textarea,a,.touch-keyboard button{min-height:var(--touch-min);min-width:var(--touch-min)}button.puzzle-nav-btn{min-height:44px!important;min-width:0!important;padding:5px 8px!important;font-size:11px!important;line-height:1.2}.touch-keyboard button{min-width:clamp(24px,6.5vw,36px);min-height:clamp(36px,9vw,44px)}.theme-toggle{position:static;z-index:auto}.theme-toggle-label{width:54px;height:30px;box-shadow:0 2px 10px rgba(0,0,0,0.3)}.theme-toggle-slider{width:22px;height:22px;z-index:1}.theme-toggle-input:checked+.theme-toggle-label .theme-toggle-slider{transform:translateX(24px)}.theme-toggle-sun,.theme-toggle-moon{font-size:15px;width:18px;height:18px;z-index:2}.theme-toggle-sun{left:5px}.theme-toggle-moon{right:5px}#hud{display:grid;grid-template-rows:auto minmax(260px,1fr) auto auto;grid-template-areas:"title" "graph" "guess" "controls";min-height:100vh;min-height:100dvh;gap:0;padding:0;margin:0 auto;position:relative;background:var(--bg);overflow-x:clip;overflow-y:visible;pointer-events:none;width:100vw;max-width:100vw;box-sizing:border-box;left:0;right:0;top:0}#sidebar{display:contents}#hud>*{max-width:100vw;box-sizing:border-box}.panel,.panel-centered,.guess-panel,.controls-panel{border-left:none!important;border-right:none!important;padding-left:var(--panel-padding)!important;padding-right:var(--panel-padding)!important;width:100vw;max-width:100vw;box-sizing:border-box;margin-left:0;margin-right:0;position:relative;left:0;right:0}.panel-centered{grid-area:title;border-radius:0;border-bottom:1px solid var(--panel-border);padding-top:10px;padding-bottom:10px;pointer-events:auto;z-index:1001;position:sticky;top:0;background:var(--panel-bg);width:100%;box-sizing:border-box;margin:0}#mainSvg{grid-area:graph;width:100vw;max-width:100vw;min-height:260px;pointer-events:auto;margin:0;padding:0;box-sizing:border-box;position:relative;left:0;right:0}.guess-panel{grid-area:guess;display:flex!important;flex-direction:column;gap:8px;min-height:auto;max-height:none;overflow-y:visible;overflow-x:hidden;border-radius:0;border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);padding-top:10px;padding-bottom:10px;pointer-events:auto;width:100%;box-sizing:border-box;margin:0}.guess-button-desktop{display:none!important}.controls-panel{grid-area:controls;border-radius:0;border-bottom:1px solid var(--panel-border);max-height:none;overflow-y:visible;overflow-x:hidden;padding-top:10px;padding-bottom:40px;pointer-events:auto;position:relative;width:100%;box-sizing:border-box;margin:0}.mobile-zoom-controls{display:flex!important}.title{font-size:20px}.subtitle{font-size:12px}button{padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);min-width:clamp(70px,18vw,100px);max-width:100%;min-height:var(--touch-min);box-sizing:border-box}.node text{font-size:12px}.core text{font-size:16px}.button-row{flex-wrap:wrap;max-width:100%}input[type="text"]{width:100%;max-width:100%;box-sizing:border-box;padding:var(--space-md)!important;font-size:var(--text-base)!important;min-height:var(--touch-min)}.letter-placeholders{flex-wrap:wrap;justify-content:center;max-width:100%;gap:var(--space-sm)}.letter-box{width:clamp(34px,9.5vw,48px);height:clamp(44px,12vw,58px);font-size:clamp(18px,5vw,28px);margin:var(--space-xs)}.touch-keyboard{width:100%;max-width:100%;box-sizing:border-box;padding:var(--keyboard-padding)!important;border-left:none!important;border-right:none!important;gap:var(--space-xs)!important}.touch-keyboard-row{max-width:100%;box-sizing:border-box;gap:clamp(3px,0.6vw,5px)!important;display:flex;justify-content:center;flex-wrap:nowrap}.touch-keyboard button{padding:clamp(7px,1.8vw,12px) clamp(3px,0.6vw,7px)!important;min-width:clamp(28px,7vw,40px)!important;max-width:clamp(34px,8.5vw,46px)!important;height:clamp(40px,10vw,48px)!important;font-size:clamp(13px,3.4vw,15px)!important;overflow:hidden;text-overflow:clip}.touch-keyboard button[data-key="back"],.touch-keyboard button[data-key="clear"],.touch-keyboard button[data-key="submit"]{min-width:clamp(52px,14vw,85px)!important;max-width:clamp(70px,18vw,100px)!important;font-size:clamp(12px,3vw,14px)!important}.guess-section,.controls-section{width:100%;max-width:100%;box-sizing:border-box;margin:0}.button-row,.mobile-zoom-controls{width:100%;box-sizing:border-box}}@media (max-width:375px){:root{--panel-padding:clamp(6px,2vw,10px);--keyboard-padding:clamp(2px,0.6vw,6px);--space-xs:clamp(3px,0.8vw,6px);--space-sm:clamp(4px,1.2vw,8px)}.title{font-size:clamp(16px,4.5vw,20px)}.subtitle{font-size:clamp(10px,2.8vw,12px)}}@media (max-width:360px){:root{--panel-padding:clamp(5px,1.8vw,8px);--keyboard-padding:clamp(2px,0.5vw,4px);--space-xs:clamp(2px,0.6vw,4px)}.title{font-size:clamp(16px,4.2vw,18px)}.subtitle{font-size:clamp(10px,2.6vw,11px)}}@media (max-width:915px) and (orientation:landscape){body{min-height:100svh}#hud{min-height:100svh}.panel-centered{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.touch-keyboard button{height:clamp(36px,8vw,44px)!important;padding-top:clamp(5px,1.2vw,9px)!important;padding-bottom:clamp(5px,1.2vw,9px)!important}#mainSvg{height:clamp(180px,40svh,300px);min-height:180px}.guess-panel,.controls-panel{padding-top:6px!important;padding-bottom:6px!important;gap:6px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.panel,.touch-keyboard,button{border-width:0.5px}}@media (max-width:1199px){.title-bar{grid-template-columns:44px minmax(0,1fr) 44px}.sound-toggle,.theme-toggle{position:static!important;inset:auto!important;width:44px;min-width:44px}.sound-toggle-btn,.theme-toggle-label{width:44px!important;height:44px!important;min-width:44px!important;box-shadow:none}.theme-toggle-sun,.theme-toggle-moon{left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important}}@media (min-width:900px) and (max-width:1199px){#hud{position:static;display:flex;flex-direction:row;gap:14px;width:100%;height:100vh;padding:14px;overflow:hidden}#sidebar{display:flex;flex-direction:column;gap:12px;width:300px;flex-shrink:0;max-height:calc(100vh - 28px);overflow-y:auto;pointer-events:auto}#mainSvg{flex:1;width:auto;min-width:0;height:auto;min-height:min(52vh,560px);pointer-events:auto}}@media (min-width:600px) and (max-width:767px){#hud{position:static;display:grid;grid-template-rows:auto minmax(320px,1fr) auto auto;grid-template-areas:"title" "graph" "guess" "controls";min-height:100dvh;max-height:none;padding:0;overflow:visible}.panel-centered{grid-area:title}.guess-panel{grid-area:guess}.controls-panel{grid-area:controls}#mainSvg{grid-area:graph;width:100vw;height:min(52dvh,520px);min-height:340px;max-height:58dvh}.panel{min-width:0}.letter-box{width:clamp(36px,5.5vw,46px);height:clamp(46px,7vw,56px);font-size:clamp(20px,3.2vw,26px)}}@media (max-width:599px){.beta-badge{right:-2.55rem;font-size:0.48rem;padding:1px 4px}.panel-centered{padding-top:max(8px,var(--safe-top))!important;padding-bottom:8px!important}.title-bar{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.title{font-size:clamp(18px,5.3vw,22px);line-height:1.1}.subtitle{font-size:clamp(10px,3vw,12px)}#hud{grid-template-rows:auto minmax(280px,1fr) auto auto;min-height:100dvh;padding-bottom:0}#mainSvg{height:clamp(280px,50dvh,480px);min-height:280px;max-height:56dvh}.category-hint{font-size:14px;padding:10px 12px;gap:8px}.category-hint .hint-progress{margin-left:0}.guess-panel,.controls-panel{padding-top:8px!important;padding-bottom:8px!important;gap:8px}.controls-panel{padding-bottom:calc(12px+var(--safe-bottom))!important}.controls-panel>div:not(.button-row):not(.panel-footer){font-size:12px;line-height:1.25}.button-row{gap:6px}.button-row button{min-width:0}.panel-footer{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px 12px;font-size:11px}.letter-box{margin:0}}@media (max-width:400px){.letter-box{width:clamp(30px,8.8vw,42px);height:clamp(40px,11vw,52px);font-size:clamp(16px,4.7vw,24px)}}@media (max-width:768px){#rulesModal,#statsModal{padding:max(8px,var(--safe-top)) max(8px,var(--safe-right)) max(8px,var(--safe-bottom)) max(8px,var(--safe-left));align-items:center;overflow:hidden}#rulesContent,#statsContent{width:min(100%,520px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;border-radius:14px}#rulesContent{padding:18px 16px 14px}#rulesContent>label,#rulesContent .tutorial-footer{position:static;margin:8px 0 0;padding:8px 0;border-top:0;min-height:44px;background:transparent;font-size:11px;gap:6px}#rulesContent .tutorial-footer input[type="checkbox"],#rulesContent>label input[type="checkbox"]{width:14px;height:14px;flex-shrink:0}#rulesContent .modal-actions,#rulesContent .tutorial-nav{position:static;margin:14px 0 0;padding:14px 0 0;min-height:0;background:transparent}.tutorial-diagram svg{max-height:150px}.tutorial-demo,.tutorial-scoring{margin:14px auto}}@media (max-width:420px){#rulesContent{padding:14px 12px 12px}.tutorial-progress{margin-bottom:10px}.tutorial-icon{width:52px;height:52px;margin-bottom:10px}.tutorial-diagram svg{max-height:118px;padding:6px}.tutorial-demo{padding:12px}.tutorial-scoring{grid-template-columns:1fr;gap:8px}.tutorial-nav{gap:8px}.tutorial-nav button{min-width:0}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0.001ms!important}.throb-animation,.icon-pulse circle,.core-pulse,.anim-slide-right,.anim-slide-up,.anim-slide-left,.anim-bounce,.anim-reveal,.anim-type,.anim-success,.anim-fade-in,.letter-placeholders.shake,.copy-feedback{animation:none!important;transform:none!important}.tutorial-step{transform:none!important}}