:root{--night: #0f1a2e;--night-2: #1b2d4a;--parchment: #f3e6c4;--parchment-2: #e6d3a3;--ink: #3b2614;--ink-soft: #6b4a2b;--brass: #c9973f;--brass-2: #f3c64b;--teal: #2b5f6e;--ember: #e8743b;--danger: #d1495b;--head: "Fraunces", Georgia, serif;--body: "Nunito", system-ui, sans-serif;--hand: "Caveat", "Segoe Print", cursive;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--body);color:var(--parchment);background:radial-gradient(1px 1px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 72% 9%,#fff9 50%,transparent 51%),radial-gradient(1.5px 1.5px at 41% 31%,#fffa 50%,transparent 51%),radial-gradient(1px 1px at 88% 44%,#fff7 50%,transparent 51%),radial-gradient(1px 1px at 23% 62%,#fff6 50%,transparent 51%),radial-gradient(1.5px 1.5px at 63% 77%,#fff8 50%,transparent 51%),radial-gradient(ellipse at 50% -10%,#2c4470 0%,var(--night-2) 35%,var(--night) 75%) fixed;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:var(--head);line-height:1.15;margin:.4em 0}p{line-height:1.5}.muted{opacity:.75}.small{font-size:.88rem}.error{color:#ffb4b4}[hidden]{display:none!important}.btn,.btn-primary,.btn-quiet{border-radius:999px;padding:.7em 1.2em;border:2px solid var(--brass);font-weight:800;min-height:44px}.btn{background:transparent;color:var(--brass-2)}.btn-primary{background:linear-gradient(180deg,var(--brass-2),var(--brass));color:var(--ink);border-color:#8a6420;box-shadow:0 3px #6d4c16}.btn-primary:active{transform:translateY(2px);box-shadow:0 1px #6d4c16}.btn-quiet{background:transparent;color:inherit;border-color:transparent;opacity:.85;text-decoration:underline}.btn:focus-visible,.btn-primary:focus-visible,.btn-quiet:focus-visible,.pin:focus-visible,.tool:focus-visible{outline:3px solid #fff;outline-offset:2px}.link-back{background:none;border:0;color:var(--brass-2);padding:.6em 0;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.home{max-width:760px;margin:0 auto;padding:calc(12px + var(--safe-t)) 16px calc(24px + var(--safe-b))}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;min-height:230px}.hero h1{grid-column:1;grid-row:1;margin:0 0 18px;text-shadow:0 3px 0 #0008}.hero .kicker{display:block;font-size:1.15rem;color:var(--brass-2);font-family:var(--hand);font-size:1.7rem;font-weight:700}.hero .big{display:block;font-size:clamp(2.2rem,8vw,3.6rem);font-weight:800;color:var(--parchment)}.hero-bhalo{grid-column:2;grid-row:1;height:240px;width:auto;filter:drop-shadow(0 10px 18px #000a)}.hero-sky{position:absolute;inset:0;pointer-events:none}.hero-ship{position:absolute;width:120px;left:2%;top:-6px;animation:bob 5s ease-in-out infinite;filter:drop-shadow(0 6px 8px #0008)}@keyframes bob{50%{transform:translateY(-8px) rotate(-1.5deg)}}.lede{font-size:1.05rem;max-width:34em}.cases h2,.files h2{display:flex;align-items:baseline;justify-content:space-between;gap:.5em;flex-wrap:wrap}.date{font-family:var(--body);font-size:.9rem;opacity:.7;font-weight:600}.case-card{background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);border-radius:18px;padding:14px 16px 16px;margin:12px 0;box-shadow:0 8px 24px #0007,inset 0 0 0 2px #fff6;position:relative}.case-card h3{font-size:1.35rem}.case-card .btn{color:var(--ink);border-color:var(--ink-soft)}.case-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.badge{display:inline-block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2em .7em;border-radius:999px;background:var(--teal);color:#fff}.level-scientist .badge{background:#7b3f8c}.status{font-weight:800}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}.case-file{margin:0;padding:12px}.case-file h3{font-size:1.05rem}.home-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.tag-row{display:contents}.tag-stats{font-weight:600;opacity:.8}.credit{margin-top:28px;font-size:.8rem;opacity:.7;text-align:center}.fs-row{display:flex;justify-content:center;gap:8px}.board,.tag-screen{max-width:640px;margin:0 auto;padding:calc(12px + var(--safe-t)) 16px calc(24px + var(--safe-b))}.tabs{display:flex;gap:6px;margin:12px 0}.tab{flex:1;padding:.6em;border-radius:12px;border:2px solid var(--brass);background:transparent;color:var(--brass-2);font-weight:800}.tab-on{background:var(--brass);color:var(--ink)}.board-list{list-style:none;padding:0;margin:0}.board-list li{display:grid;grid-template-columns:2.4em minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:#ffffff0d;margin:6px 0}.board-list .who{font-weight:800;overflow:hidden;text-overflow:ellipsis}.board-list .score{font-family:var(--head);font-weight:800;color:var(--brass-2)}.board-me{outline:2px solid var(--brass-2)}.rank{text-align:center;font-weight:800}.tag-form{display:grid;gap:12px;margin-top:12px}.tag-field{display:grid;gap:4px;font-weight:700}.tag-field input{font:inherit;padding:.7em;border-radius:10px;border:2px solid var(--brass);background:#0006;color:#fff}.tag-actions{display:flex;flex-wrap:wrap;gap:10px}.tag-switches{display:flex;flex-wrap:wrap;gap:16px}.tag-error{color:#ffb4b4;font-weight:700}.tag-recovery{font-family:monospace;font-size:1.8rem;letter-spacing:.15em;color:var(--brass-2)}body[data-screen=case]{overflow:hidden;overscroll-behavior:none}.chase{position:fixed;inset:0}.chase .globe.maplibregl-map,.chase .globe{position:absolute;inset:0;width:100%;height:100%}.globe .maplibregl-canvas{outline:none}.maplibregl-ctrl-attrib{font-size:10px}.hud{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--safe-t)) 10px 8px;background:linear-gradient(180deg,#0f1a2ef0,#0f1a2e00);pointer-events:none}.hud>*{pointer-events:auto}.hud-home{width:40px;height:40px;border-radius:50%;border:2px solid var(--brass);background:#0f1a2ecc;color:var(--brass-2);font-weight:800;flex:none}.hud-title{flex:1;min-width:0;display:grid}.hud-case{font-family:var(--head);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-sub{font-size:.75rem;opacity:.75}.hud-clock,.hud-stop{flex:none;font-weight:800;padding:.35em .7em;border-radius:999px;background:#0f1a2ecc;border:2px solid var(--brass)}.hud-low{border-color:var(--danger);color:#ffc2c2}.tools{position:absolute;right:10px;top:calc(64px + var(--safe-t));display:grid;gap:8px}.tool{width:44px;height:44px;border-radius:50%;border:2px solid var(--brass);background:#0f1a2ecc;font-size:1.25rem}.tool-on{background:var(--brass)}.sheet{position:absolute;left:8px;right:8px;bottom:calc(8px + var(--safe-b));max-height:44vh;overflow:auto;max-width:560px;margin:0 auto;background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);border-radius:18px;padding:12px 16px;box-shadow:0 -6px 30px #0008,inset 0 0 0 2px #fff6}.sheet:empty{display:none}.note-head{margin:0 0 4px;font-weight:800;font-size:.92rem;color:var(--ink-soft)}.note-camp{margin:0 0 6px;color:var(--ink-soft)}.note-clues{margin:0;padding-left:1.3em;font-family:var(--hand);font-size:1.45rem;line-height:1.2}.note-clues li{margin:.25em 0}.note-foot{margin:6px 0 0}.pin-sheet h3{margin:0 0 6px}.seismo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#3b26140f;border:2px dashed var(--ink-soft);border-radius:12px;padding:8px 12px}.seismo-title{font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;width:100%}.seismo-read{font-family:var(--head);font-weight:800;font-size:1.2rem}.sheet .btn{color:var(--ink);border-color:var(--ink-soft)}.pin{position:relative;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:radial-gradient(circle at 35% 30%,#ffe9a8,var(--brass) 70%);border:2px solid var(--ink);box-shadow:0 4px 8px #0009;padding:0;margin-bottom:4px}.pin span{display:inline-block;transform:rotate(45deg);font-family:var(--head);font-weight:800;color:var(--ink);font-size:1.05rem}.pin-selected{background:radial-gradient(circle at 35% 30%,#fff,var(--ember) 70%);box-shadow:0 0 0 4px #fff8,0 4px 10px #000a}.pin-tried{background:#9aa3ad;opacity:.85}.camp{font-size:20px;filter:drop-shadow(0 2px 2px #000a);pointer-events:none}.camp-last{font-size:26px;animation:glow 2.2s ease-in-out infinite}@keyframes glow{50%{filter:drop-shadow(0 0 8px var(--brass-2))}}.ship-marker{pointer-events:none}.ship-img{width:50px;height:auto;display:block;filter:drop-shadow(0 6px 6px #000a)}.geo-label{pointer-events:none;font-family:var(--head);font-style:italic;font-size:11px;white-space:nowrap;letter-spacing:.04em}.geo-label-land{color:var(--ink);font-weight:800;text-shadow:0 0 3px #f3e6c4,0 0 6px #f3e6c4}.geo-label-sea{color:#e9f3f0;font-weight:600;text-shadow:0 1px 2px #0009;letter-spacing:.12em}.compass-label,.ring-label{pointer-events:none;font-weight:800;color:#fff7e0;text-shadow:0 1px 3px #000;font-size:12px}.ring-label{font-size:10px;font-weight:600;opacity:.9}@media(prefers-reduced-motion:reduce){.camp-last,.hero-ship{animation:none}}.overlay{position:fixed;inset:0;background:#0b1220b3;display:grid;place-items:center;padding:calc(12px + var(--safe-t)) 12px calc(12px + var(--safe-b));overflow:auto;z-index:10}.card{width:min(100%,460px);background:linear-gradient(180deg,var(--parchment),var(--parchment-2));color:var(--ink);border-radius:20px;padding:18px 18px 20px;box-shadow:0 16px 40px #000b,inset 0 0 0 2px #fff6}.card .btn{color:var(--ink);border-color:var(--ink-soft)}.card-pop{animation:pop .35s ease-out}@keyframes pop{0%{transform:scale(.92);opacity:0}}.card-bhalo{display:block;height:150px;width:auto;margin:-6px auto 0;filter:drop-shadow(0 6px 10px #0006)}.eyebrow{margin:0;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}.story{font-size:1.05rem}.place{border-top:2px dashed #6b4a2b55;margin-top:10px;padding-top:8px}.place-name{font-weight:800;margin:0}.place-facts{margin:2px 0 6px}.lesson summary{font-weight:800;cursor:pointer;color:var(--teal)}.score-table{width:100%;border-collapse:collapse;margin:10px 0}.score-table td{padding:4px 0;border-bottom:1px solid #6b4a2b33}.score-table td:last-child{text-align:right;font-weight:800}.score-table .total td{font-family:var(--head);font-size:1.2rem;border-bottom:0}.legend{list-style:none;padding:0;display:grid;gap:8px}.legend li{display:flex;align-items:center;gap:10px}.swatch{width:34px;height:6px;border-radius:3px;flex:none}.swatch-plain{background:#e3cd96;border:1px solid var(--ink-soft);height:14px}.swatch-equator{background:repeating-linear-gradient(90deg,var(--brass-2) 0 8px,transparent 8px 13px)}.swatch-emoji{width:34px;text-align:center;flex:none}@media(max-width:480px){.hero{min-height:190px}.hero-bhalo{height:190px}.hero-ship{width:90px}.hud-clock,.hud-stop{padding:.3em .55em;font-size:.85rem}.note-clues{font-size:1.3rem}}@media(max-height:520px)and (orientation:landscape){.sheet{left:8px;right:auto;width:min(46vw,420px);max-height:calc(100vh - 80px - var(--safe-t));top:calc(60px + var(--safe-t));bottom:auto;margin:0}.hero{min-height:160px}.hero-bhalo{height:160px}}
