:root{--navy:#17324d;--navy-deep:#0d1f30;--navy-soft:#245378;--sky:#8dd8f7;--sky-deep:#65b7dc;--sky-soft:#e7f6fc;--cloud:#fff;--yellow:#ffd34e;--yellow-soft:#ffe98e;--coral:#f28c70;--mint:#70c9b9;--grass:#72be63;--blue:#4c88c7;--paper:#f7fbfd;--card:#fffffff0;--ink:var(--navy);--muted:#587286;--line:3px solid var(--navy);--shadow:7px 7px 0 var(--navy);--shadow-soft:7px 7px 0 #17324d40;--pixel:"Courier New", "Microsoft YaHei", "PingFang SC", monospace;--body:"Trebuchet MS", "Microsoft YaHei", "PingFang SC", sans-serif;--fast:.18s ease}*{box-sizing:border-box}html{background:var(--sky-soft);scroll-behavior:smooth;min-width:320px}body{color:var(--ink);background:var(--sky-soft);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}.feedback-page{--feedback-blue:#224f91;--feedback-cyan:#7dd3f2;--feedback-ink:#17324d;--feedback-yellow:#ffd34e;--feedback-paper:#f8fcff;isolation:isolate;min-height:100vh;color:var(--feedback-ink);font-family:var(--body);background:radial-gradient(circle at 12% 18%,#ffffffdb 0 3px,#0000 4px) 0 0/56px 56px,radial-gradient(circle at 86% 30%,#ffd34ead 0 4px,#0000 5px) 0 0/74px 74px,linear-gradient(152deg,#dff5ff 0%,#94daf3 44%,#5eabd8 100%);position:relative;overflow:hidden}.feedback-page:before{content:"";z-index:-1;pointer-events:none;opacity:.32;background:linear-gradient(90deg,#0000 49.5%,#ffffff24 50%,#0000 50.5%) 0 0/36px 100%;position:fixed;inset:0}.feedback-header{z-index:3;color:#fff;border-bottom:4px solid var(--feedback-yellow);background:#0d1f30f0;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:15px clamp(18px,4vw,54px);display:flex;position:relative;box-shadow:0 5px #0d1f3033}.feedback-brand{color:#fff;align-items:baseline;gap:13px;min-width:0;text-decoration:none;display:flex}.feedback-brand strong{font:900 clamp(18px, 2.6vw, 25px)/1.2 var(--pixel);letter-spacing:.04em;white-space:nowrap}.feedback-brand span{color:var(--feedback-yellow);font:800 11px/1.2 var(--pixel);letter-spacing:.03em;white-space:nowrap}.feedback-form-shell,.feedback-history-shell,.feedback-detail-shell,.feedback-success-card,.feedback-error-card{z-index:1;border:3px solid var(--feedback-ink);width:min(940px,100% - 32px);box-shadow:10px 10px 0 var(--feedback-ink);background:#f8fcfff7;margin:clamp(30px,5vw,64px) auto 58px;position:relative}.feedback-form-shell:after,.feedback-history-shell:after,.feedback-detail-shell:after,.feedback-success-card:after{content:"";z-index:-1;pointer-events:none;border:2px solid #ffd34ecc;position:absolute;inset:10px -12px -12px 10px}.feedback-form-intro{color:#fff;background:var(--feedback-blue);border-bottom:3px solid var(--feedback-ink);justify-content:space-between;align-items:flex-end;gap:28px;padding:clamp(25px,4vw,42px);display:flex}.feedback-eyebrow{color:#236194;font:900 12px/1.4 var(--pixel);letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px}.feedback-form-intro .feedback-eyebrow{color:var(--feedback-yellow)}.feedback-form-intro h1,.feedback-history-shell h1,.feedback-detail-shell h1,.feedback-success-card h1,.feedback-error-card h1{font:900 clamp(29px, 5vw, 48px)/1.2 var(--pixel);letter-spacing:.02em;margin:0}.feedback-form-intro>div>p:last-child{color:#d9efff;margin:12px 0 0;font-size:16px}.feedback-form-intro>span{max-width:260px;color:var(--feedback-ink);background:var(--feedback-yellow);border:2px solid var(--feedback-ink);box-shadow:4px 4px 0 var(--feedback-ink);font:900 13px/1.45 var(--pixel);flex:none;padding:11px 14px}.feedback-form-intro>span i{font-style:normal}.feedback-form{padding:clamp(24px,4vw,44px)}.feedback-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px;display:grid}.feedback-field{align-content:start;gap:9px;min-width:0;display:grid}.feedback-field.is-wide{grid-column:1/-1}.feedback-field>span,.feedback-nps legend{color:var(--feedback-ink);font:900 16px/1.55 var(--body)}.feedback-field i,.feedback-nps i{color:#e05252;font-style:normal}.feedback-field input,.feedback-field select,.feedback-field textarea{width:100%;min-height:50px;color:var(--feedback-ink);font:700 16px/1.5 var(--body);transition:border-color var(--fast), box-shadow var(--fast), transform var(--fast);background:#fff;border:2px solid #7695ad;border-radius:0;outline:0;padding:12px 14px}.feedback-field textarea{resize:vertical;min-height:158px}.feedback-field input:focus,.feedback-field select:focus,.feedback-field textarea:focus{border-color:var(--feedback-blue);transform:translate(-1px,-1px);box-shadow:4px 4px #224f912e}.feedback-field small{color:#71808b;font-size:13px;line-height:1.55}.feedback-field .feedback-required-error,.feedback-nps .feedback-required-error{color:#d9363e;margin:0;font-size:14px;font-weight:800;line-height:1.45;display:block}.feedback-field input[aria-invalid=true],.feedback-field select[aria-invalid=true],.feedback-field textarea[aria-invalid=true],.feedback-nps[aria-invalid=true]{border-color:#d9363e}.feedback-nps{background:#eef8fd;border:2px solid #9db6c9;margin:30px 0;padding:24px}.feedback-nps legend{padding:0 9px}.feedback-nps>div{grid-template-columns:repeat(11,minmax(38px,1fr));gap:8px;display:grid}.feedback-nps label{cursor:pointer}.feedback-nps input{opacity:0;width:1px;height:1px;position:absolute}.feedback-nps label span{min-height:46px;color:var(--feedback-blue);font:900 15px/1 var(--pixel);transition:transform var(--fast), color var(--fast), background var(--fast), box-shadow var(--fast);background:#fff;border:2px solid #6d92b2;place-items:center;display:grid}.feedback-nps label:hover span{transform:translateY(-2px)}.feedback-nps label.is-selected span{color:var(--feedback-ink);background:var(--feedback-yellow);border-color:var(--feedback-ink);box-shadow:3px 3px 0 var(--feedback-ink)}.feedback-nps input:focus-visible+span{outline:4px solid var(--feedback-yellow);outline-offset:3px}.feedback-nps>p{color:#6e7f8d;justify-content:space-between;margin:10px 0 0;font-size:12px;font-weight:800;display:flex}.feedback-textarea{margin-top:4px}.feedback-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:30px;display:grid}.feedback-primary-button,.feedback-secondary-button,.feedback-outline-button{border:2px solid var(--feedback-ink);min-height:50px;font:900 15px/1.3 var(--pixel);transition:transform var(--fast), box-shadow var(--fast), opacity var(--fast);border-radius:0;padding:12px 20px}.feedback-primary-button{color:var(--feedback-ink);background:var(--feedback-yellow);box-shadow:5px 5px 0 var(--feedback-ink)}.feedback-secondary-button{color:#fff;background:var(--feedback-blue);box-shadow:5px 5px 0 var(--feedback-ink)}.feedback-outline-button{min-height:42px;color:var(--feedback-ink);box-shadow:4px 4px 0 var(--feedback-yellow);background:#fff;padding:9px 15px}.feedback-primary-button:hover:not(:disabled),.feedback-secondary-button:hover:not(:disabled),.feedback-outline-button:hover:not(:disabled){transform:translate(-2px,-2px)}.feedback-primary-button:active:not(:disabled),.feedback-secondary-button:active:not(:disabled),.feedback-outline-button:active:not(:disabled){box-shadow:1px 1px 0 var(--feedback-ink);transform:translate(2px,2px)}.feedback-primary-button:disabled,.feedback-secondary-button:disabled,.feedback-outline-button:disabled{cursor:wait;opacity:.58}.feedback-privacy-note{color:#778a98;text-align:center;margin:18px 0 0;font-size:12px}.feedback-footer{z-index:1;color:#0d1f30d1;text-align:center;padding:28px 20px 34px;font-size:12px;font-weight:700;position:relative}.feedback-footer p{margin:0 0 8px}.feedback-footer div{flex-wrap:wrap;justify-content:center;gap:8px 18px;display:flex}.feedback-footer a{color:inherit;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.feedback-footer img{width:16px;height:16px;image-rendering:pixelated}.feedback-toast{z-index:20;color:#fff;border:2px solid var(--feedback-yellow);text-align:center;opacity:0;pointer-events:none;background:#0d1f30f5;max-width:min(520px,100% - 32px);padding:13px 18px;font-weight:800;transition:opacity .18s,transform .18s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,18px);box-shadow:5px 5px #0d1f304d}.feedback-toast.is-visible{opacity:1;transform:translate(-50%)}.feedback-history-shell,.feedback-detail-shell,.feedback-success-card{padding:clamp(28px,5vw,54px)}.feedback-history-shell>p:not(.feedback-eyebrow){color:#657b8c;margin:12px 0 28px;font-weight:700}.feedback-history-list{gap:13px;display:grid}.feedback-history-list button{width:100%;color:var(--feedback-ink);text-align:left;transition:transform var(--fast), box-shadow var(--fast), border-color var(--fast);background:#fff;border:2px solid #8ba9bf;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.feedback-history-list button:hover{border-color:var(--feedback-blue);transform:translate(-2px,-2px);box-shadow:5px 5px #224f912e}.feedback-history-list button>span{color:#fff;background:var(--feedback-blue);width:42px;height:42px;font:900 13px/1 var(--pixel);place-items:center;display:grid}.feedback-history-list button div{gap:5px;display:grid}.feedback-history-list button strong{font-size:17px}.feedback-history-list button small{color:#718392;font-size:13px}.feedback-history-list button i{color:var(--feedback-blue);font:900 34px/1 var(--pixel)}.feedback-detail-shell dl{border-top:2px solid var(--feedback-ink);border-left:2px solid var(--feedback-ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:30px 0 0;display:grid}.feedback-detail-shell dl div{border-right:2px solid var(--feedback-ink);border-bottom:2px solid var(--feedback-ink);background:#fff;min-width:0;padding:18px}.feedback-detail-shell dl div.is-wide{grid-column:1/-1}.feedback-detail-shell dt{color:#6d8090;margin-bottom:7px;font-size:13px;font-weight:800}.feedback-detail-shell dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:16px;font-weight:800;line-height:1.75}.feedback-success-card{text-align:center}.feedback-success-seal{width:76px;height:76px;color:var(--feedback-ink);background:var(--feedback-yellow);border:3px solid var(--feedback-ink);box-shadow:6px 6px 0 var(--feedback-ink);font:900 36px/1 var(--pixel);border-radius:50%;place-items:center;margin:0 auto 22px;animation:.52s cubic-bezier(.2,.85,.28,1.35) both feedback-seal-in;display:grid}.feedback-success-copy{max-width:650px;margin:20px auto 28px;font-size:17px;line-height:1.9}.feedback-qr-card{border:3px solid var(--feedback-ink);background:#fff;width:min(330px,100%);margin:0 auto 28px;padding:20px;box-shadow:7px 7px #224f9138}.feedback-qr-card>img,.feedback-qr-empty{aspect-ratio:1;object-fit:contain;border:2px dashed #9aaeba;place-items:center;width:100%;display:grid}.feedback-qr-empty{color:#7c8b95;background:#f0f4f6}.feedback-qr-empty span{font:900 64px/1 var(--pixel)}.feedback-qr-empty p{margin:10px 0 0;font-weight:800}.feedback-qr-card>strong{margin:17px 0 4px;font-size:20px;display:block}.feedback-qr-card>span{color:#667b8b;font-size:13px;font-weight:700}.feedback-success-card>.feedback-primary-button{min-width:230px}.feedback-state-page{align-content:center;place-items:center;gap:16px;min-height:100vh;display:grid}.feedback-state-page>p{font:900 15px/1.4 var(--pixel)}.feedback-loading-mark{color:var(--feedback-yellow);font:900 58px/1 var(--pixel);text-shadow:4px 4px 0 var(--feedback-ink);animation:1.4s ease-in-out infinite feedback-pulse}.feedback-state-page .feedback-header{width:100%;position:absolute;inset:0 0 auto}.feedback-state-page .feedback-footer{width:100%;position:absolute;inset:auto 0 0}.feedback-error-card{text-align:center;width:min(600px,100% - 32px);padding:42px}.feedback-error-card>span{color:#fff;border:3px solid var(--feedback-ink);width:58px;height:58px;font:900 28px/1 var(--pixel);background:#e36a5c;border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.feedback-error-card p{color:#667b8b;margin:18px 0 0;font-size:16px;line-height:1.7}@keyframes feedback-seal-in{0%{opacity:0;transform:scale(.65)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes feedback-pulse{50%{opacity:.45;transform:scale(.86)}}@media (width<=680px){.feedback-header{min-height:68px;padding:13px 16px}.feedback-brand{gap:3px;display:grid}.feedback-brand strong{font-size:16px}.feedback-brand span{font-size:8px}.feedback-outline-button{min-height:38px;padding:8px 11px;font-size:11px}.feedback-form-shell,.feedback-history-shell,.feedback-detail-shell,.feedback-success-card,.feedback-error-card{width:calc(100% - 24px);box-shadow:6px 6px 0 var(--feedback-ink);margin-top:22px}.feedback-form-shell:after,.feedback-history-shell:after,.feedback-detail-shell:after,.feedback-success-card:after{display:none}.feedback-form-intro{align-items:start;padding:24px 20px;display:grid}.feedback-form-intro h1,.feedback-history-shell h1,.feedback-detail-shell h1,.feedback-success-card h1,.feedback-error-card h1{font-size:28px}.feedback-form-intro>div>p:last-child{font-size:14px}.feedback-form-intro>span{justify-self:start;font-size:10px}.feedback-form{padding:24px 18px 28px}.feedback-fields-grid{grid-template-columns:1fr;gap:21px}.feedback-field.is-wide{grid-column:auto}.feedback-field>span,.feedback-nps legend{font-size:15px}.feedback-field input,.feedback-field select,.feedback-field textarea{font-size:16px}.feedback-nps{margin:26px 0;padding:20px 12px 16px}.feedback-nps>div{grid-template-columns:repeat(6,minmax(38px,1fr));gap:7px}.feedback-nps label span{min-height:43px;font-size:13px}.feedback-form-actions{grid-template-columns:1fr}.feedback-primary-button,.feedback-secondary-button{font-size:14px}.feedback-history-shell,.feedback-detail-shell,.feedback-success-card{padding:28px 20px}.feedback-history-list button{grid-template-columns:40px 1fr auto;gap:11px;padding:13px 11px}.feedback-history-list button>span{width:36px;height:36px;font-size:11px}.feedback-history-list button strong{font-size:15px}.feedback-detail-shell dl{grid-template-columns:1fr}.feedback-detail-shell dl div.is-wide{grid-column:auto}.feedback-success-copy{font-size:15px}.feedback-footer{padding-inline:14px}.feedback-footer div{gap:8px;display:grid}}@media (prefers-reduced-motion:reduce){.feedback-success-seal,.feedback-loading-mark{animation:none}.feedback-page *{scroll-behavior:auto!important}}.qr-upload-page,.qr-dashboard-page{--feedback-blue:#1f568f;--feedback-ink:#17324d;--feedback-yellow:#ffd34e}.qr-upload-page{min-height:100svh}.qr-upload-shell{--feedback-blue:#1f568f;--feedback-ink:#17324d;--feedback-yellow:#ffd34e;z-index:1;width:min(620px,100% - 32px);color:var(--feedback-ink);border:3px solid var(--feedback-ink);box-shadow:10px 10px 0 var(--feedback-ink);background:#f8fcfffa;margin:clamp(30px,6vw,68px) auto 58px;position:relative;overflow:hidden}.qr-upload-intro{color:#fff;background:linear-gradient(135deg, #173f72 0%, var(--feedback-blue) 58%, #2d6ca6 100%);border-bottom:3px solid var(--feedback-ink);padding:clamp(26px,5vw,42px)}.qr-upload-intro .feedback-eyebrow{color:#fff0ad;text-shadow:1px 1px #0d1f30a6}.qr-upload-intro h1{color:#fff;font:900 clamp(29px, 6vw, 44px)/1.2 var(--pixel);text-shadow:2px 2px #0d1f3075;margin:0}.qr-upload-intro>p:last-child{color:#eff9ff;margin:13px 0 0;font-weight:700;line-height:1.75}.qr-upload-form{color:var(--feedback-ink);gap:26px;padding:clamp(24px,5vw,42px);display:grid}.qr-upload-form .feedback-field>span{color:var(--feedback-ink)}.qr-upload-form .feedback-field>small:not(.feedback-required-error){color:#5f7382}.qr-upload-image-field{gap:10px}.qr-upload-file-input{opacity:0;pointer-events:none;height:1px;position:absolute;width:1px!important}.qr-upload-picker{width:100%;min-height:220px;color:var(--feedback-ink);transition:transform var(--fast), border-color var(--fast), background var(--fast), box-shadow var(--fast);background:#edf8fd;border:2px dashed #6086a4;place-items:center;gap:10px;padding:20px;display:grid}.qr-upload-picker:hover{border-color:var(--feedback-blue);background:#fff;transform:translate(-1px,-1px);box-shadow:4px 4px #224f9129}.qr-upload-picker>span{color:var(--feedback-blue);font:900 54px/1 var(--pixel)}.qr-upload-picker>strong{font:900 15px/1.45 var(--pixel)}.qr-upload-picker>small{color:#5f7382;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.qr-upload-picker.has-image{min-height:300px}.qr-upload-picker img{object-fit:contain;background:#fff;width:min(230px,76%);max-height:230px;display:block}.qr-upload-submit{width:100%;min-height:54px;color:var(--feedback-ink);background:var(--feedback-yellow);border-color:var(--feedback-ink);box-shadow:5px 5px 0 var(--feedback-ink);font-size:17px}.qr-upload-form .feedback-privacy-note{color:#52697b;font-weight:700;line-height:1.65}.qr-upload-phone:disabled{color:#526878;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#526878;background:#e5e9ec;border-color:#718392}.qr-upload-session-state{text-align:center;justify-items:center;gap:16px;padding:clamp(34px,7vw,64px);display:grid}.qr-upload-session-state>strong{font:900 clamp(18px, 4vw, 26px)/1.4 var(--pixel)}.qr-upload-session-state>p{color:#526878;margin:0}.qr-upload-session-state .feedback-primary-button{place-items:center;text-decoration:none;display:inline-grid}.qr-dashboard-page .qr-upload-shell{margin-top:clamp(28px,5vw,56px)}@media (width<=680px){.qr-upload-shell{width:calc(100% - 24px);box-shadow:6px 6px 0 var(--feedback-ink);margin-top:22px}.qr-upload-intro{padding:25px 20px}.qr-upload-intro h1{font-size:28px}.qr-upload-intro>p:last-child{font-size:14px}.qr-upload-form{gap:22px;padding:24px 18px 28px}.qr-upload-picker{min-height:196px;padding:16px}.qr-upload-picker.has-image{min-height:268px}.qr-upload-picker img{max-height:200px}.qr-upload-submit{font-size:16px}}@media (prefers-reduced-motion:reduce){.qr-upload-picker{transition:none}}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.brand{color:#fff;align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-name{color:#fff;font:900 20px/1.2 var(--pixel);letter-spacing:.04em;text-shadow:2px 2px 0 var(--navy-deep);white-space:nowrap}.brand-name-en{color:var(--yellow);font:800 11px/1.2 var(--pixel);letter-spacing:.03em;white-space:nowrap}.login-page,.session-loading-page,.dashboard-page,.passport-reader-page{--scene-top:var(--sky-deep);--scene-mid:var(--sky);--scene-bottom:var(--sky-soft);isolation:isolate;background:linear-gradient(180deg, var(--scene-top), var(--scene-mid) 42%, var(--scene-bottom));min-height:100vh;transition:background .9s,color .6s;position:relative;overflow:hidden}.scene-dawn{--scene-top:#8dbbd5;--scene-mid:#b8d9e9;--scene-bottom:#eef6f8}.scene-morning{--scene-top:#58afe0;--scene-mid:#8fd3ef;--scene-bottom:#e3f6fc}.scene-noon{--scene-top:#248ed5;--scene-mid:#5dbcec;--scene-bottom:#d9f3ff}.scene-afternoon{--scene-top:#4d9ed4;--scene-mid:#7dc6e8;--scene-bottom:#d9eef7}.scene-evening{--scene-top:#665b9d;--scene-mid:#e48678;--scene-bottom:#ffd19b}.scene-night{--scene-top:#07152c;--scene-mid:#102b50;--scene-bottom:#183959}.login-page:before,.session-loading-page:before,.dashboard-page:before,.passport-reader-page:before{content:"";z-index:-2;pointer-events:none;opacity:.2;background-image:linear-gradient(90deg,#ffffff6b 1px,#0000 1px),linear-gradient(#ffffff57 1px,#0000 1px);background-size:48px 48px;animation:18s steps(12,end) infinite grid-drift;position:fixed;inset:0}.scene-evening:before{opacity:.13}.scene-night:before{opacity:.1}.time-sky{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.day-sky,.night-sky{opacity:0;transition:opacity .9s;position:absolute;inset:0}.scene-dawn .day-sky,.scene-morning .day-sky,.scene-noon .day-sky,.scene-afternoon .day-sky,.scene-evening .day-sky,.scene-night .night-sky{opacity:1}.scene-announcer{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pixel-sun{z-index:2;opacity:0;filter:drop-shadow(7px 7px #17324d29);width:76px;height:76px;transition:top .9s,right .9s,opacity .7s,scale .7s;animation:3.6s steps(3,end) infinite pixel-sun-float;position:absolute;top:clamp(120px,14vh,170px);bottom:auto;right:7vw}.scene-morning .pixel-sun,.scene-noon .pixel-sun,.scene-afternoon .pixel-sun,.scene-evening .pixel-sun{opacity:1}.scene-morning .pixel-sun{top:clamp(120px,14vh,170px);right:7vw;scale:.9}.scene-noon .pixel-sun{top:clamp(102px,11vh,138px);right:13vw;scale:1.06}.scene-afternoon .pixel-sun{top:55vh;right:8vw;scale:.92}.scene-evening .pixel-sun{filter:drop-shadow(0 0 20px #ffa44f8c);top:72vh;right:13vw;scale:1.12}.scene-evening .sun-core,.scene-evening .sun-ray{background:#ff9a55}.sun-core{background:var(--yellow);clip-path:polygon(25% 0,75% 0,75% 12%,88% 12%,88% 25%,100% 25%,100% 75%,88% 75%,88% 88%,75% 88%,75% 100%,25% 100%,25% 88%,12% 88%,12% 75%,0 75%,0 25%,12% 25%,12% 12%,25% 12%);display:block;position:absolute;inset:2px}.sun-ray{background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%);transform-origin:50%;width:14px;height:20px;animation:2.4s steps(2,end) infinite sun-ray-pulse;position:absolute}.sun-ray-1{top:-25px;left:31px}.sun-ray-2{animation-delay:.15s;top:-9px;right:-18px;transform:rotate(45deg)}.sun-ray-3{animation-delay:.3s;top:28px;right:-27px;transform:rotate(90deg)}.sun-ray-4{animation-delay:.45s;bottom:-11px;right:-18px;transform:rotate(135deg)}.sun-ray-5{animation-delay:.6s;bottom:-26px;left:31px;transform:rotate(180deg)}.sun-ray-6{animation-delay:.75s;bottom:-11px;left:-18px;transform:rotate(225deg)}.sun-ray-7{animation-delay:.9s;top:28px;left:-27px;transform:rotate(270deg)}.sun-ray-8{animation-delay:1.05s;top:-9px;left:-18px;transform:rotate(315deg)}.pixel-cloud{--cloud-tone:#ffffffeb;z-index:3;opacity:0;background:var(--cloud-tone);width:86px;height:26px;box-shadow:16px -14px 0 var(--cloud-tone), 38px -22px 0 var(--cloud-tone), 60px -10px 0 var(--cloud-tone), 78px 0 0 var(--cloud-tone);animation:31s linear infinite cloud-cross;position:absolute;left:-150px}.cloud-one{top:20%}.cloud-two{opacity:.62;animation-duration:39s;animation-delay:-17s;top:47%;transform:scale(.72)}.cloud-three{opacity:.46;animation-duration:46s;animation-delay:-29s;top:72%;transform:scale(1.08)}.scene-dawn .pixel-cloud{--cloud-tone:#f2f8fac7;opacity:.55}.scene-morning .pixel-cloud{opacity:.82}.scene-afternoon .pixel-cloud{--cloud-tone:#ffffffbd;opacity:.56}.scene-evening .pixel-cloud{--cloud-tone:#ffceb9b3;opacity:.62}.scene-noon .pixel-cloud{opacity:0}.dawn-glow,.evening-horizon{opacity:0;transition:opacity .9s;position:absolute;inset:0}.dawn-glow{z-index:1;background:radial-gradient(circle at 18% 74%,#fff7c485 0 5%,#0000 18%),linear-gradient(#0000 45%,#ffecc43d);animation:5.6s steps(4,end) infinite dawn-breathe}.scene-dawn .dawn-glow{opacity:1}.evening-horizon{z-index:1;background:linear-gradient(#0000,#ffb37742 42%,#6f457133),repeating-linear-gradient(90deg,#0000 0 42px,#ffe7bd21 42px 48px);top:58%}.scene-evening .evening-horizon{opacity:1}.pixel-birds{z-index:4;opacity:0;transition:opacity .6s;position:absolute;inset:0}.scene-dawn .pixel-birds,.scene-morning .pixel-birds{opacity:.78}.pixel-birds i{background:#274963;width:8px;height:4px;animation:18s linear infinite bird-cross,1.1s steps(2,end) infinite bird-wing;position:absolute;top:25%;left:-50px;box-shadow:8px -4px #274963,16px 0 #274963}.pixel-birds i:nth-child(2){animation-duration:23s,1.25s;animation-delay:-8s,.2s;top:36%;scale:.72}.pixel-birds i:nth-child(3){animation-duration:29s,1.4s;animation-delay:-17s,.4s;top:18%;scale:.56}.pixel-plane{z-index:4;opacity:0;clip-path:polygon(0 35%,68% 35%,84% 0,93% 0,88% 35%,100% 48%,100% 70%,64% 70%,48% 100%,34% 100%,43% 70%,0 70%);background:#f8fcff;border:2px solid #17324d85;width:78px;height:14px;position:absolute;top:27%;left:-120px;box-shadow:7px 7px #17324d21}.pixel-plane i{background:repeating-linear-gradient(90deg,#ffffffb8 0 7px,#0000 7px 12px);width:48px;height:3px;position:absolute;top:2px;right:-60px}.scene-noon .pixel-plane{opacity:.9;animation:22s linear infinite plane-cross}.scene-afternoon .pixel-plane{opacity:.78;animation:26s linear -9s infinite plane-cross;top:31%}.pixel-moon{clip-path:polygon(25% 0,75% 0,75% 10%,88% 10%,88% 25%,100% 25%,100% 75%,88% 75%,88% 88%,75% 88%,75% 100%,25% 100%,25% 88%,12% 88%,12% 75%,0 75%,0 25%,12% 25%,12% 10%,25% 10%);filter:drop-shadow(0 0 12px #ffe68857);background:#ffe688;width:78px;height:78px;animation:5.2s steps(4,end) infinite moon-hover;position:absolute;top:clamp(120px,14vh,170px);right:8vw;overflow:hidden}.pixel-moon:after{content:"";width:70px;height:70px;clip-path:inherit;background:#0a1d39;position:absolute;top:-12px;right:-14px}.pixel-stars span{background:#fff6bf;width:5px;height:5px;animation:2.8s steps(2,end) infinite star-twinkle;position:absolute;box-shadow:5px 0 #fff6bfb8,-5px 0 #fff6bfb8,0 5px #fff6bfb8,0 -5px #fff6bfb8}.pixel-stars span:first-child{top:18%;left:7%}.pixel-stars span:nth-child(2){animation-delay:.4s;top:38%;left:18%;transform:scale(.7)}.pixel-stars span:nth-child(3){animation-delay:1.2s;top:14%;left:29%}.pixel-stars span:nth-child(4){animation-delay:.8s;top:30%;left:41%;transform:scale(.6)}.pixel-stars span:nth-child(5){animation-delay:1.7s;top:12%;left:54%}.pixel-stars span:nth-child(6){animation-delay:.25s;top:41%;left:66%;transform:scale(.72)}.pixel-stars span:nth-child(7){animation-delay:1.05s;top:25%;left:77%}.pixel-stars span:nth-child(8){animation-delay:1.9s;top:46%;left:91%;transform:scale(.65)}.pixel-stars span:nth-child(9){animation-delay:1.45s;top:73%;left:11%;transform:scale(.65)}.pixel-stars span:nth-child(10){animation-delay:.65s;top:67%;left:35%}.pixel-stars span:nth-child(11){animation-delay:2.1s;top:78%;left:63%;transform:scale(.72)}.pixel-stars span:nth-child(12){animation-delay:.95s;top:70%;left:86%}.pixel-meteors i{opacity:0;background:repeating-linear-gradient(90deg,#0000 0 8px,#d9f1ff 8px 20px);width:112px;height:4px;animation:9s steps(16,end) infinite meteor-fall;position:absolute;top:-12vh;right:-18vw;transform:rotate(-34deg);box-shadow:10px 4px #d9f1ff3d}.pixel-meteors i:nth-child(2){width:78px;animation-delay:3.1s;top:7vh}.pixel-meteors i:nth-child(3){width:96px;animation-delay:6.4s;top:30vh}.scene-night .dashboard-hero{color:#f5fbff}.scene-night .dashboard-hero .overline{color:#9fdcff}.scene-night .dashboard-hero>div>p:last-child{color:#d8ecff}.scene-night .login-panel:before{display:none}.scene-evening .dashboard-hero{color:#fff9ef;text-shadow:3px 3px #402b5473}.scene-evening .dashboard-hero .overline{color:#ffe4a9}.scene-evening .dashboard-hero>div>p:last-child{color:#fff3df}.session-loading-page{grid-template-rows:auto 1fr;display:grid}.session-loading-card{color:var(--navy);border:3px solid var(--navy);box-shadow:7px 7px 0 var(--navy);background:#fff;place-self:center;align-items:center;gap:12px;margin:24px;padding:20px 24px;display:flex}.session-loading-card span{color:var(--coral);font-size:22px;animation:1.8s ease-in-out infinite status-pulse}.session-loading-card p{font:900 12px/1.4 var(--pixel);margin:0}.login-header,.dashboard-header{z-index:30;color:#fff;background:var(--navy);border-bottom:6px solid var(--yellow);justify-content:space-between;align-items:center;gap:22px;min-height:82px;padding:12px max(24px,50vw - 590px);animation:.52s cubic-bezier(.2,.8,.2,1) both header-drop;display:flex;position:relative;box-shadow:0 5px #0d1f302e}.dashboard-header{position:sticky;top:0}.header-tag{color:var(--yellow);font:900 11px/1 var(--pixel);letter-spacing:.16em}.header-actions,.passport-reader-actions{align-items:center;gap:12px;display:flex}.login-header .leaderboard-link,.passport-reader-header .leaderboard-link{min-height:40px;color:var(--navy);background:var(--yellow);border:2px solid var(--navy-deep);font:900 13px/1 var(--pixel);transition:transform var(--fast), background var(--fast);border-bottom-width:5px;align-items:center;padding:8px 13px;text-decoration:none;display:inline-flex}.login-header .leaderboard-link:hover,.passport-reader-header .leaderboard-link:hover{background:#fff;transform:translateY(-2px)}.login-grid{z-index:1;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);grid-template-areas:"panel visual";align-items:center;gap:36px;width:min(1180px,100%);min-height:calc(100vh - 82px);margin:0 auto;padding:44px 42px 62px;display:grid;position:relative}.login-visual{background:var(--navy-deep);border:4px solid var(--navy);min-width:0;min-height:520px;box-shadow:10px 10px 0 var(--navy);grid-area:visual;align-self:stretch;animation:.72s cubic-bezier(.2,.8,.2,1) 80ms both panel-enter-right;position:relative;overflow:hidden}.login-visual:before{content:"";z-index:3;pointer-events:none;border:2px solid #8dd8f79e;position:absolute;inset:10px}.login-visual:after{content:"";z-index:1;pointer-events:none;opacity:.2;background:radial-gradient(circle at 24% 22%,#ffd34e47,#0000 34%),radial-gradient(circle at 78% 76%,#70c9b933,#0000 38%);animation:10s ease-in-out infinite alternate visual-ambient;position:absolute;inset:0;transform:scale(1.02)translate(-1%)}.login-visual>img{object-fit:cover;object-position:center;filter:saturate(.88)contrast(1.06);width:100%;height:100%;min-height:520px;animation:11s ease-in-out infinite alternate visual-drift;display:block}.visual-overlay{background:linear-gradient(90deg,#0d1f30d1,#0d1f3042 70%),linear-gradient(#0000 45%,#0d1f30eb);position:absolute;inset:0}.visual-copy{z-index:2;max-width:610px;position:absolute;top:14%;left:clamp(28px,4vw,58px);right:36px}.overline,.card-kicker{color:var(--blue);font:900 11px/1.2 var(--pixel);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px}.visual-copy .overline{color:var(--navy);background:var(--yellow);border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);padding:7px 10px;animation:.5s steps(4,end) .55s both pixel-label-pop;display:inline-block}.visual-copy h1{color:#fff;font:900 clamp(36px, 4.4vw, 60px)/1.17 var(--pixel);letter-spacing:-.055em;text-shadow:4px 4px 0 var(--navy-deep);margin:0;animation:.62s cubic-bezier(.2,.8,.2,1) .28s both copy-rise}.visual-copy h1 em{color:var(--yellow);background-image:linear-gradient(#0000 76%,#70c9b9c7 76%);background-repeat:no-repeat;background-size:0 100%;font-style:normal;animation:.9s cubic-bezier(.2,.8,.2,1) 1s forwards evidence-mark;display:inline-block}.visual-copy>p:last-child{width:fit-content;color:var(--sky-soft);border-left:5px solid var(--mint);font:700 12px/1.5 var(--pixel);letter-spacing:.08em;background:#0d1f30cc;margin:26px 0 0;padding:8px 11px;animation:.58s cubic-bezier(.2,.8,.2,1) .48s both copy-rise}.growth-path{z-index:2;align-items:center;gap:11px;animation:.62s cubic-bezier(.2,.8,.2,1) .65s both copy-rise;display:flex;position:absolute;bottom:42px;left:clamp(28px,4vw,58px);right:34px}.growth-path span{color:#fff;min-width:0;font:900 11px/1.35 var(--pixel);white-space:nowrap;gap:5px;display:grid}.growth-path b{color:var(--yellow);letter-spacing:.12em;font-size:10px;animation:3s step-end infinite step-blink}.growth-path span:nth-of-type(2) b{animation-delay:1s}.growth-path span:nth-of-type(3) b{animation-delay:2s}.growth-path i{background:linear-gradient(90deg, var(--yellow), var(--sky), #fff, var(--yellow));background-size:240% 100%;flex:1;min-width:18px;height:3px;animation:2.8s linear infinite route-flow}.login-panel{grid-area:panel;align-items:center;min-width:0;animation:.68s cubic-bezier(.2,.8,.2,1) both panel-enter-left;display:grid;position:relative}.login-panel:before{content:"";opacity:.7;border:3px solid var(--navy);clip-path:polygon(0 30%,16% 30%,16% 8%,39% 8%,39% 0,65% 0,65% 18%,82% 18%,82% 32%,100% 32%,100% 100%,0 100%);background:#fff;width:118px;height:34px;position:absolute;top:-70px;left:-28px;box-shadow:7px 7px #4c88c74d}.login-card{width:min(100%,410px);color:var(--navy);background:var(--card);border:4px solid var(--navy);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px}.login-card h2{font:900 clamp(25px, 2.7vw, 34px)/1.12 var(--pixel);letter-spacing:-.05em;margin:0;animation:.5s cubic-bezier(.2,.8,.2,1) .22s both copy-rise}.login-card form{gap:17px;animation:.5s cubic-bezier(.2,.8,.2,1) .38s both copy-rise;display:grid}.login-card label{color:var(--navy);font:900 12px/1.3 var(--pixel);gap:8px;display:grid}.login-card input{width:100%;height:50px;color:var(--navy);border:3px solid var(--navy);font-family:var(--body);transition:transform var(--fast), box-shadow var(--fast), background var(--fast);background:#fff;border-radius:0;outline:0;padding:0 13px;box-shadow:inset 4px 4px #17324d14}.login-card input::placeholder{color:#8294a3}.login-card input:focus{background:var(--sky-soft);box-shadow:inset 4px 4px 0 #4c88c729, 4px 4px 0 var(--blue);transform:translate(-2px,-2px)}.form-helper{color:#6b7f90;justify-content:space-between;gap:12px;margin-top:-4px;font-size:10px;display:flex}.form-helper button{color:var(--blue);border:0;border-bottom:2px solid var(--blue);background:0 0;padding:0 0 2px;font-weight:800}.form-helper button:hover{color:var(--navy);border-color:var(--navy)}.login-submit{min-height:54px;color:var(--yellow);background:var(--navy);border:3px solid var(--navy);box-shadow:5px 5px 0 var(--navy-deep);font:900 12px/1 var(--pixel);transition:transform var(--fast), box-shadow var(--fast);border-bottom-width:7px;border-radius:0;justify-content:space-between;align-items:center;margin-top:4px;padding:0 18px;display:flex}.login-submit:hover{box-shadow:7px 8px 0 var(--navy-deep);transform:translateY(-3px)}.login-submit:active{box-shadow:3px 3px 0 var(--navy-deep);transform:translateY(2px)}.login-submit:disabled{cursor:wait;opacity:.65;transform:none}.login-submit b{font-size:20px}.login-submit:not(:disabled) b{animation:1.5s steps(2,end) infinite arrow-nudge}.privacy-strip{color:#657b8c;align-items:center;gap:9px;margin-top:23px;font-size:10px;line-height:1.6;animation:.5s cubic-bezier(.2,.8,.2,1) .46s both copy-rise;display:flex}.privacy-strip span{width:22px;height:22px;color:var(--navy);background:var(--mint);border:2px solid var(--navy);font:900 11px/1 var(--pixel);flex:none;place-items:center;display:grid}.toast{z-index:100;color:#fff;background:var(--navy);border:3px solid var(--yellow);min-width:250px;max-width:calc(100vw - 32px);box-shadow:6px 6px 0 var(--navy-deep);font:700 12px/1.5 var(--pixel);align-items:center;gap:10px;padding:13px 16px;animation:.22s ease-out toast-in;display:flex;position:fixed;top:28px;left:50%;transform:translate(-50%)}.toast span{width:22px;height:22px;color:var(--navy);background:var(--coral);border:2px solid #fff;place-items:center;font-weight:900;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d1f30d1;place-items:center;padding:20px;animation:.2s ease-out both backdrop-in;display:grid;position:fixed;inset:0}.modal{width:min(430px,100%);color:var(--navy);text-align:center;background:var(--sky-soft);border:5px solid var(--navy);box-shadow:10px 10px 0 var(--navy-deep);border-radius:0;padding:34px;animation:.3s cubic-bezier(.2,.8,.2,1) both modal-pop}.modal-mark{width:48px;height:48px;color:var(--navy);background:var(--yellow);border:3px solid var(--navy);box-shadow:4px 4px 0 var(--navy);place-items:center;margin:0 auto 16px;display:grid}.modal h2{font:900 22px/1.2 var(--pixel);margin:0}.modal-copy{color:var(--muted);margin:12px 0 24px;font-size:14px;line-height:1.8}.modal-copy p{margin:0}.modal-actions{justify-content:center;gap:12px;display:flex}.button{min-width:112px;min-height:44px;color:var(--navy);border:3px solid var(--navy);box-shadow:4px 4px 0 var(--navy);font:900 11px/1 var(--pixel);border-radius:0;padding:8px 14px}.button:hover{transform:translateY(-2px)}.button-ghost{background:#fff}.button-primary{background:var(--yellow)}.dashboard-header nav{align-items:center;gap:10px;display:flex}.dashboard-header nav a,.dashboard-header nav button{color:#fff;background:var(--navy-soft);border:2px solid var(--sky);min-height:40px;font:900 10px/1 var(--pixel);transition:transform var(--fast), background var(--fast), color var(--fast);border-bottom-width:5px;border-radius:0;align-items:center;gap:7px;padding:8px 13px;text-decoration:none;display:inline-flex}.dashboard-header nav .leaderboard-link{color:var(--navy);background:var(--yellow);border-color:var(--sky);font-size:15px}.dashboard-header nav .leaderboard-link:hover,.dashboard-header nav button:hover{color:var(--navy);background:var(--sky);transform:translateY(-2px)}.dashboard-hero{z-index:1;width:min(1180px,100% - 48px);color:var(--navy);border-bottom:4px solid var(--navy);justify-content:flex-start;align-items:end;gap:30px;margin:0 auto;padding:48px 0 30px;animation:.62s cubic-bezier(.2,.8,.2,1) 80ms both copy-rise;display:flex;position:relative}.dashboard-hero:after{content:"";background:var(--yellow);border:2px solid var(--navy);width:132px;height:8px;box-shadow:4px 4px 0 var(--navy);transform-origin:0;animation:.62s steps(6,end) .5s both line-grow;position:absolute;bottom:-12px;left:0}.dashboard-hero .overline{color:var(--blue);margin-bottom:9px}.dashboard-hero h1{font:900 clamp(38px, 5vw, 60px)/1 var(--pixel);letter-spacing:-.06em;text-shadow:3px 3px #ffffffa3;margin:0}.dashboard-hero>div>p:last-child{color:#38576f;margin:14px 0 0;font-weight:700}.dashboard-layout{z-index:1;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:28px;width:min(1180px,100% - 48px);margin:42px auto 76px;display:grid;position:relative}.profile-card,.archive-card,.phase-tabs{background:var(--card);border:var(--line);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-column{gap:14px;min-width:0;display:grid;position:sticky;top:112px}.profile-card{padding:24px;animation:.62s cubic-bezier(.2,.8,.2,1) .18s both card-enter}.profile-card:before{content:"";background:repeating-linear-gradient(90deg, var(--yellow) 0 28px, var(--navy) 28px 38px);border-bottom:3px solid var(--navy);height:9px;margin:-24px -24px 20px;display:block}.profile-card-top{align-items:stretch;gap:18px;display:flex}.profile-avatar{aspect-ratio:3/4;color:#fff;background:linear-gradient(145deg, var(--navy-soft), var(--coral));border:4px solid var(--navy);width:104px;box-shadow:6px 6px 0 var(--navy);border-radius:0;flex:0 0 104px;place-items:center;display:grid;position:relative;overflow:hidden}.profile-avatar:after{content:"";pointer-events:none;border:2px solid #ffffffc7;position:absolute;inset:7px}.profile-avatar img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.profile-avatar span{font:900 24px/1 var(--pixel);letter-spacing:.04em}.profile-avatar i{z-index:2;background:var(--grass);border:3px solid #fff;width:18px;height:18px;animation:2s steps(2,end) infinite status-pulse;position:absolute;bottom:5px;right:5px}.profile-card-info{flex-direction:column;flex:1;min-width:0;display:flex}.profile-info-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.profile-card .welcome{color:var(--blue);font:900 9px/1 var(--pixel);margin:3px 0 7px}.profile-name-row{justify-content:space-between;align-items:flex-start;gap:7px;margin-bottom:14px;display:flex}.profile-card h2{min-width:0;font:900 27px/1.12 var(--pixel);letter-spacing:-.04em;overflow-wrap:anywhere;margin:0}.profile-qr-entry{color:#fff;background:var(--blue);border:2px solid var(--navy);max-width:112px;box-shadow:3px 3px 0 var(--navy);font:900 10px/1.35 var(--pixel);text-align:center;flex:none;justify-items:center;gap:5px;padding:8px 9px 7px;display:grid}.profile-qr-entry:hover{background:var(--navy);transform:translate(-1px,-1px)}.profile-qr-entry small{color:var(--navy);font:900 9px/1 var(--pixel);background:#fff;padding:3px 5px}.profile-qr-entry small.is-uploaded{color:#16753d;background:#dbf8e7}.profile-qr-entry small.is-missing{color:#a13e32;background:#fff0ec}.profile-qr-entry-mobile{display:none}.profile-qr-entry-desktop{text-align:left;grid-template-columns:minmax(0,1fr) auto;place-items:center start;gap:12px;width:100%;max-width:none;min-height:52px;margin-top:18px;padding:11px 13px;font-size:13px}.profile-qr-entry-desktop small{justify-self:end;font-size:10px}.profile-card dl{gap:8px;margin:0;display:grid}.profile-card dl div{border-left:4px solid var(--blue);background:#e7f6fcbd;min-width:0;padding:9px 10px;box-shadow:3px 3px #17324d21}.profile-card dt{color:var(--blue);font:900 8px/1 var(--pixel)}.profile-card dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;font-weight:800;line-height:1.4}.archive-column{gap:22px;min-width:0;display:grid}.theater-feedback-share{border:3px solid var(--navy);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:6px 6px #17324d33}.theater-feedback-copy-button,.theater-feedback-copy-hint{box-shadow:none;cursor:copy;border:0}.theater-feedback-copy-button{color:#fff;background:var(--navy);min-height:40px;font:900 16px/1.25 var(--pixel);flex:auto;padding:10px 18px}.theater-feedback-copy-button:hover,.theater-feedback-copy-button:focus-visible{background:var(--blue)}.theater-feedback-copy-hint{color:var(--navy);text-underline-offset:3px;background:0 0;flex:none;padding:2px 8px;font-size:14px;font-weight:800;line-height:1.4;text-decoration:underline}.theater-feedback-copy-button:focus-visible,.theater-feedback-copy-hint:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.phase-tabs{justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:12px 16px 12px 20px;animation:.58s cubic-bezier(.2,.8,.2,1) .28s both card-enter;display:flex}.phase-tabs>span{font:900 13px/1 var(--pixel)}.phase-tabs>div{background:var(--sky-soft);border:2px solid var(--navy);gap:5px;padding:4px;display:flex}.phase-tabs button{color:#687c8e;min-width:66px;height:40px;font:900 14px/1 var(--pixel);transition:transform var(--fast), color var(--fast), background var(--fast), border-color var(--fast);background:#fff;border:0;border-bottom:4px solid #b7cbd6;border-radius:0}.phase-tabs button:hover{color:var(--navy);background:var(--yellow-soft);transform:translateY(-2px)}.phase-tabs button.active{color:var(--yellow);background:var(--navy);border-color:var(--navy-deep)}.camp-ticket{aspect-ratio:1894/774;border:solid var(--navy);width:100%;min-height:0;box-shadow:8px 8px 0 var(--navy);transform-origin:50%;transition:transform var(--fast), box-shadow var(--fast);background:#fff;border-width:3px 3px 0;border-radius:0;animation:.62s cubic-bezier(.2,.8,.2,1) .38s both card-enter;display:block;position:relative;overflow:hidden;container-type:inline-size}.camp-ticket:hover{box-shadow:11px 11px 0 var(--navy);transform:translate(-2px,-2px)rotate(-.12deg)}.camp-ticket-placeholder{background:#edf1ed}.ticket-placeholder-art{width:100%;height:100%;color:var(--navy);background:linear-gradient(135deg,#0b2a3a0f 25%,#0000 25%) 0 0/22px 22px,linear-gradient(315deg,#0b2a3a0b 25%,#0000 25%) 0 0/22px 22px,#edf1ed;grid-template-columns:24% minmax(0,1fr) 20%;align-items:center;display:grid;position:relative;overflow:hidden}.ticket-placeholder-art:before{content:"";pointer-events:none;border:clamp(2px,.22cqw,4px) dashed #0b2a3a70;position:absolute;inset:8%}.ticket-placeholder-art:after{content:"";pointer-events:none;border-left:clamp(2px,.22cqw,4px) dashed #0b2a3a5c;position:absolute;top:0;bottom:0;left:24%}.ticket-placeholder-stub,.ticket-placeholder-code{z-index:1;font:900 clamp(8px, 1.35cqw, 18px)/1 var(--pixel);letter-spacing:.12em;color:#0b2a3a9e;justify-self:center;position:relative}.ticket-placeholder-stub{transform:rotate(-90deg)}.ticket-placeholder-copy{z-index:1;text-align:center;justify-items:center;gap:clamp(8px,1.2cqw,18px);padding:0 4%;display:grid;position:relative}.ticket-placeholder-copy p,.ticket-placeholder-copy strong{margin:0}.ticket-placeholder-copy p{font:900 clamp(8px, 1.2cqw, 16px)/1 var(--pixel);letter-spacing:.08em;color:#0b2a3a94}.ticket-placeholder-copy strong{font:900 clamp(15px, 3.1cqw, 42px)/1.3 var(--display);color:var(--navy)}.ticket-placeholder-code{letter-spacing:.18em}.ticket-background{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.ticket-ambient{z-index:4;pointer-events:none;width:100%;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.ticket-ambient:after{content:"";mix-blend-mode:screen;background:linear-gradient(108deg,#0000 40%,#ffffff0a 45%,#ffffff3d 49%,#ff99331a 52%,#0000 59%);animation:7.6s ease-in-out 1.2s infinite ticket-full-scan;position:absolute;inset:-18% -28%;transform:translate(-86%)}.ticket-wing{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.ticket-wing-left{width:27.5%;left:0}.ticket-wing-right{width:25%;right:0}.ticket-wing:after{content:"";aspect-ratio:1;opacity:.38;filter:drop-shadow(0 0 clamp(2px,.35cqw,5px) #ff80004d);width:12%;animation:3.8s ease-in-out 1.8s infinite ticket-corner-pulse;position:absolute}.ticket-wing-left:after{border-bottom:clamp(1px,.16cqw,3px) solid #ff8000d1;border-left:clamp(1px,.16cqw,3px) solid #ff8000d1;bottom:9%;left:6.5%}.ticket-wing-right:after{border-top:clamp(1px,.16cqw,3px) solid #ff8000d1;border-left:clamp(1px,.16cqw,3px) solid #ff8000d1;animation-delay:2.65s;top:9%;left:8%}.ticket-right-decor{z-index:3;pointer-events:none;width:12.8%;height:84.5%;position:absolute;top:7.5%;left:77.2%}.ticket-right-decor:before,.ticket-right-decor:after{content:"";opacity:.68;background:repeating-linear-gradient(90deg,#ff8000e6 0 12%,#0000 12% 22%);height:clamp(2px,.23cqw,4px);animation:4.6s steps(4,end) infinite ticket-pixel-drift;position:absolute}.ticket-right-decor:before{width:42%;top:0;left:17%}.ticket-right-decor:after{width:55%;animation-delay:1.35s;bottom:0;right:8%}.ticket-right-decor i{aspect-ratio:1;background:#ff8000;width:clamp(3px,.48cqw,7px);animation:3.2s steps(2,end) infinite ticket-pixel-pop;display:block;position:absolute;box-shadow:clamp(2px,.35cqw,5px) 0 #ff80003d}.ticket-right-decor i:first-child{top:1.5%;right:8%}.ticket-right-decor i:nth-child(2){animation-delay:.9s;bottom:1.5%;right:0}.ticket-right-decor i:nth-child(3){animation-delay:1.8s;bottom:1.5%;left:3%}.ticket-field{z-index:3;text-align:center;color:#080808;pointer-events:none;justify-content:center;align-items:center;animation:.72s cubic-bezier(.2,.85,.2,1) .72s both ticket-field-in;display:flex;position:absolute}.ticket-field span{white-space:nowrap;text-overflow:clip;width:100%;max-width:none;display:block;overflow:visible}.ticket-field-role{background:#fff;width:23.2%;height:36.5%;padding:0 .9%;top:24.8%;left:2.2%}.ticket-field-role span{font:900 clamp(12px, 5cqw, 64px)/1.04 var(--pixel);letter-spacing:.02em;text-shadow:clamp(1px,.18cqw,3px) clamp(1px,.18cqw,3px) #00000024;transform-origin:50%;animation:4.8s ease-in-out 1.65s infinite ticket-role-breathe}.ticket-field-role.is-medium span{font-size:clamp(9px,3.7cqw,49px)}.ticket-field-role.is-long span{font-size:clamp(7px,2.85cqw,38px)}.ticket-field-role.is-xlong span{letter-spacing:0;font-size:clamp(6px,2.25cqw,30px)}.ticket-field-name{background:#fffffff7;width:20.6%;height:45%;padding:0 .8%;animation-delay:.9s;top:24.5%;left:77.1%}.ticket-field-name span{height:100%;font:900 clamp(11px, 3.55cqw, 46px)/1 var(--pixel);letter-spacing:.05em;text-shadow:clamp(1px,.12cqw,2px) clamp(1px,.12cqw,2px) #0000001a;transform-origin:50%;justify-content:center;align-items:center;animation:4.2s ease-in-out 1.85s infinite ticket-name-float;display:flex}.ticket-field-name.is-medium span{font-size:clamp(9px,2.8cqw,37px)}.ticket-field-name.is-long span{letter-spacing:.02em;font-size:clamp(7px,2.2cqw,30px)}.ticket-field-name.is-xlong span{letter-spacing:0;font-size:clamp(6px,1.75cqw,24px)}.archive-card{padding:26px;animation:.62s cubic-bezier(.2,.8,.2,1) .48s both card-enter}.section-heading{border-bottom:3px solid var(--navy);justify-content:space-between;align-items:end;gap:20px;padding-bottom:19px;display:flex}.section-heading .card-kicker{margin-bottom:8px}.section-heading h2{font:900 23px/1.1 var(--pixel);margin:0}.passport-total{color:var(--navy);background:var(--mint);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);font:900 10px/1 var(--pixel);padding:7px 10px}.passport-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.passport-card{border:3px solid var(--navy);opacity:0;min-width:0;transition:transform var(--fast), box-shadow var(--fast), background var(--fast);background:#ffffffe0;flex-direction:column;align-items:center;padding:13px 9px 15px;animation:.58s cubic-bezier(.2,.8,.2,1) forwards passport-card-arrive;display:flex;position:relative;box-shadow:6px 6px #17324d40}.passport-card:hover{background:#fff;transform:translate(-3px,-3px);box-shadow:9px 9px #17324d47}.passport-badge-count{width:100%;min-height:32px;color:var(--navy);font:900 13px/1.35 var(--pixel);text-align:center;justify-content:center;align-items:center;gap:7px;margin:0 0 8px;display:flex}.passport-badge-count strong{color:var(--coral);font-size:18px}.passport-badge-count>span{color:var(--navy)}.passport-book-stage{aspect-ratio:4/5;perspective:1100px;place-items:center;width:min(184px,100%);display:grid}.passport-book{aspect-ratio:3/4;width:86%;transform-style:preserve-3d;animation:4.8s ease-in-out infinite passport-rest;position:relative}.passport-paper-block,.passport-cover{border:3px solid var(--navy);position:absolute;inset:0}.passport-paper-block{background:repeating-linear-gradient(90deg,#fff 0 5px,#e5edf2 5px 7px);translate:7px 7px;box-shadow:4px 4px #17324d2e}.passport-cover{z-index:2;color:#fff;background:var(--navy-soft);transform-origin:0;transform-style:preserve-3d;backface-visibility:hidden;place-items:center;transition:transform .72s cubic-bezier(.2,.74,.12,1),filter .3s;display:grid;overflow:hidden}.passport-cover img{object-fit:fill;transform-origin:50%;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scale(1.018)}.passport-cover>span:not(.passport-lock-overlay){font:900 14px/1.5 var(--pixel);text-align:center;padding:12px}.passport-lock-overlay{z-index:4;pointer-events:none;background:#121c24b8;position:absolute;inset:0}.passport-card.is-locked{background:#e8edf0eb;border-color:#60717e}.passport-card.is-locked:hover{box-shadow:7px 7px #17324d3d}.passport-card.is-locked .passport-book{animation:none;transform:translateY(2px)}.passport-card.is-locked .passport-cover img{filter:grayscale()contrast(.78)opacity(.76)}.passport-card.is-locked .passport-corner{background:var(--yellow);border-color:#60717e}.passport-corner{z-index:4;clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);filter:drop-shadow(0 0 5px #ffcc3485);background:#ffd64a;border:0;width:14px;height:14px;animation:4.8s ease-in-out infinite passport-corner-hop;position:absolute}.passport-corner-1{--spark-drift-x:3px;top:45%;left:-18px;right:auto}.passport-corner-2{--spark-drift-x:-3px;animation-delay:1.1s;inset:55% -18px auto auto}.passport-corner-3{--spark-drift-x:3px;animation-delay:.55s;top:68%;left:-16px;right:auto}.passport-corner-4{--spark-drift-x:-3px;animation-delay:1.65s;inset:32% -16px auto auto}.passport-corner-5{--spark-drift-x:3px;animation-delay:.25s;top:22%;left:-14px;right:auto}.open-passport-button{color:#fff;background:var(--blue);border:3px solid var(--navy);min-width:116px;min-height:38px;box-shadow:4px 4px 0 var(--navy);font:900 11px/1 var(--pixel);transition:transform var(--fast), background var(--fast);border-bottom-width:6px;justify-content:center;align-items:center;gap:12px;margin-top:8px;padding:6px 10px;display:inline-flex}.open-passport-button:hover:not(:disabled){background:var(--navy-soft);transform:translateY(-2px)}.open-passport-button:disabled{cursor:wait;opacity:.76}.passport-card.is-locked .open-passport-button{color:#fff;background:#73818b;border-color:#4e5f6a;box-shadow:3px 3px #4e5f6a}.passport-card.is-opening{z-index:5;animation:.76s cubic-bezier(.2,.8,.2,1) both passport-card-open}.passport-card.is-opening .passport-book{animation:none}.passport-card.is-opening .passport-cover{filter:saturate(1.08);transform:rotateY(-84deg)}.passport-card.is-opening .passport-paper-block{background:var(--yellow-soft)}.passport-reader-page{overflow:clip}.passport-reader-header{z-index:30;color:#fff;background:var(--navy);border-bottom:6px solid var(--yellow);justify-content:space-between;align-items:center;gap:22px;min-height:82px;padding:12px max(24px,50vw - 540px);animation:.52s cubic-bezier(.2,.8,.2,1) both header-drop;display:flex;position:relative;box-shadow:0 5px #0d1f302e}.passport-reader-header button{min-height:42px;color:var(--navy);background:var(--yellow);border:2px solid var(--navy-deep);font:900 10px/1 var(--pixel);transition:transform var(--fast), background var(--fast);border-bottom-width:5px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.passport-reader-header button:hover{background:#fff;transform:translateY(-2px)}.passport-reader-shell{z-index:1;border:3px solid var(--navy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;width:min(920px,100% - 48px);min-height:calc(100vh - 130px);margin:34px auto 48px;padding:28px 32px 34px;animation:.62s cubic-bezier(.2,.8,.2,1) both passport-reader-enter;position:relative;box-shadow:9px 9px #17324d4d}.passport-reader-title{border-bottom:3px solid var(--navy);justify-content:space-between;align-items:end;gap:24px;padding-bottom:19px;display:flex}.passport-reader-title .card-kicker{margin:0 0 8px}.passport-reader-title h1{font:900 clamp(30px, 5vw, 50px)/1.1 var(--pixel);margin:0}.passport-reader-title>div>p:last-child{font:800 16px/1.4 var(--pixel);margin:12px 0 0}.passport-reader-title strong{color:var(--coral);font-size:23px}.passport-page-number{color:var(--navy);font:900 28px/1 var(--pixel);flex:none}.passport-page-number i{color:var(--coral);margin:0 5px;font-style:normal}.passport-reader-stage{touch-action:pan-y;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:14px;width:min(680px,100%);margin:28px auto 0;display:grid;position:relative}.passport-open-book{border:3px solid var(--blue);min-height:510px;box-shadow:8px 8px 0 var(--navy), -8px 8px 0 #4c88c74d;perspective:1200px;background:#dce8f7;place-items:center;padding:34px;display:grid;position:relative}.passport-open-book:before,.passport-open-book:after{content:"";border:2px solid var(--blue);background:#f1f6fb;width:20px;position:absolute;top:15%;bottom:15%}.passport-open-book:before{border-right:0;left:-18px}.passport-open-book:after{border-left:0;right:-18px}.passport-binding{z-index:2;background:repeating-linear-gradient(180deg, var(--navy) 0 8px, var(--yellow) 8px 14px);border:2px solid var(--navy);width:12px;position:absolute;top:24px;bottom:24px;left:28px}.passport-inner-page{border:3px solid var(--navy);transform-origin:0;backface-visibility:hidden;background:#fffdf4;flex-direction:column;justify-content:center;align-items:center;width:min(380px,88%);min-height:420px;padding:32px 28px 28px;display:flex;position:relative;overflow:hidden;box-shadow:7px 7px #17324d33}.passport-inner-page:before{content:"";pointer-events:none;border:2px dashed #4c88c78c;position:absolute;inset:10px}.passport-inner-page.turn-forward{animation:.52s cubic-bezier(.2,.8,.2,1) both passport-page-forward}.passport-inner-page.turn-back{animation:.52s cubic-bezier(.2,.8,.2,1) both passport-page-back}.passport-page-kicker{color:var(--blue);font:900 9px/1 var(--pixel);letter-spacing:.12em;margin:0 0 18px;position:relative}.passport-page-medal{aspect-ratio:1;object-fit:contain;filter:drop-shadow(7px 8px #17324d2e);width:min(190px,65%);animation:3.6s ease-in-out infinite passport-medal-hover;position:relative}.passport-inner-page h2{font:900 24px/1.2 var(--pixel);margin:12px 0 20px;position:relative}.passport-badge-source{background:var(--sky-soft);border:2px solid var(--blue);text-align:center;gap:8px;width:100%;padding:15px 18px;display:grid;position:relative}.passport-badge-source small{color:var(--blue);font:900 8px/1 var(--pixel);letter-spacing:.12em}.passport-badge-source strong{overflow-wrap:anywhere;font-size:15px;line-height:1.45}.passport-empty-page{text-align:center;max-width:310px;position:relative}.passport-empty-page>span{color:var(--coral);font-size:48px}.passport-empty-page h2{margin-bottom:12px}.passport-empty-page p{color:var(--muted);margin:0;line-height:1.7}.passport-turn{color:#fff;background:var(--blue);border:3px solid var(--navy);width:54px;height:64px;box-shadow:4px 4px 0 var(--navy);transition:transform var(--fast), background var(--fast), opacity var(--fast);place-items:center;display:grid}.passport-turn span{font:900 44px/.8 var(--body)}.passport-turn:hover:not(:disabled){background:var(--coral);transform:translateY(-3px)}.passport-turn:disabled{cursor:not-allowed;opacity:.25;box-shadow:2px 2px 0 var(--navy)}.passport-swipe-hint{color:var(--muted);font:900 10px/1.5 var(--pixel);text-align:center;margin:24px 0 0}.passport-swipe-hint span{color:var(--coral);margin-right:8px;font-size:18px}.theater-passport-page{overflow-x:hidden}.theater-collection-shell,.theater-detail-shell{z-index:1;border:3px solid var(--navy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;width:min(860px,100% - 48px);min-height:calc(100vh - 130px);margin:34px auto 48px;padding:26px 28px 34px;animation:.62s cubic-bezier(.2,.8,.2,1) both passport-reader-enter;position:relative;box-shadow:9px 9px #17324d4d}.theater-collection-heading{padding:0 54px 20px 0;position:relative}.theater-collection-heading .card-kicker,.theater-detail-title .card-kicker{margin:0 0 9px}.theater-collection-heading h1{font:900 clamp(28px, 5vw, 46px)/1.15 var(--pixel);margin:0}.theater-collection-heading>span{color:var(--coral);font-size:34px;animation:3.6s ease-in-out infinite passport-medal-hover;position:absolute;bottom:20px;right:10px}.theater-parchment{isolation:isolate;color:#7f3218;background:radial-gradient(circle at 18% 12%,#ffffffb8 0 2px,#0000 3px) 0 0/31px 31px,radial-gradient(circle at 78% 30%,#9f591e17 0 1px,#0000 2px) 0 0/23px 23px,linear-gradient(135deg,#ffffff57,#0000 38%),#f8dfaa;border:4px solid #b84c1c;padding:48px clamp(22px,7vw,70px) 38px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 9px #ffd98e,inset 0 0 42px #823e1033,7px 7px #612f1447}.theater-parchment:before{content:"";z-index:-1;clip-path:polygon(0 0,34% 0,35% 5px,65% 5px,66% 0,100% 0,100% 100%,66% 100%,65% calc(100% - 5px),35% calc(100% - 5px),34% 100%,0 100%);pointer-events:none;border:3px solid #cb5b1e;position:absolute;inset:18px}.theater-parchment-rule{color:#c85820;width:min(460px,84%);font:900 18px/1 var(--pixel);text-align:center;margin:0 auto 24px}.theater-parchment-rule:before,.theater-parchment-rule:after{content:"";border-top:3px solid #c85820;width:39%;margin:0 10px 5px;display:inline-block}.theater-chapter{color:#b84c1c;font:900 16px/1.4 var(--pixel);letter-spacing:.04em;margin:0 0 25px}.theater-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px clamp(12px,3vw,28px);display:grid}.theater-badge-card{color:#a6431c;min-width:0;font:900 13px/1.5 var(--pixel);text-align:center;background:0 0;border:0;justify-items:center;gap:12px;padding:0;display:grid}.theater-passport-page:not(.campus-ambassador-passport-page) .theater-badge-card{align-content:start}.theater-badge-name{overflow-wrap:anywhere;max-width:220px;font-size:15px;line-height:1.5}.theater-badge-state{font:900 10px/1.3 var(--pixel);letter-spacing:.04em;margin-top:-5px}.theater-badge-state.is-acquired{color:#137254}.theater-badge-state.is-locked{color:#766f66}.theater-badge-card:hover .theater-badge-thumb,.theater-badge-card:focus-visible .theater-badge-thumb{transform:translateY(-5px)rotate(-1deg);box-shadow:0 10px #783d162e}.theater-badge-thumb{aspect-ratio:1;width:min(176px,88%);transition:transform var(--fast), box-shadow var(--fast);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.theater-badge-thumb img,.theater-upcoming{width:96%;height:96%}.theater-badge-thumb img{object-fit:contain;filter:drop-shadow(5px 6px #612f1429)}.badge-image-placeholder{background:#5b696f1f;border-radius:50%;width:96%;height:96%;display:block}.theater-badge-card.is-locked .theater-badge-thumb img{filter:blur(6px)grayscale(.65)contrast(.82)brightness(.82)opacity(.82);transform:scale(1.08)}.theater-badge-mask,.theater-detail-mask{color:#fff;font:900 11px/1 var(--pixel);letter-spacing:.08em;background:#383d4099;place-items:center;display:grid;position:absolute;inset:0}.theater-upcoming{color:#7d6e5b;font:900 11px/1.45 var(--pixel);text-align:center;background:#fff7da73;border:3px dashed #8b765d;border-radius:50%;place-items:center;display:grid}.theater-progress{text-align:center;border-top:3px dashed #c85820;margin-top:30px;padding-top:23px}.theater-progress>div{justify-content:center;align-items:center;gap:18px;display:flex}.theater-progress strong{color:#a6431c;font:900 16px/1.3 var(--pixel)}.theater-progress p{color:#7d6e5b;font:900 9px/1.4 var(--pixel);margin:14px 0 0}.theater-progress-boxes{gap:10px;display:flex}.theater-progress-boxes i{background:#ffffff6b;border:3px solid #756b61;width:34px;height:34px;box-shadow:inset 0 0 0 3px #ffffff61}.theater-progress-boxes i.is-filled{background:var(--yellow);border-color:#a6431c;box-shadow:inset 0 0 0 4px #f8dfaa}.theater-detail-title{border-bottom:3px solid var(--navy);justify-content:space-between;align-items:end;gap:24px;padding-bottom:19px;display:flex}.theater-detail-title h1{font:900 clamp(30px, 5vw, 50px)/1.1 var(--pixel);margin:0}.theater-detail-title>div>p:last-child{font:800 16px/1.4 var(--pixel);margin:12px 0 0}.theater-detail-title strong{color:var(--coral);font-size:23px}.theater-detail-stage{grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:14px;width:min(720px,100%);margin:28px auto 0;display:grid;position:relative}.theater-detail-carousel{touch-action:pan-y;perspective:1200px;background:radial-gradient(circle at 18% 12%,#ffffffbf 0 2px,#0000 3px) 0 0/31px 31px,linear-gradient(145deg,#ffffff6b,#0000 45%),#f8dfaa;border:3px solid #b84c1c;place-items:center;min-height:590px;padding:34px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 36px #823e1029,7px 7px #612f1447}.theater-detail-carousel:before,.theater-detail-carousel:after{content:"";aspect-ratio:1;border:3px solid #b84c1c59;border-radius:50%;width:190px;position:absolute;top:25%}.theater-detail-carousel:before{left:-105px}.theater-detail-carousel:after{right:-105px}.theater-detail-card{z-index:1;backface-visibility:hidden;background:#fffae5f0;border:3px solid #a6431c;flex-direction:column;justify-content:center;align-items:center;width:min(470px,94%);min-height:520px;padding:30px 28px 28px;display:flex;position:relative;box-shadow:7px 7px #612f1438}.theater-detail-card.turn-forward{animation:.52s cubic-bezier(.2,.8,.2,1) both passport-page-forward}.theater-detail-card.turn-back{animation:.52s cubic-bezier(.2,.8,.2,1) both passport-page-back}.theater-detail-status{z-index:4;color:#238351;font:900 12px/1 var(--pixel);background:0 0;border:0;padding:0;position:absolute;top:16px;right:16px}.theater-detail-card.is-locked .theater-detail-status{color:#c84038;background:0 0;border:0}.theater-detail-art{aspect-ratio:1;border:0;border-radius:50%;place-items:center;width:min(360px,92%);display:grid;position:relative;overflow:hidden}.theater-detail-art img{object-fit:contain;filter:drop-shadow(7px 8px #612f142e);transform-origin:50%;width:98%;height:98%}.theater-detail-card.is-acquired .theater-detail-art img{animation:3.6s ease-in-out infinite badge-detail-float}.theater-detail-card.is-locked .theater-detail-art img{filter:blur(8px)grayscale(.65)contrast(.8)brightness(.8)opacity(.82);animation:none;transform:scale(1.1)}.theater-detail-mask{border-radius:50%;font-size:14px}.theater-detail-meta{text-align:center;width:min(400px,100%);margin-top:24px}.theater-detail-meta h2{color:#7f3218;font:900 clamp(20px, 4vw, 28px)/1.35 var(--pixel);margin:0 0 18px}.theater-detail-meta dl{gap:4px;margin:0;display:grid}.theater-detail-meta dl>div{text-align:left;background:0 0;border:0;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:16px;padding:7px 0;display:grid}.theater-detail-meta dt{color:#a6431c;font:900 14px/1.6 var(--body);text-align:right}.theater-detail-meta dt:after{content:"："}.theater-detail-meta dd{color:#4f2e1e;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:900;line-height:1.6}.badge-collection-action{justify-content:center;justify-items:center;gap:10px;margin-top:19px;display:grid}.badge-collection-action.has-feedback-link{grid-auto-flow:column;align-items:center}.badge-collection-status{font:900 11px/1.35 var(--pixel);background:0 0;border:0}.badge-collection-status.is-open{color:#2e63d5}.badge-collection-status.is-closed{color:#747d84}.badge-feedback-control{justify-items:center;gap:7px;display:grid}.badge-feedback-link{color:#fff;border:2px solid var(--navy);min-height:44px;box-shadow:3px 3px 0 var(--navy);font:900 14px/1.3 var(--body);transition:transform var(--fast), background var(--fast), box-shadow var(--fast);background:#2e63d5;justify-content:center;align-items:center;padding:10px 17px;text-decoration:none;display:inline-flex}.badge-feedback-link:hover{background:#214da9;transform:translate(-1px,-1px)}.badge-feedback-link:active{box-shadow:1px 1px 0 var(--navy);transform:translate(2px,2px)}.badge-feedback-note{color:#667786;text-align:center;font-size:11px;font-weight:700;line-height:1.45}.badge-feedback-guidance{color:#2e63d5;font:900 clamp(10px, 2.4vw, 13px)/1.55 var(--body);text-align:center;white-space:nowrap;margin:0}.passport-badge-group+.passport-badge-group{border-top:3px dashed #c85820;margin-top:30px;padding-top:27px}.theater-chapter-row{justify-content:space-between;align-items:center;gap:16px;margin:0 0 25px;padding-inline:clamp(8px,2vw,20px);display:flex}.theater-chapter-row .theater-chapter{margin:0;font-size:20px}.theater-chapter-row>strong{color:#b84c1c;font:900 14px/1 var(--pixel);letter-spacing:.06em;flex:none}.campus-ambassador-passport-page .theater-parchment{color:#164f7f;border-color:#15578e;box-shadow:inset 0 0 0 9px #ffdda0,inset 0 0 42px #15578e29,7px 7px #10436c47}.campus-ambassador-passport-page .theater-parchment:before{border-color:#1a639e}.campus-ambassador-passport-page .theater-parchment-rule,.campus-ambassador-passport-page .theater-chapter,.campus-ambassador-passport-page .theater-chapter-row>strong,.campus-ambassador-passport-page .theater-badge-card,.campus-ambassador-passport-page .theater-progress strong{color:#15578e}.campus-ambassador-passport-page .theater-parchment-rule:before,.campus-ambassador-passport-page .theater-parchment-rule:after,.campus-ambassador-passport-page .passport-badge-group+.passport-badge-group,.campus-ambassador-passport-page .theater-progress{border-color:#b58c2b}.campus-ambassador-passport-page .theater-badge-grid.is-normal,.campus-ambassador-passport-page .theater-badge-grid.is-limited{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}.campus-ambassador-passport-page .theater-badge-card{gap:9px;font-size:9px}.campus-ambassador-passport-page .theater-badge-name{font-size:12px}.campus-ambassador-passport-page .theater-badge-state{font-size:9px}.campus-ambassador-passport-page .theater-badge-thumb{width:min(134px,100%)}.campus-ambassador-passport-page .theater-badge-thumb img{filter:drop-shadow(4px 5px #15578e2e);width:98%;height:98%}.campus-ambassador-passport-page .theater-progress>div{flex-direction:column;align-items:flex-start;gap:13px}.campus-ambassador-passport-page .theater-progress-boxes{flex-wrap:wrap;gap:7px}.campus-ambassador-passport-page .theater-progress-boxes i{border-color:#557188;width:22px;height:22px}.campus-ambassador-passport-page .theater-progress-boxes i.is-filled{border-color:#15578e;box-shadow:inset 0 0 0 3px #f8dfaa}.campus-ambassador-passport-page .theater-detail-carousel{border-color:#15578e;box-shadow:inset 0 0 36px #15578e24,7px 7px #10436c47}.campus-ambassador-passport-page .theater-detail-carousel:before,.campus-ambassador-passport-page .theater-detail-carousel:after{border-color:#15578e57}.campus-ambassador-passport-page .theater-detail-card{border-color:#15578e;box-shadow:7px 7px #10436c38}.campus-ambassador-passport-page .theater-detail-art{border-color:#15578e}.campus-ambassador-passport-page .theater-detail-art img{filter:drop-shadow(7px 8px #15578e2e)}.campus-ambassador-passport-page .theater-detail-meta h2{color:#164f7f}.campus-ambassador-passport-page .theater-detail-meta dl>div{border-color:#15578e9e}.campus-ambassador-passport-page .theater-detail-meta dt{color:#15578e}.campus-ambassador-passport-page .theater-detail-meta dd{color:#153b59}.dashboard-footer{z-index:1;color:var(--sky);background:var(--navy);border-top:6px solid var(--yellow);font:900 10px/1.45 var(--pixel);justify-content:space-between;align-items:center;gap:20px;padding:25px max(24px,50vw - 590px);display:flex;position:relative}.dashboard-footer p{color:#fff;margin:0}.legal-footer-content{gap:4px;display:grid}.legal-footer-content>span{color:#fff}.filing-links-row{white-space:nowrap;justify-content:flex-start;align-items:center;gap:12px;display:flex}.icp-footer{z-index:2;color:#fff;background:var(--navy);border-top:3px solid var(--yellow);font:900 10px/1.5 var(--pixel);text-align:center;justify-content:center;padding:14px 18px;display:flex;position:relative}.icp-filing-link{color:var(--yellow);text-underline-offset:4px;text-decoration:none}.icp-filing-link:hover{text-decoration:underline}.public-security-filing-link{color:#fff;text-underline-offset:4px;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.public-security-filing-link img{object-fit:contain;image-rendering:auto;flex:0 0 20px;width:20px;height:20px}.public-security-filing-link:hover{text-decoration:underline}.icp-footer .filing-links-row{justify-content:center}@keyframes header-drop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}@keyframes panel-enter-left{0%{opacity:0;transform:translate(-24px,14px)}to{opacity:1;transform:none}}@keyframes panel-enter-right{0%{opacity:0;transform:translate(24px,14px)}to{opacity:1;transform:none}}@keyframes copy-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes pixel-label-pop{0%{opacity:0;transform:scale(.88)rotate(-1deg)}70%{opacity:1;transform:scale(1.05)rotate(1deg)}to{opacity:1;transform:none}}@keyframes grid-drift{to{background-position:48px 48px}}@keyframes pixel-sun-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(2deg)}}@keyframes sun-ray-pulse{0%,to{opacity:.52}50%{opacity:1}}@keyframes cloud-cross{0%{translate:-12vw}to{translate:calc(100vw + 250px)}}@keyframes dawn-breathe{0%,to{filter:brightness(.98)}50%{filter:brightness(1.1)}}@keyframes bird-cross{0%{translate:-8vw}to{translate:calc(100vw + 180px)}}@keyframes bird-wing{0%,to{box-shadow:8px -4px #274963,16px 0 #274963}50%{box-shadow:8px 4px #274963,16px 0 #274963}}@keyframes plane-cross{0%{translate:-10vw}to{translate:calc(100vw + 260px) 8vh}}@keyframes moon-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes star-twinkle{0%,to{opacity:.28}50%{opacity:1}}@keyframes meteor-fall{0%,64%,to{opacity:0;translate:0}68%{opacity:.92}82%{opacity:0;translate:-130vw 95vh}}@keyframes visual-drift{0%{transform:scale(1.01)translate(0,0)}to{transform:scale(1.055)translate(-1.2%,-.7%)}}@keyframes visual-ambient{0%{opacity:.16;transform:scale(1.02)translate(-1%)}to{opacity:.34;transform:scale(1.08)translate(1.5%,-1%)}}@keyframes evidence-mark{0%{background-size:0 100%}to{background-size:100% 100%}}@keyframes step-blink{0%,33%,to{color:var(--yellow)}34%,62%{color:#fff}}@keyframes route-flow{to{background-position:-240% 0}}@keyframes arrow-nudge{0%,58%,to{transform:translate(0)}60%,82%{transform:translate(4px,-4px)}}@keyframes line-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ticket-field-in{0%{opacity:0;transform:translateY(8%)scale(.94)}to{opacity:1;transform:none}}@keyframes ticket-role-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2%)scale(1.018)}}@keyframes ticket-name-float{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes ticket-full-scan{0%,58%,to{opacity:0;transform:translate(-86%)}64%{opacity:.76}86%{opacity:.58}94%{opacity:0;transform:translate(86%)}}@keyframes ticket-corner-pulse{0%,to{opacity:.26;transform:scale(.88)}50%{opacity:.78;transform:scale(1.08)}}@keyframes ticket-pixel-drift{0%,to{opacity:.32;transform:translate(-5%)}50%{opacity:.8;transform:translate(9%)}}@keyframes ticket-pixel-pop{0%,to{opacity:.3;transform:scale(.72)}50%{opacity:.95;transform:scale(1.08)}}@keyframes passport-card-arrive{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:none}}@keyframes passport-rest{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-7px)rotate(.8deg)}}@keyframes passport-corner-hop{0%,to{opacity:.12;transform:translateY(1px)scale(.72)}48%{opacity:.54;transform:translate(var(--spark-drift-x,-3px), -3px) scale(1)}72%{opacity:.24;transform:translate(var(--spark-drift-x,-3px), -1px) scale(.84)}}@keyframes passport-card-open{0%{opacity:1;transform:none}55%{opacity:1;transform:translateY(-9px)scale(1.025)}to{opacity:0;transform:translateY(-18px)scale(1.06)}}@keyframes passport-reader-enter{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}@keyframes passport-page-forward{0%{opacity:.25;transform:perspective(900px)rotateY(-34deg)translate(18px)}to{opacity:1;transform:none}}@keyframes passport-page-back{0%{opacity:.25;transform:perspective(900px)rotateY(34deg)translate(-18px)}to{opacity:1;transform:none}}@keyframes passport-medal-hover{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@keyframes badge-detail-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes status-pulse{0%,to{box-shadow:0 0 #72be6399}50%{box-shadow:0 0 0 5px #72be6300}}@keyframes badge-pulse{0%,to{box-shadow:3px 3px 0 var(--navy);transform:translate(0)}50%{box-shadow:5px 5px 0 var(--navy);transform:translate(-1px,-1px)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@media (width<=960px){.login-grid{grid-template-columns:1fr;grid-template-areas:"visual""panel";padding:34px 24px 56px}.login-visual,.login-visual>img{min-height:470px}.login-card{margin:0 auto}.login-panel:before{top:-28px;left:6%}.dashboard-layout{grid-template-columns:1fr}.profile-column{position:static}.profile-card-top{justify-content:flex-start}.passport-reader-shell{width:min(820px,100% - 36px)}}@media (width<=680px){.login-header,.dashboard-header,.passport-reader-header{border-bottom-width:5px;min-height:72px;padding:9px 16px}.brand{flex-direction:column;align-items:flex-start;gap:2px}.brand-name{letter-spacing:.01em;font-size:17px}.brand-name-en{font-size:9px}.header-tag{display:none}.login-grid{grid-template-areas:"panel""visual";align-items:start;gap:28px;min-height:calc(100vh - 72px);padding:20px 15px 48px}.login-panel{align-self:start}.login-visual{min-height:390px;box-shadow:7px 7px 0 var(--navy)}.login-visual>img{object-position:42% center;min-height:390px}.visual-copy{top:11%;left:24px;right:24px}.visual-copy h1{font-size:clamp(27px,8vw,32px)}.visual-copy>p:last-child{margin-top:16px;font-size:9px}.growth-path{gap:6px;bottom:24px;left:24px;right:24px}.growth-path span{white-space:normal;font-size:9px}.growth-path i{min-width:8px}.login-card{padding:24px 20px}.login-panel:before{display:none}.dashboard-header nav{gap:5px}.dashboard-header nav a,.dashboard-header nav button{border-width:2px 2px 4px;gap:4px;min-height:34px;padding:7px 8px;font-size:8px}.dashboard-header nav .leaderboard-link{font-size:12px}.dashboard-hero{flex-direction:column;align-items:start;width:calc(100% - 30px);padding:34px 0 26px}.dashboard-hero h1{font-size:38px}.dashboard-hero>div>p:last-child{font-size:12px;line-height:1.6}.dashboard-layout{gap:18px;width:calc(100% - 28px);margin:36px auto 54px}.profile-card,.archive-card{padding:20px}.profile-card:before{margin:-20px -20px 18px}.profile-qr-entry-desktop{display:none}.profile-qr-entry-mobile{width:clamp(84px,24vw,112px);padding:8px 7px 7px;font-size:10px;display:grid}.phase-tabs{gap:9px;padding:10px}.phase-tabs>span{font-size:10px}.phase-tabs button{min-width:54px;height:38px;font-size:13px}.camp-ticket{box-shadow:5px 5px 0 var(--navy);border-width:2px 2px 0}.theater-feedback-share{gap:7px;padding:11px 9px}.theater-feedback-copy-button{min-height:38px;padding:9px 8px;font-size:12px}.theater-feedback-copy-hint{padding-inline:3px;font-size:12px}.section-heading{align-items:center}.section-heading h2{font-size:18px}.passport-total{padding:6px 7px;font-size:8px}.passport-archive{padding:14px}.passport-archive .section-heading{padding-bottom:12px}.passport-archive .section-heading h2{font-size:14px}.passport-archive .card-kicker{font-size:7px}.passport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.passport-card{border-width:2px;padding:9px 6px 11px;box-shadow:4px 4px #17324d38}.passport-badge-count{gap:5px;min-height:28px;margin-bottom:5px;font-size:10px}.passport-badge-count strong{font-size:15px}.passport-book-stage{width:min(140px,100%)}.open-passport-button{min-width:92px;min-height:33px;box-shadow:3px 3px 0 var(--navy);border-width:2px 2px 4px;margin-top:6px;padding:5px 8px;font-size:9px}.passport-reader-header .brand-name{font-size:15px}.passport-reader-actions{gap:5px}.passport-reader-header button,.passport-reader-header .leaderboard-link{border-bottom-width:4px;min-height:38px;padding:7px 9px;font-size:8px}.passport-reader-shell{width:calc(100% - 28px);min-height:calc(100vh - 104px);margin:22px auto 34px;padding:20px 15px 26px}.passport-reader-title{align-items:start;gap:14px}.passport-reader-title h1{font-size:30px}.passport-reader-title .card-kicker{font-size:7px}.passport-reader-title>div>p:last-child{font-size:12px}.passport-reader-title strong{font-size:17px}.passport-page-number{font-size:20px}.passport-reader-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;margin-top:22px}.passport-open-book{min-height:430px;box-shadow:5px 5px 0 var(--navy), -4px 5px 0 #4c88c74d;padding:25px 18px 25px 25px}.passport-binding{width:9px;top:20px;bottom:20px;left:13px}.passport-open-book:before,.passport-open-book:after{width:10px}.passport-open-book:before{left:-10px}.passport-open-book:after{right:-10px}.passport-inner-page{width:94%;min-height:360px;padding:25px 18px 20px}.passport-page-medal{width:min(150px,63%)}.passport-inner-page h2{margin:10px 0 16px;font-size:20px}.passport-badge-source{padding:12px 10px}.passport-badge-source strong{font-size:12px}.passport-turn{width:34px;height:54px;box-shadow:2px 2px 0 var(--navy)}.passport-turn span{font-size:35px}.passport-swipe-hint{font-size:8px}.theater-collection-shell,.theater-detail-shell{width:calc(100% - 22px);min-height:calc(100vh - 104px);margin:18px auto 28px;padding:16px 10px 22px}.theater-collection-heading{padding:0 38px 14px 4px}.theater-collection-heading h1{font-size:24px}.theater-collection-heading .card-kicker,.theater-detail-title .card-kicker{font-size:7px}.theater-collection-heading>span{font-size:26px;bottom:12px;right:5px}.theater-parchment{border-width:3px;padding:36px 16px 28px;box-shadow:inset 0 0 0 6px #ffd98e,inset 0 0 28px #823e1033,5px 5px #612f1442}.theater-parchment:before{border-width:2px;inset:12px}.theater-parchment-rule{margin-bottom:18px;font-size:13px}.theater-parchment-rule:before,.theater-parchment-rule:after{border-top-width:2px;width:31%;margin-inline:7px}.theater-chapter{margin-bottom:20px;font-size:11px}.theater-badge-grid{gap:20px 10px}.campus-ambassador-passport-page .theater-badge-grid.is-normal,.campus-ambassador-passport-page .theater-badge-grid.is-limited{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px}.theater-chapter-row{gap:12px;margin-bottom:20px;padding-inline:9px}.theater-chapter-row .theater-chapter{margin:0;font-size:14px}.theater-chapter-row>strong{font-size:10px}.passport-badge-group+.passport-badge-group{border-top-width:2px;margin-top:23px;padding-top:21px}.theater-badge-card{gap:8px;font-size:8px}.theater-badge-name,.campus-ambassador-passport-page .theater-badge-name{font-size:11px}.theater-badge-state,.campus-ambassador-passport-page .theater-badge-state{margin-top:-3px;font-size:9px}.theater-badge-thumb{border:0;width:min(136px,96%)}.campus-ambassador-passport-page .theater-badge-thumb{width:min(136px,100%)}.theater-badge-mask{font-size:8px}.theater-upcoming{border-width:2px;font-size:8px}.theater-progress{border-top-width:2px;margin-top:24px;padding-top:18px}.theater-progress>div{flex-direction:column;gap:12px}.theater-progress strong{font-size:11px}.theater-progress-boxes{gap:7px}.theater-progress-boxes i{border-width:2px;width:28px;height:28px}.campus-ambassador-passport-page .theater-progress-boxes i{width:19px;height:19px}.theater-progress p{margin-top:10px;font-size:7px}.theater-detail-title{align-items:start;gap:12px;padding-inline:5px}.theater-detail-title h1{font-size:28px}.theater-detail-title>div>p:last-child{font-size:11px}.theater-detail-title strong{font-size:16px}.theater-detail-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;margin-top:18px}.theater-detail-carousel{border-width:2px;min-height:470px;padding:20px 10px;box-shadow:inset 0 0 24px #823e1029,4px 4px #612f1442}.theater-detail-carousel:before,.theater-detail-carousel:after{width:105px}.theater-detail-carousel:before{left:-76px}.theater-detail-carousel:after{right:-76px}.theater-detail-card{border-width:2px;width:96%;min-height:420px;padding:40px 14px 20px;box-shadow:4px 4px #612f1433}.theater-detail-status{padding:0;font-size:10px;top:10px;right:10px}.theater-detail-art{border:0;width:min(270px,96%)}.theater-detail-mask{font-size:10px}.theater-detail-meta{margin-top:18px}.theater-detail-meta h2{margin-bottom:13px;font-size:17px}.theater-detail-meta dl{gap:3px}.theater-detail-meta dl>div{border:0;grid-template-columns:88px minmax(0,1fr);gap:11px;padding:6px 0}.theater-detail-meta dt,.theater-detail-meta dd{font-size:12px}.badge-collection-action{gap:8px;margin-top:15px}.badge-collection-status{font-size:9px}.badge-feedback-link{min-height:40px;padding:9px 12px;font-size:13px}.badge-feedback-note,.badge-feedback-guidance{font-size:10px}.dashboard-footer{flex-direction:column;align-items:start;padding:22px 18px}}@media (width<=390px){.dashboard-header{padding-inline:10px}.dashboard-header .brand-name{font-size:15px;display:block}.dashboard-header .brand-name-en{font-size:7px}.dashboard-header nav a,.dashboard-header nav button{padding-inline:6px}.profile-card-top{gap:14px}.profile-avatar{flex-basis:90px;width:90px}.profile-card h2{font-size:23px}.profile-name-row{align-items:flex-start}.profile-qr-entry-mobile{width:84px;max-width:84px;padding:7px 5px 6px;font-size:9px}.profile-qr-entry-mobile small{font-size:8px}.camp-ticket{box-shadow:4px 4px 0 var(--navy)}.passport-reader-shell{width:calc(100% - 20px);padding-inline:10px}.passport-reader-title h1{font-size:27px}.passport-reader-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}.passport-open-book{min-height:405px;padding-inline:19px 12px}.passport-inner-page{min-height:338px;padding-inline:14px}.passport-turn{width:30px}.theater-collection-shell,.theater-detail-shell{width:calc(100% - 14px)}.theater-parchment{padding-inline:12px}.theater-badge-thumb{width:min(102px,88%)}.theater-detail-stage{grid-template-columns:28px minmax(0,1fr) 28px;gap:3px}.theater-detail-stage .passport-turn{width:28px}.theater-detail-carousel{min-height:445px;padding-inline:7px}.theater-detail-card{min-height:395px;padding-inline:10px}.theater-detail-art{width:min(195px,84%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
