:root{
  --tool-panel:#101c2a;--tool-panel-2:#142335;--tool-line:rgba(243,235,219,.14);
  --tool-muted:#aab6c4;--tool-sand:#f3ebdb;--tool-ember:#e8834d;
  --tool-good:#76c79e;--tool-bad:#e0786e
}
.tool-shell{margin:24px 0 34px;padding:clamp(18px,4vw,28px);background:linear-gradient(145deg,var(--tool-panel-2),var(--tool-panel));border:1px solid var(--tool-line);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.tool-kicker{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;color:var(--tool-muted);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.tool-progress{height:5px;background:rgba(243,235,219,.09);border-radius:9px;overflow:hidden;margin:0 0 24px}.tool-progress>span{display:block;height:100%;background:var(--tool-ember);transition:width .25s}
.tool-title{font-family:var(--serif);font-size:clamp(1.55rem,5vw,2.35rem);line-height:1.12;margin:0 0 10px;color:var(--tool-sand)}
.tool-copy{color:var(--tool-muted);margin:0 0 22px}.tool-controls{display:grid;gap:14px;margin:20px 0}
.tool-field{display:grid;gap:7px}.tool-field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tool-muted);font-weight:800}
.tool-field select,.tool-field input{width:100%;border:1px solid var(--tool-line);border-radius:13px;background:#0b1622;color:var(--tool-sand);font:inherit;padding:13px 14px;outline:none}.tool-field input:focus,.tool-field select:focus{border-color:var(--tool-ember)}
.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.tool-actions .btn{flex:1;min-width:145px}
.tool-options{display:grid;gap:10px;margin-top:20px}.tool-option{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--tool-line);background:#0b1622;color:var(--tool-sand);border-radius:14px;padding:14px 16px;font:inherit;cursor:pointer}.tool-option:hover:not(:disabled){border-color:rgba(232,131,77,.65)}.tool-option:disabled{cursor:default}.tool-option.right{border-color:var(--tool-good);background:rgba(118,199,158,.12)}.tool-option.wrong{border-color:var(--tool-bad);background:rgba(224,120,110,.12)}
.tool-option-key{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--tool-line);font-size:.72rem;font-weight:800;flex:none}
.tool-feedback{margin-top:18px;padding:16px;border-left:3px solid var(--tool-ember);background:rgba(10,17,25,.48);border-radius:0 13px 13px 0;color:var(--tool-muted)}
.tool-score{text-align:center;padding:14px 0}.tool-score strong{display:block;font-family:var(--serif);font-size:clamp(3.2rem,14vw,6rem);line-height:1;color:var(--tool-sand)}.tool-score span{color:var(--tool-muted)}
.tool-visual{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--tool-line);background:#0b1622;margin:18px 0}.tool-visual img{width:100%;aspect-ratio:16/10;object-fit:cover}.tool-visual.silhouette img{filter:grayscale(1) brightness(.08) contrast(2)}
.tool-visual.flag-clue{min-height:250px;display:grid;place-items:center;font-size:clamp(7rem,28vw,12rem);line-height:1;background:radial-gradient(circle,rgba(243,235,219,.08),transparent 62%),#0b1622}
.world-map{width:100%;display:block;background:linear-gradient(180deg,#173247,#102536)}.world-map .land{fill:#557064;stroke:#799183;stroke-width:1}.world-map .gridline{stroke:rgba(243,235,219,.09);stroke-width:1}.world-map .pin{fill:var(--tool-ember);stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 8px rgba(232,131,77,.75))}
.country-cloud{display:flex;gap:8px;flex-wrap:wrap;max-height:360px;overflow:auto;padding-right:4px}.country-chip{border:1px solid var(--tool-line);background:#0b1622;color:var(--tool-muted);padding:8px 11px;border-radius:999px;font:inherit;font-size:.84rem;cursor:pointer}.country-chip.on{background:var(--tool-ember);border-color:var(--tool-ember);color:#170d08}.country-chip.found{background:rgba(118,199,158,.15);border-color:var(--tool-good);color:var(--tool-good)}
.timer{font-family:var(--serif);font-size:2rem;color:var(--tool-sand)}.answer-log{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.answer-log span{font-size:.8rem;padding:6px 9px;border-radius:99px;background:rgba(118,199,158,.12);color:var(--tool-good)}
.place-reveal{display:grid;gap:18px}.place-reveal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.place-reveal h3{font-size:2rem;margin:0}.place-meta{color:var(--tool-ember);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-card{background:#0b1622;border:1px solid var(--tool-line);border-radius:16px;padding:16px}.compare-card .flag-emoji{font-size:3rem;line-height:1;margin-bottom:12px}.compare-card h3{font-size:1.2rem;margin:0 0 12px}.compare-stat{padding:9px 0;border-top:1px solid var(--tool-line)}.compare-stat small{display:block;color:var(--tool-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.compare-stat strong{font-size:.9rem;color:var(--tool-sand)}
.travel-board{padding:24px;border-radius:18px;background:radial-gradient(circle at 80% 10%,rgba(232,131,77,.2),transparent 35%),#091521;border:1px solid var(--tool-line);text-align:center}.travel-board strong{display:block;font-family:var(--serif);font-size:3rem}.travel-board p{margin:6px 0;color:var(--tool-muted)}.continent-bars{display:grid;gap:7px;margin-top:18px}.continent-bar{height:8px;border-radius:8px;background:rgba(243,235,219,.08);overflow:hidden}.continent-bar span{display:block;height:100%;background:var(--tool-ember)}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:24px 0}.tool-card{display:flex;min-height:175px;flex-direction:column;text-decoration:none;background:var(--ink-2);border:1px solid var(--line-2);border-radius:18px;padding:20px;transition:transform .15s,border-color .15s}.tool-card:hover{transform:translateY(-2px);border-color:rgba(232,131,77,.55)}.tool-card .icon{font-size:1.7rem;margin-bottom:auto}.tool-card h2{font-size:1.25rem;margin:18px 0 7px}.tool-card p{font-size:.9rem;margin:0}.tool-card .tag{margin-top:12px;color:var(--ember);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.share-note{text-align:center;color:var(--tool-muted);font-size:.78rem;margin-top:10px}
@media(max-width:560px){.compare-grid{grid-template-columns:1fr}.tool-shell{border-radius:19px}.tool-actions{flex-direction:column}.tool-actions .btn{width:100%}}
