.pass-page{--pass-gold: var(--theme-pass);--pass-green: var(--theme-pass-dark);--pass-cream: var(--theme-pass-soft);position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;color:#fffdf4;background:#0f4c56}.map-bg,.map-bg img,.summary-bg,.summary-bg img{position:absolute;inset:0;width:100%;height:100%}.map-bg img,.summary-bg img{object-fit:cover}.pass-page:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,42,48,.52),transparent 28%,rgba(8,42,48,.34))}.pass-header{position:relative;z-index:4;display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 16px 0}.back-link,.reset-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:0;border-radius:999px;color:#fffdf4;background:#ffffff24;font:inherit;font-size:.84rem;font-weight:900;backdrop-filter:blur(14px);cursor:pointer}.back-link{justify-self:start;width:fit-content}.reset-btn{justify-self:end;width:fit-content}.title-block{grid-column:1 / -1;max-width:680px;text-shadow:0 2px 16px rgba(0,0,0,.18)}.title-block p,.dialog-kicker{margin:0;color:var(--pass-gold);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.title-block h1{margin:4px 0 0;font-family:var(--font-display);font-size:clamp(2.1rem,11vw,4.5rem);font-weight:400;line-height:.98}.map-layer{position:absolute;inset:0;z-index:3}.node-btn{position:absolute;width:46px;height:46px;border:0;border-radius:50%;color:var(--pass-green);background:#fff5d8db;box-shadow:0 0 0 7px #f2c96d2e,0 0 28px #f2c96db8;font:inherit;font-weight:1000;cursor:pointer;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease,filter .2s ease}.node-btn:hover{transform:translate(-50%,-50%) scale(1.08)}.node-btn.is-locked{opacity:.48;filter:grayscale(.9);box-shadow:0 0 0 5px #ffffff14}.node-btn.is-complete{color:#fffdf4;background:linear-gradient(135deg,var(--pass-gold),#14b8b3)}.status-panel{position:absolute;left:16px;right:16px;bottom:16px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:20px;background:#082a3075;backdrop-filter:blur(18px);box-shadow:0 14px 34px #00000029;cursor:pointer}.summary-entry{position:fixed;left:50%;bottom:86px;z-index:6;min-height:44px;padding:0 18px;border:1px solid rgba(255,244,198,.6);border-radius:999px;color:#fffdf4;background:linear-gradient(135deg,var(--pass-green),#148b86);box-shadow:0 14px 34px #082a3047,0 0 22px #f2c96d52;font:inherit;font-weight:1000;transform:translate(-50%);cursor:pointer}.summary-entry[hidden]{display:none}.status-panel span,.status-panel strong{font-size:.86rem;font-weight:900}.node-dialog,.play-dialog,.reward-dialog,.achievement-dialog{position:fixed;inset:0;margin:auto;width:min(92vw,430px);max-height:min(84vh,680px);overflow:auto;border:1px solid rgba(255,255,255,.32);border-radius:28px;padding:26px 22px;color:var(--color-text);background:#fffdf4f0;box-shadow:var(--shadow-lg);backdrop-filter:blur(18px)}.node-dialog::backdrop,.play-dialog::backdrop,.reward-dialog::backdrop,.achievement-dialog::backdrop{background:#082a306b;backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;color:var(--pass-green);background:var(--pass-cream);font-size:1.2rem;cursor:pointer}.node-dialog h2,.play-dialog h2,.reward-dialog h2,.achievement-dialog h2,.summary-card h2{margin:8px 0 10px;font-family:var(--font-display);color:var(--pass-green);font-size:2.6rem;font-weight:400;line-height:1}.node-dialog p:not(.dialog-kicker),.play-dialog p:not(.dialog-kicker),.reward-dialog p:not(.dialog-kicker),.achievement-dialog p:not(.dialog-kicker),.summary-card p:not(.dialog-kicker){color:var(--color-text-light);line-height:1.75}.primary-btn{width:100%;min-height:46px;margin-top:16px;border:0;border-radius:999px;color:#fffdf4;background:var(--pass-green);font:inherit;font-weight:900;cursor:pointer}.placeholder-play{min-height:160px;margin-top:16px;border-radius:22px;background:radial-gradient(circle at 50% 50%,rgba(242,201,109,.52),transparent 24%),linear-gradient(135deg,#14b8b329,#f2c96d29)}.forming-stage{position:relative;min-height:360px;overflow:hidden;border-radius:22px;background:linear-gradient(#0f4c562e,#0f4c5647),radial-gradient(circle at 50% 48%,rgba(242,201,109,.2),transparent 22%),radial-gradient(circle at 26% 24%,rgba(20,184,179,.22),transparent 18%),radial-gradient(circle at 78% 70%,rgba(174,132,214,.2),transparent 18%),url(/images/games/amusement-pass-forming-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24}.forming-stage.is-wrong{animation:wrong-shake .24s ease}@keyframes wrong-shake{0%,to{transform:translate(0)}30%{transform:translate(-5px)}60%{transform:translate(5px)}}.forming-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.forming-lines line{stroke:#f2c96ddb;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(242,201,109,.72))}.member-dot{position:absolute;display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;color:#fffdf4a8;background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff38;font:inherit;font-size:0;cursor:pointer;transform:translate(-50%,-50%);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.member-dot.is-current{color:var(--pass-green);background:#fff5d8f5;box-shadow:0 0 0 8px #f2c96d29,0 0 24px #f2c96dd6;animation:member-pulse 1.2s ease-in-out infinite}.member-dot.is-found{color:#fffdf4;background:linear-gradient(135deg,var(--pass-gold),#14b8b3);box-shadow:0 0 20px #f2c96dad}.member-dot:hover{transform:translate(-50%,-50%) scale(1.08)}.member-dot svg{width:34px;height:34px;fill:currentColor}@keyframes member-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}.forming-hint{position:absolute;left:14px;right:14px;bottom:10px;padding:10px 12px;border-radius:16px;color:#fffdf4;background:#082a3080;font-size:.9rem;font-weight:900;text-align:center;backdrop-filter:blur(10px)}@media(max-width:520px){.forming-stage{min-height:380px}.member-dot{width:52px;height:52px}.member-dot svg{width:31px;height:31px}.forming-hint{font-size:.82rem;padding:8px 10px}}.forming-complete{color:var(--pass-gold)}.debut-stage{position:relative;min-height:360px;overflow:hidden;border-radius:22px;background:linear-gradient(#0f4c561a,#0f4c5633),url(/images/games/amusement-pass-debut-show-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24}.debut-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 54% 68%,rgba(242,201,109,var(--stage-glow, .1)),transparent 34%);transition:background .3s ease}.stage-object{position:absolute;z-index:2;width:48px;height:48px;border:0;border-radius:50%;color:transparent;background:#f2c96d29;box-shadow:0 0 0 8px #f2c96d1a,0 0 20px #f2c96d7a;cursor:pointer;transform:translate(-50%,-50%);transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.stage-object:hover{transform:translate(-50%,-50%) scale(1.12);background:#fff5d86b}.stage-object.is-lit{background:#fff5d8b3;box-shadow:0 0 0 9px #f2c96d33,0 0 32px #f2c96df2;animation:stage-pop .28s ease}.stage-object:before,.stage-object:after{content:"";position:absolute;inset:50%;border-radius:50%;transform:translate(-50%,-50%)}.stage-object:before{width:14px;height:14px;background:#fffdf4eb}.stage-object:after{width:32px;height:32px;border:1px solid rgba(255,253,244,.72);animation:hotspot-pulse 1.3s ease-in-out infinite}.stage-object.is-lit:after{animation:none}@keyframes hotspot-pulse{0%,to{opacity:.42;transform:translate(-50%,-50%) scale(.9)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}@keyframes stage-pop{0%{transform:translate(-50%,-50%) scale(.9)}70%{transform:translate(-50%,-50%) scale(1.12)}to{transform:translate(-50%,-50%) scale(1)}}.debut-progress{position:absolute;z-index:3;left:14px;right:14px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;color:#fffdf4;background:#082a3085;font-size:.86rem;font-weight:900;backdrop-filter:blur(10px)}.debut-progress-bar{flex:1;height:8px;overflow:hidden;border-radius:999px;background:#ffffff2e}.debut-progress-fill{width:var(--debut-progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pass-gold),#14b8b3);transition:width .3s ease}.vivaldi-stage{position:relative;aspect-ratio:4 / 3;min-height:0;padding:0;margin-bottom:58px;overflow:visible;border-radius:22px;background:linear-gradient(#0f4c560a,#0f4c561f),url(/images/games/amusement-pass-vivaldi-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24}.season-slots{position:absolute;left:6.7%;right:6.7%;top:32.6%;display:grid;grid-template-columns:repeat(4,1fr);gap:4.8%}.season-slot{display:grid;place-items:center;aspect-ratio:.7 / 1;padding:4%;border-radius:14%;background:transparent;box-shadow:none}.season-slot.is-hit{background:#fff5d8e6;box-shadow:0 0 24px #f2c96db8}.season-slot img{width:min(112%,118px);aspect-ratio:1 / 1;border-radius:14px;object-fit:cover;box-shadow:0 8px 18px #082a302e}.season-targets{position:absolute;left:0;right:0;top:72.5%;display:flex;justify-content:center;gap:8px;margin-top:0;color:#fffdf4d6;font-size:.82rem;font-weight:900}.season-targets span{padding:4px 8px;border-radius:999px;background:#ffffff1f}.slot-message{position:absolute;inset:8% 8% auto;min-height:0;margin:0;color:var(--pass-green);font-size:.86rem;font-weight:900;line-height:1.6;text-align:center;background:#fffdf4b3;border-radius:999px;padding:6px 10px;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.slot-spin-btn{position:absolute;left:50%;bottom:-56px;width:min(62%,260px);margin-top:0;transform:translate(-50%)}.season-slot.is-spinning img{animation:slot-spin .32s linear infinite}@keyframes slot-spin{0%{transform:translateY(-8px);opacity:.4}50%{transform:translateY(8px);opacity:1}to{transform:translateY(-8px);opacity:.4}}.golden-stage{position:relative;aspect-ratio:4 / 3;margin-bottom:58px;overflow:visible;border-radius:22px;background:linear-gradient(#0f4c560a,#0f4c561f),url(/images/games/amusement-pass-golden-melody-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24;touch-action:none}.award-card{position:absolute;top:var(--award-y, -16%);left:var(--award-x);z-index:3;min-width:112px;padding:8px 10px;border-radius:12px;color:#5f4216;background:linear-gradient(135deg,#fff4c6,#d7a83f);box-shadow:0 10px 24px #082a3033,0 0 22px #f2c96d80;font-size:.78rem;font-weight:1000;text-align:center;transform:translate(-50%,-50%);will-change:top}.catcher-disc{position:absolute;left:var(--catcher-x, 50%);bottom:8%;z-index:4;width:108px;height:34px;border:0;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff6d7,#f2c96d 46%,#0f4c56b8 66%,#0f4c562e);box-shadow:0 0 28px #f2c96dc2;transform:translate(-50%)}.golden-hud{position:absolute;left:8%;right:8%;top:7%;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--pass-green);font-size:.82rem;font-weight:1000}.golden-hud span{padding:6px 10px;border-radius:999px;background:#fffdf4b8;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.hiatus-stage{position:relative;aspect-ratio:4 / 3;margin-bottom:58px;overflow:visible;border-radius:22px;background:linear-gradient(#0f4c560a,#0f4c5624),url(/images/games/amusement-pass-hiatus-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24;touch-action:none}.hiatus-hud{position:absolute;left:8%;right:8%;top:7%;z-index:5;display:flex;justify-content:space-between;gap:10px;color:var(--pass-green);font-size:.82rem;font-weight:1000}.hiatus-hud span{padding:6px 10px;border-radius:999px;background:#fffdf4b8;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.memory-note{position:absolute;left:var(--note-x);top:var(--note-y);z-index:5;min-width:92px;padding:11px 12px;border:0;border-radius:8px 14px 12px 10px;color:#71521e;background:linear-gradient(145deg,#fff2c9,#e4c98c);box-shadow:0 10px 20px #082a3038;font-family:var(--font-display);font-size:1rem;font-weight:900;text-align:center;transform:translate(-50%,-50%) rotate(var(--note-rotate));cursor:grab;touch-action:none;transition:box-shadow .2s ease,opacity .2s ease}.memory-note.is-dragging{z-index:8;cursor:grabbing;box-shadow:0 18px 32px #082a3052,0 0 20px #f2c96d7a}.memory-note.is-collected{opacity:0;pointer-events:none}.memory-note.is-throwing{z-index:10;pointer-events:none;animation:note-throw .62s cubic-bezier(.2,.9,.2,1) forwards}@keyframes note-throw{45%{transform:translate(-50%,-88%) rotate(calc(var(--note-rotate) + 18deg)) scale(1.08)}to{left:50%;top:82%;transform:translate(-50%,-50%) rotate(8deg) scale(.28);opacity:0}}.envelope-zone{position:absolute;left:50%;bottom:5%;z-index:3;display:grid;place-items:center;width:30%;height:24%;border:2px dashed rgba(255,244,198,.8);border-radius:22px;color:#fffdf4eb;background:#0f4c562e;font-size:.8rem;font-weight:1000;text-align:center;text-shadow:0 2px 8px rgba(8,42,48,.45);box-shadow:0 0 26px #f2c96d57,inset 0 0 20px #fff4c61f;pointer-events:none;transform:translate(-50%)}.envelope-zone.is-ready{box-shadow:0 0 42px #f2c96dcc}.hiatus-stage .slot-spin-btn{bottom:-62px;z-index:9;box-shadow:0 12px 30px #082a3047,0 0 26px #f2c96d99}.oaeen-stage{position:relative;aspect-ratio:1 / 1;margin-bottom:58px;overflow:hidden;border-radius:22px;background:linear-gradient(#0f4c5608,#0f4c561f),url(/images/games/amusement-pass-oaeen-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24;touch-action:none}.oaeen-instruction{width:fit-content;max-width:100%;margin:14px auto 10px;padding:6px 10px;border-radius:999px;color:var(--pass-green);background:#fffdf4b8;box-shadow:0 8px 22px #082a301f;font-size:.78rem;font-weight:1000;line-height:1.5;text-align:center;backdrop-filter:blur(10px)}.oaeen-hud{position:absolute;left:8%;right:8%;top:6%;z-index:5;display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:8px 10px;color:var(--pass-green);font-size:.78rem;font-weight:1000;pointer-events:none}.oaeen-hud span{justify-self:start;width:fit-content}.oaeen-hud span,.part-bank{padding:6px 10px;border-radius:999px;background:#fffdf4b8;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.word-board{position:absolute;left:11%;right:11%;top:27%;z-index:4;display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:5%}.word-box{position:relative;aspect-ratio:.72 / 1;border:1px dashed rgba(15,76,86,.22);border-radius:16px;background:#fffdf42e}.name-part{position:absolute;left:var(--part-x);top:var(--part-y);z-index:8;width:var(--part-w, 30%);height:var(--part-h, 24%);display:grid;place-items:center;border:0;border-radius:14px;color:var(--pass-green);background:#fffdf4c7;box-shadow:0 10px 20px #082a302e;font-family:var(--font-display);font-size:clamp(1.5rem,7vw,2.5rem);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transform:translate(-50%,-50%)}.name-part.is-fixed{color:var(--pass-green);background:#fffdf4c7;box-shadow:0 10px 20px #082a302e;cursor:grab}.name-part.is-removable{box-shadow:0 10px 22px #082a302e,0 0 18px #f2c96d85}.name-part.is-dragging{z-index:40;cursor:grabbing;box-shadow:0 18px 34px #082a3047,0 0 24px #f2c96d94;pointer-events:none;will-change:transform}.part-bank{position:absolute;left:8%;right:8%;bottom:5%;z-index:3;display:flex;align-items:center;justify-content:center;min-height:58px;border:2px dashed rgba(15,76,86,.22);color:var(--pass-green);font-size:.82rem;font-weight:1000}.part-bank .name-part{position:static;z-index:8;width:44px;height:44px;margin:0 4px;font-size:1.7rem;transform:none}.oaeen-complete-mark{position:absolute;left:50%;top:24%;z-index:6;padding:8px 18px;border-radius:999px;color:#fffdf4;background:var(--pass-green);font-family:var(--font-display);font-size:1.7rem;transform:translate(-50%) rotate(-3deg);box-shadow:0 14px 28px #082a3038}.play-dialog.is-oaeen-complete #completeNodeButton{margin-top:0}.play-dialog.is-oaeen-complete .oaeen-stage{margin-bottom:10px}.twenty-stage{position:relative;aspect-ratio:4 / 3;margin-bottom:10px;overflow:hidden;border-radius:22px;background:linear-gradient(#0f4c5605,#0f4c5614),url(/images/games/amusement-pass-twenty-years-scene.jpg) center / cover;box-shadow:inset 0 0 0 1px #ffffff24}.twenty-hud{position:absolute;left:8%;right:8%;top:7%;z-index:6;display:flex;justify-content:space-between;gap:10px;color:var(--pass-green);font-size:.78rem;font-weight:1000}.twenty-hud span{padding:6px 10px;border-radius:999px;background:#fffdf4c2;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.confetti-launcher{position:absolute;left:50%;top:82%;z-index:7;width:58px;height:58px;border:0;border-radius:50%;color:#fffdf4;background:radial-gradient(circle,#fff4c6 0 22%,#f2c96d 23% 52%,#14b8b3bd 53% 100%);box-shadow:0 0 28px #f2c96ddb,0 0 56px #14b8b370;transform:translate(-50%,-50%);cursor:pointer}.confetti-launcher:disabled{opacity:.58;cursor:default}.flying-confetti{position:absolute;left:50%;top:82%;z-index:5;width:46px;height:46px;border-radius:12px;object-fit:cover;box-shadow:0 10px 18px #082a303d;pointer-events:none;animation:confetti-burst 1.2s cubic-bezier(.16,.84,.32,1) forwards;animation-delay:var(--delay, 0ms)}@keyframes confetti-burst{0%{transform:translate(-50%,-50%) scale(.4) rotate(0);opacity:0}14%{opacity:1}58%{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1) rotate(var(--rot));opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--fall))) scale(.86) rotate(calc(var(--rot) + 90deg));opacity:0}}.confetti-collection{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:10px;padding:8px;border-radius:16px;background:#082a3047;backdrop-filter:blur(10px)}.confetti-collection img{width:100%;aspect-ratio:1 / 1;border-radius:8px;object-fit:cover;opacity:.22;filter:grayscale(.8);transition:opacity .2s ease,filter .2s ease,transform .2s ease}.confetti-collection img.is-collected{opacity:1;filter:none;transform:translateY(-2px)}.six-stage{position:relative;aspect-ratio:1 / 1;margin-bottom:10px;overflow:hidden;border-radius:22px;background:url(/images/games/amusement-pass-six-scene.jpg) center top / cover;box-shadow:inset 0 0 0 1px #ffffff2e}.six-hud{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:#0f4c56;font-size:.82rem;font-weight:1000}.six-hud span{padding:6px 10px;border-radius:999px;background:#fffdf4c2;box-shadow:0 8px 22px #082a301f;backdrop-filter:blur(10px)}.six-glasses{position:absolute;left:var(--glasses-x);top:var(--glasses-y);z-index:5;width:66px;height:24px;border:0;background:transparent;cursor:pointer;transform:translate(-50%,-50%) rotate(var(--glasses-r, 0deg))}.six-glasses:before,.six-glasses:after{content:"";position:absolute;top:2px;width:24px;height:18px;border:4px solid #fffdf4;border-radius:5px;background:#fffdf475;box-shadow:0 4px 10px #082a302e}.six-glasses:before{left:7px}.six-glasses:after{right:7px}.six-glasses span{position:absolute;left:34px;top:10px;width:8px;height:4px;border-top:3px solid #fffdf4}.six-glasses.is-lit:before{background:#00a9c5db}.six-glasses.is-lit:after{background:#da2a31db}.six-glasses.is-lit{filter:drop-shadow(0 0 14px rgba(255,253,244,.95));animation:glasses-pop .34s ease}@keyframes glasses-pop{50%{transform:translate(-50%,-50%) rotate(var(--glasses-r, 0deg)) scale(1.18)}}.six-finale{position:absolute;left:50%;top:50%;z-index:4;width:38%;aspect-ratio:1 / 1;border-radius:50%;background:conic-gradient(#14b8b3,#9b5cf6,#f2c96d,#3b82f6,#f08a5d,#ff7aa8,#14b8b3);opacity:0;filter:blur(12px);transform:translate(-50%,-50%) scale(.6);transition:opacity .35s ease,transform .35s ease}.six-finale.is-visible{opacity:.46;transform:translate(-50%,-50%) scale(1)}.event-line{display:block;margin-bottom:8px;color:var(--pass-green);font-weight:900}.achievement-card{margin-top:16px;padding:14px;border-radius:18px;background:var(--pass-cream)}.achievement-card span{color:var(--color-text-light);font-size:.78rem;font-weight:900}.achievement-card strong{display:block;color:var(--pass-green);font-size:1.1rem}.achievement-list{display:grid;gap:10px;margin-top:16px}.achievement-list-item{padding:12px 14px;border-radius:16px;color:var(--pass-green);background:var(--pass-cream);font-weight:900}.achievement-list-item span{display:block;margin-top:4px;color:var(--color-text-light);font-size:.82rem;font-weight:700;line-height:1.5}.claim-complete-btn{width:100%;min-height:34px;border:0;border-radius:999px;color:var(--pass-green);background:linear-gradient(90deg,var(--pass-gold),#fff5d8);font:inherit;font-size:.9rem;font-weight:1000;cursor:pointer;box-shadow:0 0 24px #f2c96d70}.debut-progress.is-ready{cursor:pointer;background:#082a306b;box-shadow:0 0 22px #f2c96d42}.debut-progress.is-ready .debut-progress-bar{height:10px}.summary-view{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;overflow:auto}.summary-view[hidden]{display:none}.summary-card{position:relative;z-index:2;width:min(100%,440px);padding:22px 20px 20px;border:1px solid rgba(255,244,198,.68);border-radius:30px;text-align:center;background:radial-gradient(circle at 50% 0%,rgba(242,201,109,.28),transparent 34%),linear-gradient(180deg,#fffdf4f0,#fff7dedb);box-shadow:0 28px 70px #082a3047,inset 0 0 0 1px #ffffff6b;backdrop-filter:blur(18px)}.summary-eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;color:#fffdf4;background:var(--pass-green);font-size:.76rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.summary-card h2{margin-bottom:8px;text-shadow:0 2px 0 rgba(242,201,109,.34)}.summary-card p:not(.summary-topic):not(.summary-eyebrow){font-size:.96rem}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.summary-stat{padding:10px 6px;border-radius:18px;color:var(--pass-green);background:#fffdf4b8;box-shadow:inset 0 0 0 1px #f2c96d57}.summary-stat strong{display:block;font-family:var(--font-display);font-size:1.8rem;line-height:1}.summary-stat span{font-size:.72rem;font-weight:900}.stamp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.stamp{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:50px;padding:7px 9px;border-radius:16px;color:var(--pass-green);background:#fffdf4ad;box-shadow:inset 0 0 0 1px #f2c96d4d;font-size:.76rem;font-weight:900;line-height:1.18;text-align:left}.stamp-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#7a5a18;background:radial-gradient(circle at 50% 42%,#fff7cf,#f2c96d 72%);box-shadow:inset 0 0 0 2px #fffdf4b3}.stamp-title{display:block;color:#0f4c56;font-size:.82rem}.stamp-year{display:block;margin-top:2px;color:#0f4c569e;font-size:.68rem}.summary-highlight{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px}.summary-highlight span{padding:7px 10px;border-radius:999px;color:#7a5a18;background:#f2c96d38;box-shadow:inset 0 0 0 1px #f2c96d4d;font-size:.8rem;font-weight:1000}.summary-topic{margin:14px 0 0;color:#0f4c56b8;font-size:.86rem;font-weight:900}.summary-actions .secondary-btn{color:var(--pass-green);background:#fffdf4bd;border:1px solid rgba(15,76,86,.18);box-shadow:inset 0 0 0 1px #ffffff61}.summary-actions{display:grid;gap:10px;margin-top:18px}@media(min-width:760px){.pass-header{grid-template-columns:auto 1fr auto;align-items:start;padding:22px 26px 0}.title-block{grid-column:auto;text-align:center;justify-self:center}.node-btn{width:54px;height:54px}.status-panel{left:50%;right:auto;width:min(520px,calc(100% - 40px));transform:translate(-50%)}.summary-card{margin-left:auto;margin-right:8vw}}@media(max-width:759px){.pass-header{align-items:start;pointer-events:none}.back-link,.reset-btn,.node-btn{pointer-events:auto}.title-block{padding-right:78px}.title-block h1{font-size:clamp(2rem,14vw,3.4rem)}.node-btn{width:42px;height:42px}}
