:root{--night:#081b37;--panel:#10294a;--panel2:#153759;--line:#416b83;--cream:#fff0cf;--sea:#9fe9e1;--sun:#ffd37d}
html{color-scheme:dark;overflow-x:clip}
body{background:radial-gradient(circle at 50% -180px,#214c70 0,transparent 540px),var(--night);color:var(--cream);font-size:23px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;z-index:-1;background-image:radial-gradient(#a5dce4 1px,transparent 1px);background-size:24px 24px}
.wrap{max-width:680px;padding:0 20px}
.head{align-items:center;margin:0 -20px;padding:13px 20px;background:#0b2443;border-bottom:3px solid #6db8bb;color:#a6e8dc;box-shadow:0 5px 0 #06152c;font-size:20px}
.head .brand{color:#ffe0a8;font-size:25px;letter-spacing:.08em}
.head time{font-size:20px}
h1{color:var(--cream);font-size:clamp(44px,9vw,64px);letter-spacing:.025em;text-shadow:3px 3px 0 #31617d}
h2{color:#ffe1ae;font-size:33px;line-height:1}
h3{color:#c9e7df}
.muted{color:#bfd0d3}.small,.eyebrow{color:#a9cbd2}
.cyan{color:#9fe9e1}.green{color:#a9e0b0}.yellow{color:#ffe08f}.amber{color:#ffd37d}.pink{color:#f2afbe}.purple{color:#cab8ef}
.section{border-top:2px dashed #5b8290;margin-top:28px;padding-top:24px}
.button{border:2px solid var(--color,#9fe9e1);border-bottom-width:5px;background:#183f5d;color:var(--color,#9fe9e1);padding:12px 14px;box-shadow:3px 3px 0 #041327;font-size:22px;line-height:1.05}
.button.solid{background:#9fe9e1;border-color:#d6fff1;color:#0b2845}
.button.plain{background:#153047;color:#e8f2df;border-color:#6b8c95}
.button:active,.tile:active{filter:none;transform:translateY(3px);box-shadow:none}
.button:disabled{opacity:.55}
input,textarea,select{background:#071b36;border:2px solid #547c92;border-bottom:4px solid #9fe9e1;color:var(--cream);border-radius:0}
input::placeholder,textarea::placeholder{color:#9eb9c1}
.field>span{color:#c3d9d4}
.info{background:#133653;border-left:5px solid #9fe9e1}
.row{border-bottom-color:#41657b}.row b{color:#ffd37d}
.rank{color:#8fb4c1}
.tag{background:#163854;color:var(--color,#a9e0b0);border:2px solid currentColor;padding:3px 9px}
.nav{max-width:680px;background:#0b2443;border-top:3px solid #6db8bb;padding:8px 10px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -5px 0 #06152c}
.nav a{background:#102f4e;border:2px solid #4c7489;border-top:4px solid var(--color);padding:5px 1px;font-size:20px;color:#d5e8df}
.nav a.active{background:#aadbd2;color:#082440;border-color:#e4f4d6}
.nav .number{font-size:15px}
.footer{border-top:1px solid #41657b;padding-top:14px;color:#99b9c1}
.footer a{color:#aadbd2}
.stripe{height:7px;background:repeating-linear-gradient(90deg,#f0a9a2 0 11%,#ffd37d 11% 22%,#9fe9e1 22% 33%,#bba9d9 33% 44%);margin:20px 0 26px}
.hero.travel-hero{position:relative;text-align:left;padding:30px 24px 0;min-height:430px;margin:18px -2px 0;background:linear-gradient(180deg,#12385a,#1f5574 52%,#246077);border:4px solid #99d0cb;box-shadow:6px 6px 0 #041327;overflow:hidden}
.hero.travel-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#031b301c 5px 6px)}
.hero-kicker{position:relative;z-index:1;color:#ffe9bc;font-size:20px;letter-spacing:.14em}
.travel-hero h1{position:relative;z-index:1;margin:13px 0 0;font-size:clamp(80px,17vw,132px);line-height:.72;letter-spacing:.035em;color:#fff0ce;text-shadow:5px 5px 0 #c57988,9px 9px 0 #173a5e}
.travel-hero h1 em{font-style:normal;color:#ffe3a6}
.travel-hero .subtitle{position:relative;z-index:1;margin-top:20px;color:#d3f4e7;font-size:21px;letter-spacing:.16em}
.hero-dot{color:#f0a9a2}
.hero-stamp{position:absolute;right:20px;top:25px;z-index:2;border:3px double #ffe3ac;color:#ffe3ac;width:78px;height:78px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;transform:rotate(12deg);font-size:43px;line-height:.75;background:#185071}
.hero-stamp small{font-size:17px;margin-top:7px}
.event-date{display:inline-block;margin-top:13px;padding:3px 10px;background:#16425d;border-left:4px solid #ffd37d}
.join-panel{background:#102e4e;border:2px solid #5a8391;padding:20px;margin-top:26px;box-shadow:4px 4px 0 #041327}
.join-panel h2{margin:6px 0 13px}
.home-intro{padding-top:27px}.home-intro h1{margin:8px 0 10px}
.score{background:#123453;border:2px solid #50798b;padding:12px 15px;box-shadow:4px 4px 0 #041327;flex-wrap:wrap}
.score strong{color:#ffd37d;font-size:68px}.score span{color:#c5d7d4}.score .button{font-size:18px}
.quiz-scene{width:190px;height:120px;margin:0 auto}.quiz-scene svg{width:100%;height:100%}
.tile{background:var(--color,#9fe9e1);border:2px solid #d5e9d4;box-shadow:4px 4px 0 #041327}
.tile .top{background:#123453}
.tile .inside{color:#102947}
.answer{border:2px solid #d5e9d4}.answer .top{background:#112e4c}
.answer.dim{background:#102c48}
.progress,.bar{background:#102f4b}
.reward,.editor{background:#102e4b;border:2px solid #587c8d;padding:17px}
.memory-card audio{display:block;min-width:0;max-width:100%;padding:0}
.admin-nav button{background:#173753;color:#d1e4db;border:2px solid #53798b}
.admin-nav button.active{background:#a6ded5;color:#082440;border-color:#e1f6df}
dialog{background:#102d4c;color:var(--cream);border:3px solid #9fe9e1;box-shadow:8px 8px 0 #041327}
dialog::backdrop{background:#041327d9}
#toast{background:#fff0cf;color:#102947;border:3px solid #cb9d90;box-shadow:5px 5px 0 #041327}
@media(hover:hover) and (pointer:fine){.button:hover:not(:disabled){filter:brightness(1.12)}}
@media(max-width:520px){.wrap{padding:0 14px}.head{margin:0 -14px;padding:11px 14px}.head .brand{font-size:20px}.head time{font-size:18px}.hero.travel-hero{min-height:390px;padding:25px 15px 0}.hero-kicker{font-size:17px}.travel-hero h1{font-size:clamp(69px,17vw,100px)}.hero-stamp{width:58px;height:58px;font-size:31px;right:12px;top:15px}.hero-stamp small{font-size:13px}.score strong{font-size:58px}}
@media(max-width:650px){.memory-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:350px){.hero.travel-hero{min-height:350px}.travel-hero h1{font-size:65px}.hero-stamp{top:82px}}
@media print{body{background:#fff;color:#000}body:before{display:none}.head{box-shadow:none}.hero.travel-hero,.join-panel{box-shadow:none}}
