/* Impeccable refinement. Puzzle aspect ratio, hit regions and game mechanics retained. */
:root{--ui-safe-top:env(safe-area-inset-top,0px);--ink:#f3f8ff;--muted:#b9c8dc;--line:#36516d;--panel:#102b48;--shadow:0 12px 32px #0005}
body,body[data-mode="safari"]{background:#07182f;scrollbar-color:#68839d #07182f}
body:before,body:after{display:none}
::selection{color:#07182f;background:#ffc83d}
button,select{touch-action:manipulation}
button:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
:is(h1,h2,p,small,strong,.step-copy){overflow-wrap:anywhere}
.app,.app.gate-view,.difficulty-view,.gate-view,.safari-view{width:min(100%,540px);padding:calc(14px + var(--ui-safe-top)) 18px calc(24px + env(safe-area-inset-bottom,0px))}
.topbar{overflow:visible;min-height:60px;padding:0 0 12px;margin:0 0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;backdrop-filter:none;gap:12px}
.topbar:before{display:none}
.brand{flex:0 0 auto;gap:9px;font-size:14px;letter-spacing:.02em;white-space:nowrap;text-shadow:none}
.brand-mark{width:23px;height:23px;border-width:2px;filter:none}
.brand-mark:after{width:9px;height:2px;right:-6px;bottom:-3px}
.topbar-actions{flex:1;gap:8px;min-width:0;flex-wrap:wrap}
.step-count{max-width:126px;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--muted);text-align:end}
.difficulty-view .step-count{display:none}
.language-picker{min-height:44px;padding:0 9px;border:1px solid var(--line);border-radius:8px;box-shadow:none;background:#102b48}
.language-picker>span{display:none}
.language-select{width:94px;min-height:42px;font-size:12px;font-weight:600}
.difficulty-wrap{padding:4px 0 12px;margin:0}
.game-hero,.round-banner,.round-banner.hard{overflow:visible;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.game-hero:after,.round-banner:after,.difficulty-option:before{display:none}
.daily-chip,.difficulty-kicker,.mode-tag,.case-kicker,.difficulty-label-row>span{display:none}
h1,.game-hero h1,.round-banner h1,.challenge-head h1{max-width:none;font-size:clamp(29px,8vw,38px);line-height:1.15;letter-spacing:-.025em;font-weight:800;text-transform:none;text-wrap:balance}
html[dir="rtl"] h1{line-height:1.4;letter-spacing:0}
.lead,.game-hero .lead,.round-banner .lead{font-size:14px;line-height:1.75;margin:12px 0 18px;color:var(--muted)}
.quest-stats,.mission-chips,.mode-meta{gap:8px 14px}
.quest-stats span,.mission-chips span,.mode-meta span{min-height:0;padding:0;border:0;border-radius:0;background:none;font-size:11px;line-height:1.65;font-weight:600;letter-spacing:0;color:var(--muted)}
.quest-stats span:before,.mission-chips span:before{display:none}
.difficulty-label-row{margin:26px 0 12px}
.difficulty-label-row h2{font-size:13px;line-height:1.5;letter-spacing:0;font-weight:600;color:var(--muted)}
.difficulty-grid{gap:12px}
.difficulty-option,.difficulty-option.easy,.difficulty-option.hell{min-height:136px;padding:19px 18px;border-radius:14px;border-width:1px;background:#102b48;box-shadow:none;transform:none;gap:20px}
.difficulty-option.easy{border-color:#35e0b57a}
.difficulty-option.hell{border-color:#ff66737a;background:#281f35}
.difficulty-option:hover{transform:none;background:#153552}
.difficulty-option.hell:hover{background:#35283d}
.difficulty-option:active{transform:translateY(1px)}
.difficulty-copy strong{font-size:25px;line-height:1.3;letter-spacing:-.02em;margin:0 0 8px;font-weight:750;text-transform:none}
html[dir="rtl"] .difficulty-copy strong{line-height:1.4;letter-spacing:0}
.difficulty-copy small{display:block;font-size:14px;line-height:1.65;color:var(--muted)}
.mode-meta{margin-top:12px}
.mode-meta span{font-size:11px;color:var(--aqua)}
.hell .mode-meta span{color:#ffb1b8}
.difficulty-icon{width:34px;height:34px;border:0;border-radius:9px;background:#35e0b51a;box-shadow:none;transform:none;font-size:0;flex-shrink:0}
.difficulty-icon:before{content:'';width:12px;height:7px;border-bottom:2px solid var(--aqua);border-left:2px solid var(--aqua);transform:rotate(-45deg)}
.hell .difficulty-icon{background:#ff66731a;box-shadow:none;transform:none;font-size:0}
.hell .difficulty-icon:before{width:18px;height:18px;border:0;transform:none;background:#ffb1b8;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="black" stroke-width="1.8" stroke-linejoin="round" d="M7 10V7a5 5 0 0 1 10 0v3M5 10h14v11H5z"/></svg>') center/contain no-repeat}
.level-route{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);gap:10px;grid-template-columns:1fr 24px 1fr;font-size:11px;letter-spacing:0;line-height:1.6}
.level-route span{padding:0;border:0;border-radius:0;background:none}
.level-route i{height:1px;background:var(--line)}
.difficulty-note,.fine-print{font-size:12px;line-height:1.8;color:var(--muted);margin-top:16px;padding-top:0}
.progress{height:3px;margin-bottom:20px;box-shadow:none;background:#1c3652}
.progress>span{background:var(--aqua);box-shadow:none}
.gate-view>.progress{display:none}
.gate-view .case-row{display:none}
.round-banner{margin-bottom:20px}
.mission-chips{margin-top:0}
.challenge-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:start}
.challenge-head .case-row{grid-column:2;grid-row:1;margin:0}
.challenge-head h1{grid-column:1;grid-row:1;font-size:29px}
.challenge-head .lead,.challenge-head .mission-chips{grid-column:1/-1}
.timer{min-width:76px;min-height:40px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#102b48;color:var(--aqua);box-shadow:none;font-size:16px;line-height:1.3;letter-spacing:0}
.timer.urgent{background:#372c20;color:#ffd77b;border-color:#a8863c}
.timer.critical{background:#3f2235;color:#ffb0b7;border-color:#a44c61}
.scene-card{border:1px solid var(--line);border-radius:14px;background:#102b48;box-shadow:none;margin:0 0 14px}
.scene-tools{min-height:58px;padding:9px 12px;gap:12px;background:#102b48}
.scene-tools-copy strong{font-size:11px;line-height:1.5;letter-spacing:0;font-weight:600;color:var(--muted)}
.scene-tools-copy small{font-size:13px;line-height:1.6;margin-top:3px;font-weight:500;color:var(--ink)}
.magnify-trigger{width:44px;height:44px;border-radius:9px;border:1px solid var(--line);background:#163b5c;box-shadow:none;backdrop-filter:none;transform:none}
.magnify-trigger:hover{transform:none;background:#214b6c}
.magnify-trigger[aria-pressed="true"]{background:var(--aqua);color:#07182f;box-shadow:none;border-color:var(--aqua)}
.magnify-trigger.used{opacity:.6;box-shadow:none}
.target-tray{padding:12px;background:#102b48}
.dock-head{margin-bottom:10px;gap:10px;align-items:flex-start}
.dock-head strong,.dock-head span{font-size:11px;line-height:1.5;letter-spacing:0;font-weight:600;color:var(--muted)}
.target-dock{gap:7px}
.target-slot{height:34px;border-radius:7px;background:#071d35;box-shadow:none;font-size:13px;transform:none}
.target-slot:before{display:none}
.target-slot.found{background:#35e0b5;border-color:#35e0b5;box-shadow:none;transform:none;color:#07182f}
.round-pill,.tap-hint{font-size:11px;line-height:1.5;letter-spacing:0;box-shadow:none}
.challenge-instruction,.feedback{min-height:44px;padding:12px 0;border:0;border-radius:0;background:none;box-shadow:none;font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 18px}
.challenge-instruction.good,.feedback.good{background:none;color:#81efcf}
.challenge-instruction.bad{background:none;color:#ffb0b7}
.challenge-instruction>span[aria-hidden]{display:none}
.reveal-panel{padding:0;margin:0 0 20px;border:0;border-radius:0;background:none;box-shadow:none}
.reveal-panel .scene-card{margin-bottom:0}
.locked-card{padding:20px;border-radius:14px;border:1px solid var(--line);background:#102b48;box-shadow:none}
.locked-card h2{font-size:23px;line-height:1.4;letter-spacing:-.02em;margin:0;text-wrap:balance}
.challenge-question{font-size:27px;line-height:1.3;letter-spacing:-.02em;margin:14px 0 20px;text-shadow:none;text-transform:none}
.primary{min-height:54px;padding:14px 18px;border:0;border-radius:10px;background:var(--yellow);box-shadow:none;color:#07182f;font-size:15px;font-weight:700;line-height:1.6;letter-spacing:0;white-space:normal}
.primary:hover{background:#ffda7b;filter:none;box-shadow:none}
.primary:active{transform:translateY(1px)}
.primary:disabled{opacity:.6;cursor:wait}
.secondary{min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:#102b48;color:var(--ink);font-size:14px;line-height:1.6}
.secondary:hover{background:#173b59}
.hell-dialog,.magnifier-dialog,.round-intro-card,.time-up-card,.round-win-card{width:min(100%,420px);max-height:calc(100svh - 32px);overflow-y:auto;padding:28px 22px;border:0;border-radius:16px;background:#102b48;box-shadow:0 18px 50px #0007}
.hell-lock,.round-win-icon,.result-icon,.locked-label,.intro-kicker{display:none}
.hell-dialog h2,.magnifier-dialog h2,.round-intro-card h2,.time-up-card h2,.round-win-card h2{font-size:27px;line-height:1.35;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.hell-dialog p,.magnifier-dialog p,.round-intro-card p,.time-up-card p,.round-win-card p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.hell-backdrop,.magnifier-backdrop,.sheet-backdrop,.round-intro,.time-up-backdrop,.round-win-backdrop{visibility:hidden;background:#000b;backdrop-filter:none}
.hell-backdrop.open,.magnifier-backdrop.open,.sheet-backdrop.open,.round-intro.open,.time-up-backdrop.open,.round-win-backdrop.open{visibility:visible}
.sheet{width:min(100%,520px);max-height:calc(100svh - 12px);padding:12px 22px calc(24px + env(safe-area-inset-bottom,0px));border:0;border-radius:18px 18px 0 0;background:#102b48;box-shadow:0 18px 50px #0007}
.sheet .saved{display:none}
.sheet h2{font-size:27px;line-height:1.35;letter-spacing:-.02em;margin:12px 48px 14px 0;text-wrap:balance}
html[dir="rtl"] .sheet h2{margin-inline:0 48px}
.sheet p{font-size:14px;line-height:1.8;color:var(--muted)}
.grabber{height:4px;background:#52728e;margin-bottom:18px}
.sheet-close{width:44px;height:44px;top:14px;right:14px;background:#07182f;border:1px solid var(--line);box-shadow:none}
.challenge-preview{border:0;box-shadow:none;border-radius:12px}
.preview-facts{gap:8px;background:#102b48;padding-inline:0}
.preview-facts span{font-size:11px;line-height:1.7;letter-spacing:0;box-shadow:none}
.teaser-reward:before{display:none}
.teaser-next{font-size:12px;line-height:1.8;color:var(--muted)}
.safari-guide{max-width:280px;margin:22px auto;border:0;border-radius:12px;overflow:hidden;box-shadow:none}
.browser-steps{gap:14px;margin:22px 0}
.browser-steps li{font-size:14px;line-height:1.8;box-shadow:none}
.toast{border:0;border-radius:10px;background:#35e0b5;color:#07182f;box-shadow:0 10px 26px #0005;font-size:13px;line-height:1.7;font-weight:600}
.result{border:0;border-radius:14px;background:#102b48;box-shadow:none;padding:30px 22px}
.result:after{display:none}
.result h2{font-size:28px;line-height:1.4;letter-spacing:-.02em;margin:20px 0 12px}
.result p{font-size:15px;line-height:1.85;color:var(--muted)}
.score-number{font-size:64px;letter-spacing:-.025em;line-height:1.1}
.score-number small{font-size:20px;letter-spacing:0}
@media(max-width:360px){.app,.app.gate-view{padding-inline:14px}.topbar{gap:8px}.brand{font-size:12px;gap:7px}.brand-mark{width:20px;height:20px}.topbar-actions{gap:7px}.step-count{max-width:94px;font-size:11px}.language-select{width:82px;font-size:12px}.language-picker{padding-inline:7px}.difficulty-option{padding:17px 16px;gap:14px}.difficulty-icon{width:30px;height:30px}.challenge-head h1{font-size:26px}.sheet{padding-inline:18px}.mission-chips span{font-size:11px}}
@media(min-width:700px){.sheet{border-radius:18px}.app{padding-top:calc(24px + var(--ui-safe-top))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.primary:active,.difficulty-option:active{transform:none}}

.magnifier-dialog-icon{display:none}
.magnifier-actions{grid-template-columns:1fr}
.magnifier-actions .primary,.magnifier-actions .secondary{width:100%;min-height:54px;margin:0;background-image:none}
.magnifier-actions .primary{background:var(--yellow)}
