@font-face{font-family:Galmuri;src:url('/assets/Galmuri11.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Galmuri;src:url('/assets/Galmuri11-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:PixelMono;src:url('/assets/GalmuriMono11.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--sky:#111027;--ivory:#fff4d4;--lavender:#b49bdc;--muted:#8875ae;--orange:#ff8c68;--track:#453563;--pixel:4px}
*{box-sizing:border-box}
body{margin:0;background:var(--sky);color:var(--ivory);font-family:Galmuri,monospace;-webkit-font-smoothing:none}
button,a,input{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px dashed var(--orange);outline-offset:8px}
.world{min-height:100svh;height:max(800px,100svh);position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden}
.landscape{position:absolute;inset:0;z-index:-2;background:url('/assets/night-camp.png') center bottom / 100% 100% no-repeat;image-rendering:pixelated;pointer-events:none}
.header{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;z-index:1}
.wordmark{color:var(--ivory);font-family:Galmuri,monospace;font-weight:700;text-decoration:none;font-size:28px;letter-spacing:2px;line-height:1.4;text-shadow:2px 0 currentColor}
.cursor{animation:blink 1.5s steps(1,end) infinite;font-size:23px;margin-left:3px}
.sound-button{width:52px;height:44px;border:2px solid var(--ivory);background:var(--sky);box-shadow:2px 2px 0 var(--ivory);color:var(--ivory);display:grid;place-items:center}
.sound-button svg{width:28px;height:28px;shape-rendering:crispEdges}
.sound-button:hover{color:var(--orange);border-color:var(--orange);box-shadow:2px 2px 0 var(--orange)}
.sound-on{display:none}.sound-button[aria-pressed=true] .sound-on{display:block}.sound-button[aria-pressed=true] .sound-off{display:none}
.main{text-align:center;margin:18px auto 0;width:min(1040px,calc(100% - 40px));position:relative;z-index:1}
.maker{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:16px}
.maker p{font-size:20px;letter-spacing:2px;margin:0;color:var(--lavender)}
.portrait-frame{width:68px;height:68px;position:relative;border:2px solid #685482;background:#26213c;box-shadow:4px 4px 0 #090817;overflow:hidden}
.portrait{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;transform:scale(1.13);transform-origin:center bottom}
h1{font-size:clamp(32px,4.5vw,64px);font-weight:700;letter-spacing:1px;line-height:1.4;margin:0;text-shadow:4px 4px 0 #090817}
.subtitle{font-size:clamp(14px,1.6vw,22px);line-height:1.6;color:var(--lavender);letter-spacing:1px;margin:12px 0 0}
.countdown{display:flex;align-items:flex-start;justify-content:center;gap:24px;margin:42px auto 0;width:100%;font-family:PixelMono,monospace}
.time-unit{display:flex;flex-direction:column;align-items:center;min-width:145px}
.digit{font-family:Galmuri,monospace;font-weight:700;font-size:clamp(66px,8.6vw,128px);line-height:1;letter-spacing:-4px;font-variant-numeric:tabular-nums;display:block;text-shadow:4px 4px 0 #090817}
.unit-label{font-family:Galmuri,monospace;font-weight:700;font-size:19px;letter-spacing:2px;color:var(--lavender);margin-top:17px}
.separator{font-family:Galmuri,monospace;font-weight:700;font-size:76px;line-height:1.15;align-self:flex-start;color:var(--ivory);margin:0 0 0 -5px}
.mission-status{width:min(630px,84%);margin:36px auto 0}
.mission-status p{font-size:20px;letter-spacing:1px;line-height:1.5;margin:0 0 16px}
.progress-track{height:12px;background:var(--track);position:relative;margin:0 3px;box-shadow:-3px 3px 0 var(--track),3px -3px 0 var(--track)}
.progress-track span{display:block;height:100%;width:0;background:var(--orange);min-width:4px;transition:width 1s linear;box-shadow:0 -3px 0 #ffb18a inset}
.mission-status time{display:block;margin-top:16px;font-family:Galmuri,monospace;font-size:12px;letter-spacing:1px;color:var(--muted)}
.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:244px;min-height:58px;margin:30px auto 0;padding:12px 30px;border:3px solid #080715;background:var(--ivory);color:#11101b;box-shadow:5px 5px 0 #05050b;font-size:23px;font-weight:700;line-height:1.2;transition:transform .12s,box-shadow .12s}
.copy-button svg{height:26px;width:26px;shape-rendering:crispEdges}
.copy-button:hover{background:#ffe2b0;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #05050b}
.copy-button:active{transform:translate(4px,4px);box-shadow:1px 1px 0 #05050b}
.share-fallback{margin:18px auto 0;max-width:400px;text-align:left;padding:12px;background:var(--sky)}
.share-fallback label{display:block;font-size:14px;margin-bottom:8px;color:var(--lavender)}
.share-fallback input{width:100%;padding:10px;border:1px solid var(--lavender);background:var(--sky);color:var(--ivory);font-size:14px}
.footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:0 40px 26px;gap:18px;font-size:17px;letter-spacing:1px;z-index:1;text-shadow:2px 2px #111027}
.footer p{margin:0;line-height:1.5}
.footer p:last-child{font-family:PixelMono,monospace;font-size:18px}
.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}
.no-script{font-size:14px;color:var(--orange)}
.mission-ready .digit{color:var(--orange)}
@keyframes blink{50%{opacity:0}}
@media(min-width:1700px){.world{height:max(900px,100svh)}.main{margin-top:5vh}.countdown{margin-top:46px}.mission-status{margin-top:38px}}
@media(max-height:850px) and (min-width:701px){.world{height:max(760px,100svh)}.header{padding-top:20px;padding-bottom:10px}.main{margin-top:0}.portrait-frame{width:54px;height:54px}.maker{margin-bottom:10px}h1{font-size:48px}.subtitle{font-size:18px}.countdown{margin-top:26px}.digit{font-size:100px}.separator{font-size:64px}.mission-status{margin-top:25px}.copy-button{margin-top:22px}}
@media(max-width:700px){.world{height:max(820px,100svh)}.header{padding:22px 23px}.wordmark{font-size:19px;letter-spacing:1px}.cursor{font-size:17px}.sound-button{width:40px;height:36px}.sound-button svg{width:23px}.main{width:calc(100% - 32px);margin-top:40px}.maker{gap:13px;margin-bottom:19px}.maker p{font-size:17px}.portrait-frame{width:64px;height:64px}h1{font-size:clamp(28px,7.7vw,48px);letter-spacing:0}.subtitle{font-size:13px;letter-spacing:0;margin-top:14px}.countdown{gap:clamp(4px,2.2vw,15px);margin-top:42px}.time-unit{min-width:0;flex:0 1 75px}.digit{font-size:clamp(42px,11.5vw,76px);letter-spacing:-2px;text-shadow:3px 3px 0 #090817}.separator{font-size:clamp(25px,7vw,46px);line-height:1.3;margin:0}.unit-label{font-size:10px;letter-spacing:1px;margin-top:13px}.mission-status{width:90%;margin-top:35px}.mission-status p{font-size:14px;letter-spacing:0;margin-bottom:16px}.progress-track{height:9px}.mission-status time{font-size:10px}.copy-button{font-size:18px;min-width:200px;min-height:53px;margin-top:26px;gap:13px}.copy-button svg{width:22px}.footer{padding:0 22px 22px;font-size:10px;gap:12px;letter-spacing:0}.footer p:last-child{font-size:10px}.landscape{background-size:auto 100%;background-position:50% bottom}}
@media(max-width:360px){.main{margin-top:27px}.countdown{gap:4px}.unit-label{font-size:9px;letter-spacing:0}.footer{flex-direction:column;align-items:center;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
