:root{color:#fff3d3;background:#031331;color-scheme:dark;font-family:Arial,Helvetica Neue,sans-serif;font-synthesis:none;--night: #031331;--night-deep: #020b20;--navy: #09295a;--navy-deep: #051a3d;--royal: #1455a2;--royal-light: #2b76c7;--ink: #071426;--paper: #fff3d3;--paper-muted: #c9d9ed;--gold: #f7b832;--gold-light: #ffe28a;--red: #e43a2e;--red-dark: #a82422;--green: #9bdf7a;--error: #ffc4b7;--error-bg: #741d2b;--panel: #071b3d;--panel-raised: #0b2d60;--line: rgba(255, 243, 211, .26);--shadow-hard: rgba(1, 8, 22, .72)}*{box-sizing:border-box}html{min-width:320px;background:var(--night)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% -12%,rgba(38,119,207,.45),transparent 34rem),radial-gradient(circle at 8% 35%,rgba(247,184,50,.12) 0 2px,transparent 3px),radial-gradient(circle at 91% 21%,rgba(255,243,211,.2) 0 1px,transparent 2px),linear-gradient(155deg,#0b3975 0%,var(--night) 46%,var(--night-deep) 100%)}body:before,body:after{position:fixed;pointer-events:none;content:""}body:before{inset:0;z-index:0;background-image:linear-gradient(rgba(83,146,218,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(83,146,218,.11) 1px,transparent 1px);background-size:34px 34px;opacity:.55;-webkit-mask-image:linear-gradient(to bottom,black,transparent 82%);mask-image:linear-gradient(to bottom,black,transparent 82%)}body:after{top:16%;left:6%;width:7px;height:7px;background:var(--gold-light);box-shadow:12px 0 #f7b832cc,0 12px #f7b8328c,12px 12px #e43a2ebf,78vw 18vh #ffe28acc,calc(78vw + 12px) 18vh 0 #f7b8328c,78vw calc(18vh + 12px) 0 #e43a2eb3}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}svg{display:block}.page-shell{position:relative;z-index:1;width:min(calc(100% - 32px),1180px);min-height:100vh;margin:0 auto;padding:clamp(24px,4vw,44px) 0 36px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand,.header-link{color:var(--paper);text-decoration:none}.brand{display:inline-flex;align-items:center;gap:11px;font-family:Arial Black,Impact,sans-serif;font-size:clamp(.76rem,1.5vw,.94rem);font-weight:900;letter-spacing:.12em;text-shadow:2px 2px 0 var(--night-deep)}.brand:hover,.header-link:hover{color:var(--gold-light)}.brand-mark{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:3px;width:13px;height:13px}.brand-mark i{display:block;background:var(--gold)}.brand-mark i:nth-child(2){background:var(--red)}.brand-mark i:nth-child(3){background:var(--paper)}.header-note,.header-link{margin:0;font-size:.72rem;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}.header-note{color:#fff3d3b3}.header-link{border-bottom:2px solid rgba(255,226,138,.55);transition:color .18s ease,border-color .18s ease}.postcard-layout{display:grid;justify-items:center;width:min(100%,860px);margin:clamp(58px,10vh,104px) auto 0}.postcard-intro{position:relative;width:min(100%,760px);text-align:center}.postcard-intro:before,.postcard-intro:after{position:absolute;pointer-events:none;content:""}.postcard-intro:before{top:-30px;right:8%;width:16px;height:16px;background:var(--gold);box-shadow:7px 7px 0 var(--red),-7px 7px #f7b8328c;transform:rotate(45deg) scale(.65)}.postcard-intro:after{bottom:-16px;left:50%;width:116px;height:4px;background:linear-gradient(90deg,transparent,var(--gold),var(--red),transparent);transform:translate(-50%)}.eyebrow,.card-kicker{margin:0;font-family:Courier New,monospace;font-size:.7rem;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}.eyebrow{color:var(--gold-light)}.card-kicker{color:var(--gold)}h1,h2,p{overflow-wrap:anywhere}h1,h2{font-family:Impact,Arial Black,Arial,sans-serif;font-weight:900;text-transform:uppercase}h1{margin:18px 0 16px;color:var(--paper);font-size:clamp(2.75rem,7vw,5.8rem);letter-spacing:-.035em;line-height:.93;text-shadow:0 3px 0 var(--royal),0 6px 0 var(--night-deep)}h1 em,h2 em{color:var(--gold-light);font-style:normal;text-shadow:0 3px 0 var(--red-dark),0 6px 0 var(--night-deep)}.lead{max-width:56ch;margin:0;color:#fff3d3db;font-size:clamp(1rem,1.7vw,1.14rem);line-height:1.65}.postcard-intro .lead{margin-right:auto;margin-left:auto}.local-note{display:inline-flex;align-items:flex-start;gap:10px;max-width:52ch;margin:24px auto 0;padding:10px 14px;color:var(--paper-muted);border:1px dashed rgba(255,226,138,.5);background:#04112c6b;font-family:Courier New,monospace;font-size:.76rem;line-height:1.5;text-align:left}.local-note svg{flex:0 0 auto;width:18px;height:18px;fill:var(--gold)}.postcard{position:relative;width:100%;color:var(--paper);border:2px solid var(--gold);border-radius:5px;background:linear-gradient(135deg,rgba(20,85,162,.34),transparent 35%),linear-gradient(160deg,var(--panel-raised),var(--panel) 62%,#04132e);box-shadow:0 0 0 6px #051a3db8,0 10px 0 var(--red-dark),0 20px 34px var(--shadow-hard)}.form-card{max-width:760px;margin-top:46px;padding:clamp(26px,5vw,52px)}.postcard:before,.postcard:after{position:absolute;z-index:1;width:22px;height:22px;border-color:var(--gold-light);pointer-events:none;content:""}.postcard:before{top:9px;left:9px;border-top:3px solid;border-left:3px solid}.postcard:after{right:9px;bottom:9px;border-right:3px solid;border-bottom:3px solid}.postcard-rule{width:100%;height:4px;margin-bottom:28px;background:repeating-linear-gradient(90deg,var(--gold) 0 12px,var(--red) 12px 18px,transparent 18px 28px);box-shadow:0 2px #020b2080}.card-heading{max-width:52ch}.card-heading h2{margin:11px 0 10px;color:var(--paper);font-size:clamp(1.65rem,4vw,2.55rem);letter-spacing:-.015em;line-height:1;text-shadow:2px 2px 0 var(--royal),4px 4px 0 var(--night-deep)}.card-heading p:last-child{margin:0;color:var(--paper-muted);font-size:.94rem;line-height:1.55}form{display:grid;gap:24px;margin-top:32px}.field-block{display:grid;gap:8px}label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:var(--paper);font-size:.94rem;font-weight:800;line-height:1.35}.field-count{color:var(--gold-light);font-family:Courier New,monospace;font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em;white-space:nowrap}.field-count[data-complete=true]{color:var(--green)}input{width:100%;min-height:56px;padding:12px 15px;color:var(--ink);border:3px solid var(--royal);border-radius:3px;outline:0;background:var(--paper);box-shadow:inset 0 -4px #07142629;color-scheme:light;font-size:1.05rem}input::placeholder{color:#64738a}input:hover{border-color:var(--gold)}input:focus{border-color:var(--gold-light);box-shadow:0 0 0 4px #f7b83247,inset 0 -4px #07142629}.field-hint{margin:0;color:var(--paper-muted);font-size:.8rem;line-height:1.45}.form-error{margin:-4px 0 0;color:var(--error);font-size:.92rem;line-height:1.5}.play-page #game-error{padding:14px 16px;color:var(--paper);border:2px solid var(--error);border-radius:3px;background:var(--error-bg);box-shadow:5px 5px 0 var(--night-deep);font-weight:800}.primary-button,.secondary-button,.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 18px;border:2px solid transparent;border-radius:4px;font-family:Arial Black,Impact,sans-serif;font-size:.86rem;font-weight:900;letter-spacing:.055em;line-height:1.2;text-align:center;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.primary-button{gap:13px;color:var(--ink);background:linear-gradient(180deg,var(--gold-light),var(--gold));box-shadow:5px 5px 0 var(--red)}.primary-button:hover:not(:disabled){color:var(--ink);background:var(--gold-light);box-shadow:7px 7px 0 var(--red)}.primary-button:active:not(:disabled){box-shadow:2px 2px 0 var(--red)}.primary-button:disabled{cursor:wait;opacity:.58}.secondary-button{gap:11px;color:var(--paper);border-color:var(--gold);background:#071b3d6b;box-shadow:4px 4px #020b20a6}.secondary-button:hover:not(:disabled){color:var(--ink);border-color:var(--gold-light);background:var(--gold-light);box-shadow:5px 5px 0 var(--red)}.secondary-button:disabled{cursor:wait;opacity:.58}.button-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:2.2}.primary-button .button-icon{fill:currentColor;stroke:none}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}.page-footer{display:flex;justify-content:space-between;gap:18px;margin-top:58px;color:#c9d9edad;font-family:Courier New,monospace;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.play-page{max-width:1180px}.play-page .site-header{margin-bottom:clamp(48px,8vh,82px)}.present-header{max-width:900px;margin:0 auto;text-align:center}.present-title{margin:16px 0 14px;font-size:clamp(2.45rem,6.5vw,5.2rem);line-height:.92;overflow-wrap:anywhere;white-space:normal}.title-line{display:block}.title-greeting{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.2em}.title-label{color:var(--paper)}.present-dad-name{margin-left:.12em;color:var(--gold-light)}.title-emphasis{color:var(--red);text-shadow:0 3px 0 var(--red-dark),0 6px 0 var(--night-deep)}.present-header .lead{margin:0 auto}.present-children-name{display:inline;padding:.04em .18em;color:var(--gold);font-weight:900;border:1px solid rgba(247,184,50,.55);border-radius:2px;background:#f7b8321f}.stage-heading{display:flex;align-items:center;gap:14px;width:min(100%,960px);margin:40px auto 15px;color:#fff3d3c7}.stage-heading p{flex:0 0 auto;margin:0;font-family:Courier New,monospace;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.stage-line{height:3px;flex:1 1 auto;background:linear-gradient(90deg,transparent,rgba(247,184,50,.7),transparent)}.emulator-frame{position:relative;width:min(100%,960px);aspect-ratio:4 / 3;min-height:0;margin:0 auto;overflow:hidden;border:4px solid var(--gold);border-radius:4px;background:linear-gradient(rgba(20,85,162,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(20,85,162,.12) 1px,transparent 1px),var(--night-deep);background-size:24px 24px;box-shadow:0 0 0 7px #071b3dcc,0 12px 0 var(--red-dark),0 26px 42px var(--shadow-hard)}.emulator-frame:before,.emulator-frame:after{position:absolute;z-index:2;width:16px;height:16px;border-color:var(--gold-light);pointer-events:none;content:""}.emulator-frame:before{top:12px;left:12px;border-top:3px solid;border-left:3px solid}.emulator-frame:after{right:12px;bottom:12px;border-right:3px solid;border-bottom:3px solid}.emulator-placeholder,.emulator-host{width:100%;height:100%;min-height:0}.emulator-placeholder{display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;color:var(--paper);background:radial-gradient(circle,rgba(20,85,162,.36),transparent 58%);text-align:center}.emulator-placeholder p{margin:0;font-family:Courier New,monospace;font-size:clamp(.96rem,1.8vw,1.18rem);font-weight:700;line-height:1.45}.pixel-seal{width:18px;height:18px;background:var(--gold);box-shadow:8px 0 0 var(--red),0 8px 0 var(--red),8px 8px 0 var(--gold-light);transform:rotate(45deg) scale(.72)}.action-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:14px;width:min(100%,960px);margin:30px auto 0}.action-row .primary-button,.action-row .secondary-button,.action-row .text-link{width:100%}.text-link{color:var(--paper);border-color:#fff3d375;background:#071b3d6b;box-shadow:4px 4px #020b20a6}.text-link:hover{color:var(--gold-light);border-color:var(--gold-light);background:#1455a261}.share-feedback{min-height:1.5em;margin:17px 0 0;color:var(--green);font-family:Courier New,monospace;font-size:.88rem;text-align:center}.invalid-present{max-width:760px;margin:clamp(44px,9vh,86px) auto 0;padding:clamp(28px,6vw,54px)}.invalid-present h1{color:var(--paper);font-size:clamp(2.4rem,6vw,4.6rem)}.invalid-present h1 em{color:var(--red)}.invalid-present .lead{color:var(--paper-muted)}.invalid-present .primary-button{width:min(100%,320px);margin-top:29px}#game-present[data-state=preparing] .emulator-frame{border-color:var(--royal-light)}#game-present[data-state=preparing] .pixel-seal{animation:pixel-pulse 1.4s steps(2,end) infinite}#game-present[data-state=ready] .emulator-frame{border-color:var(--gold)}#game-present[data-state=playing] .emulator-frame{border-color:var(--gold-light);box-shadow:0 0 0 7px #f7b83233,0 12px 0 var(--red-dark),0 26px 42px var(--shadow-hard)}#game-present[data-state=error] .emulator-frame{border-color:var(--red)}#game-present[data-state=error] .pixel-seal{background:var(--red);box-shadow:8px 0 0 var(--paper),0 8px 0 var(--paper),8px 8px 0 var(--red)}@keyframes pixel-pulse{0%,to{opacity:.55}50%{opacity:1}}@media(max-width:760px){.page-shell{width:min(calc(100% - 24px),1180px);padding-bottom:26px}.site-header{align-items:flex-start}.header-note{max-width:128px;text-align:right}.header-link{font-size:.7rem}.postcard-layout{margin-top:52px}h1{font-size:clamp(2.45rem,13vw,3.85rem)}.local-note{margin-top:20px}.form-card{margin-top:40px;padding:26px 19px}.card-heading h2{font-size:1.78rem}.primary-button,.secondary-button,.text-link{min-height:52px}.page-footer{align-items:flex-start;flex-direction:column;margin-top:44px;font-size:.58rem}.play-page .site-header{margin-bottom:44px}.present-title{margin-top:14px;font-size:clamp(2.12rem,11vw,3.65rem)}.title-greeting{gap:.16em}.present-dad-name{margin-left:.08em}.stage-heading{gap:9px;margin-top:31px}.stage-heading p{font-size:.64rem;text-align:center}.emulator-frame{box-shadow:0 0 0 4px #071b3dcc,0 9px 0 var(--red-dark),0 18px 28px var(--shadow-hard)}.action-row{grid-template-columns:1fr;width:100%;margin-top:24px}.invalid-present{margin-top:38px;padding:28px 20px}}@media(min-width:900px){.primary-button,.secondary-button,.text-link{min-height:56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
