@font-face{font-family:Smiley;src:url('assets/fonts/SmileySans-Oblique.ttf.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Display and reading faces have distinct jobs. No synthetic bold or skew. */
.cover h1,.cover-copy>p,.contents h2,.contents .chapter b,.page-heading h2,.cast h2,#insert .insert-top h2,.project-heading h2,.sample-caption h3,.bill-caption h3,#drink-title,.pocket h3{font-family:Smiley,Noto,sans-serif!important;font-weight:400!important;font-synthesis:none;transform:none;letter-spacing:.01em!important;text-shadow:none}
.cover h1{font-size:44px;border-bottom:0;line-height:1.1;padding:0;margin-top:10px}.cover-copy>p{font-size:29px;margin-bottom:0}.cover-copy>.label b{font-family:Smiley;font-weight:400;font-size:22px}.cover h1:after{content:'';display:block;width:90px;height:5px;background:#222;margin-top:15px;transform:rotate(-5deg)}
.cover .portrait{background:#46ccef;box-shadow:9px 9px #e94894;border:2px solid #171717;padding:9px 9px 12px;border-radius:2px 2px 32px 2px}.cover .portrait:before{background:#f9faff;border-radius:50%;padding:20px 13px;right:-10px;top:-20px;font-family:Smiley;font-size:13px;max-width:100px;text-align:center}.cover .portrait>span{font-family:Smiley;font-size:15px;letter-spacing:.02em}.cover .portrait-save{font-weight:500}.cover .portrait-front{border-radius:1px 1px 22px 1px}.portrait-back{border-radius:1px 1px 22px 1px}
.contents h2 span{font-family:Smiley;font-size:64px;font-weight:400;transform:none}.contents .chapter b{font-size:26px}.contents .chapter small{letter-spacing:0}.contents .chapter>span{font-size:42px}.contents{background:#f5753d}.contents .chapter[aria-pressed=true]{background:#f8f6f0;box-shadow:5px 5px #df327f}
.sample-caption h3,.bill-caption h3{font-size:26px!important}.bill-invitation{font-size:13px;line-height:1.7;padding:0 18px 18px;margin:0}.show-bill:first-child .bill-invitation{grid-column:1/-1}.bill-caption p{display:none}.sample-art{background:#f4f5f5!important}.sample-art .sample-mark{font-family:Smiley}.sample-art strong{font-family:Smiley;font-weight:400;font-size:28px}
.reading-art{background:#ee4b98;color:#16171a;padding:25px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.reading-art>b{font:400 58px/.95 Smiley;letter-spacing:-.02em;z-index:1}.reading-art b i{font-style:normal;color:#fff9f3}.reading-art:after{content:'↗';position:absolute;font:180px Barlow;right:16px;bottom:10px;color:#ff905b}.reading-art>span,.reading-art small{font-size:10px;z-index:1}.bill-picture:has(.reading-art){min-height:260px}.audience-question{font:400 clamp(22px,2.5vw,32px)/1.35 Smiley;max-width:23ch;border-left:5px solid #ec3c89;padding-left:16px;margin:24px 0}.project-heading h2{font-size:34px!important}.project-heading .case-cue{display:none}
.production-notes{border-top:2px dashed #252525;border-bottom:2px solid #252525;margin:28px 0}.production-notes>summary{list-style:none;cursor:pointer;font:400 23px Smiley;padding:18px 0;display:flex;justify-content:space-between}.production-notes[open]>summary span{transform:rotate(45deg)}.production-notes .status-slip{margin:20px 0}
#insert{background:transparent;border:0;box-shadow:none;padding:0!important}#insert .insert-top{border:0;padding:0;margin-bottom:18px}#insert .insert-top h2{font-size:clamp(30px,3.2vw,44px)!important;max-width:none;margin:15px 0}#insert .insert-top>.label{background:transparent;padding:0}
.merch-jacket{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(190px,1fr);min-height:390px;border:2px solid #222;box-shadow:8px 9px #202124;position:relative;margin-bottom:32px;background:#f7f6f1}
.jacket-graphic{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;justify-content:space-between;background:#ec4b99;padding:26px;color:#202024}.jacket-graphic>strong{font:400 clamp(60px,7vw,100px)/1 Smiley;z-index:1}.jacket-graphic>i{position:absolute;right:-4px;top:65px;font:180px/1 Barlow;opacity:.28}.edition-stamp{font:11px Noto;border-bottom:1px solid;padding-bottom:10px;z-index:1}.jacket-hook{font:26px/1.1 Smiley;max-width:8em;z-index:1}.jacket-graphic>small{font:9px Noto;margin-top:20px;z-index:1}.jacket-side{padding:24px;display:flex;flex-direction:column;align-items:stretch;border-left:2px dashed #222;min-width:0}.jacket-number{font:600 62px/1 Barlow;display:flex;align-items:baseline;gap:8px}.jacket-number small{font:12px Noto}.jacket-side>p{font-size:14px;line-height:1.85;flex:1;margin:22px 0}.pull-leaf{background:#202124;color:#fff8f1;padding:14px;border:0;font:20px Smiley;display:flex;justify-content:space-between;gap:10px;text-align:left}.pull-leaf[aria-expanded=true]{background:#e73d87}.jacket-side .github-pass{font-size:11px;display:block;background:transparent;color:#222!important;border:0!important;border-bottom:1px solid!important;padding:12px 0!important;margin-top:12px!important;box-shadow:none}.jacket-side .github-pass span{display:block;font-size:9px;margin-top:5px}.method-leaf{background:#fffaf4;padding:24px;border:1px solid #222;box-shadow:4px 4px #ed4c97;animation:pull-open .3s ease-out}.method-leaf .detail-stage{box-shadow:none!important}.method-leaf>.boundary{font-size:11px}.merch-jacket.writing{grid-template-columns:minmax(0,1fr) minmax(190px,1.2fr)}.writing .jacket-graphic{background:#f57f44;border-right:9px double #222;background-image:repeating-linear-gradient(0deg,transparent 0 31px,#22222215 32px 33px)}.writing .jacket-graphic strong{writing-mode:vertical-rl;font-size:80px;align-self:flex-start}.writing .jacket-hook{position:absolute;right:20px;top:95px;writing-mode:vertical-rl;font-size:23px;max-height:210px}.writing .jacket-graphic>i{display:none}
.knowledge .jacket-graphic{background:#90b8ff;border-radius:0 0 80px 0}.knowledge .jacket-graphic>i{opacity:1;color:#f8f8f2;top:90px;right:15px}.knowledge .jacket-graphic>strong{font-size:74px}.building .jacket-graphic{background:#51cdd8;clip-path:polygon(0 0,94% 0,100% 6%,100% 94%,94% 100%,0 100%);border:10px solid #51cdd8}.building .jacket-graphic:before{content:'';position:absolute;top:8px;left:calc(50% - 28px);width:56px;height:7px;border-radius:8px;background:#222}.building .edition-stamp{margin-top:15px}.personal .jacket-graphic{background:#b894f9;border-radius:0 48% 48% 0}.personal .jacket-graphic>i{font-size:250px;top:55px;right:-30px;opacity:.6;color:#f5f3ed}.personal .jacket-hook{font-size:23px}.jacket-graphic.with-image{background:#f9f7f1;padding:16px}.jacket-graphic.with-image figure{margin:0;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0}.jacket-graphic.with-image img{max-height:320px;width:100%;object-fit:contain}.jacket-graphic.with-image figcaption{font-size:10px}.jacket-graphic.with-image .photo{box-shadow:none!important;background:transparent!important;padding:0!important}
.corner-surprise{display:block;width:fit-content;max-width:100%;position:relative;margin:28px 0 12px auto}.wristband{border:1px solid #222;border-radius:40px;background:repeating-linear-gradient(90deg,#49cfe4 0 3px,#76ddec 4px 6px);font:17px Smiley;padding:9px 21px;transform:rotate(-5deg);box-shadow:2px 3px #222}.wristband-reveal{display:flex;flex-direction:column;background:#212124;color:#fff5eb;padding:18px;gap:10px;margin:14px 0 0;max-width:250px}.wristband-reveal>b{font:21px Smiley}.wristband-reveal a,.wristband-reveal small{font-size:11px}.crowd{font-size:30px;color:#ee68b5;letter-spacing:6px;animation:crowd-wave .8s ease-in-out 3 alternate}.record-pocket{background:#f17fac!important;border:2px solid #222!important;padding:30px!important;width:min(360px,calc(100vw - 32px))!important}.record-pocket>small{font-size:9px}.mini-record{width:180px;height:180px;border-radius:50%;background:repeating-radial-gradient(circle,#242124 0 4px,#413a40 5px 6px);display:grid;place-items:center;margin:22px auto 12px;box-shadow:6px 7px #c2518477}.mini-record span{display:grid;place-items:center;text-align:center;width:84px;height:84px;border-radius:50%;background:#75d9e9;font:23px/1.1 Smiley;padding:8px;color:#222}.mini-record.spinning{animation:record-turn .7s ease-out}.record-pocket h3{font-size:29px;margin:10px 0}.record-choices{display:flex;flex-wrap:wrap;gap:8px}.record-choices button{background:transparent;border:1px solid #222;padding:8px 12px;font:16px Smiley}.record-choices button[aria-pressed=true]{background:#222;color:white}.record-caption{font:23px Smiley;margin:16px 0 0}.record-pocket .pocket-close{z-index:2}
@keyframes pull-open{from{opacity:.4;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes record-turn{to{transform:rotate(360deg)}}@keyframes crowd-wave{to{transform:translateX(9px);color:#67d9ed}}
@media(max-width:700px){.cover h1{font-size:34px}.cover-copy>p{font-size:26px}.cover .portrait:before{font-size:11px;padding:12px;max-width:90px}.contents .chapter b{font-size:19px}.contents .chapter>span{font-size:28px}.contents h2 span{font-size:36px}.merch-jacket,.merch-jacket.writing{grid-template-columns:1fr;box-shadow:4px 5px #222}.jacket-graphic{min-height:270px;padding:20px}.jacket-graphic>strong{font-size:82px}.jacket-side{padding:20px;border-left:0;border-top:2px dashed}.jacket-number{font-size:38px}.jacket-side>p{margin:14px 0}.jacket-graphic>i{right:15px;font-size:150px}.writing .jacket-graphic strong{font-size:80px;writing-mode:horizontal-tb;margin:20px 0}.writing .jacket-hook{position:static;writing-mode:horizontal-tb}.personal .jacket-graphic{border-radius:0 0 60px 0}.method-leaf{padding:15px}.sample-caption h3,.bill-caption h3{font-size:23px!important}.production-notes>summary{font-size:20px}.jacket-graphic.with-image img{max-height:300px}}
@media(prefers-reduced-motion:reduce){.method-leaf,.mini-record.spinning,.crowd{animation:none}}
.cover .portrait:before{content:'台下观众\A 台后制作';white-space:pre;line-height:1.5}
.merch-jacket[data-skill=film-poster] .jacket-graphic{border-top:14px dashed #222;border-bottom:14px dashed #222;background:#ec4b99}.merch-jacket[data-skill=cover-system] .jacket-graphic{background:linear-gradient(0deg,#4bcee4 0 32%,#ed4c99 32%);border:12px solid #f7f5f0}.merch-jacket[data-skill=image-kit] .jacket-graphic{background-color:#f58b53;background-image:linear-gradient(90deg,transparent 49%,#222 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#222 50%,transparent 51%)}.merch-jacket[data-skill=slides] .jacket-graphic{background:#b3a2f3;border-bottom:20px double #222}.merch-jacket[data-skill=collage-poem] .jacket-graphic>strong{font-size:60px;background:#fff9ef;transform:rotate(-5deg);padding:6px}.merch-jacket[data-skill=codex-theme] .jacket-graphic{background:linear-gradient(135deg,#51cdd8 0 50%,#f779b5 50%);border-color:#51cdd8}
.wristband-reveal button{background:#76ddec;color:#222;border:0;padding:8px;font:16px Smiley}.mini-rink{position:relative;height:90px;width:200px;max-width:100%;border:2px solid #75d7eb;border-radius:30px;background:linear-gradient(90deg,transparent 49%,#ff85b4 50%,transparent 51%),#e8faff;overflow:hidden}.mini-rink i{position:absolute;width:16px;height:10px;border-radius:50%;background:#222;left:20px;top:42px;transition:transform .65s}.mini-rink>b{position:absolute;right:10px;top:23px;font-size:35px;color:#f35894}.mini-rink.shot i{transform:translateX(140px)}.mini-tea{display:block;position:relative;width:65px;height:75px;border:3px solid #eef5f2;border-top:0;border-radius:0 0 22px 22px;margin:10px auto;overflow:hidden}.mini-tea i{position:absolute;inset:12px 0 0;background:#c4953c;transform:translateY(100%);transition:transform 1.1s ease-out}.mini-tea.steeped i{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.mini-tea i,.mini-rink i{transition:none}}
.bill-picture:has(.reading-art){width:100%;aspect-ratio:auto;min-width:0}.reading-art{min-width:0;width:100%}
.merch-jacket.knowledge{grid-template-columns:1fr}.knowledge .jacket-graphic{min-height:220px;border-radius:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;background:#90b8ff}.knowledge .edition-stamp{grid-column:1/-1}.knowledge .jacket-graphic>strong{font-size:85px}.knowledge .jacket-graphic>i{right:28px;top:35px;font-size:170px;opacity:.45}.knowledge .jacket-hook{font-size:29px;max-width:8ch;justify-self:end}.knowledge .jacket-graphic>small{grid-column:1/-1;margin:0}.knowledge .jacket-side{border-left:0;border-top:2px dashed;display:grid;grid-template-columns:60px 1fr;gap:12px 20px;align-items:start}.knowledge .jacket-side>p{margin:0}.knowledge .pull-leaf,.knowledge .github-pass{grid-column:2}.knowledge .jacket-number{font-size:45px;display:block}.knowledge .jacket-number small{display:block;margin-top:5px}.building .jacket-graphic{min-height:400px}.personal .jacket-graphic{aspect-ratio:1;align-self:center;min-height:0;border-radius:50%;margin:20px;padding:38px;background:repeating-radial-gradient(circle,#b894f9 0 6px,#a784e9 7px 8px);text-align:center;align-items:center}.personal .jacket-graphic>strong{font-size:58px;background:#fff8ed;border-radius:50%;width:130px;height:130px;display:grid;place-items:center}.personal .jacket-graphic>i{display:none}.personal .edition-stamp{font-size:9px;border:0}.personal .jacket-hook{font-size:17px}.personal .jacket-graphic>small{font-size:8px;margin-top:8px}
@media(max-width:700px){.knowledge .jacket-graphic{grid-template-columns:1fr}.knowledge .jacket-hook{justify-self:start;max-width:none;font-size:23px}.knowledge .jacket-graphic>strong{font-size:70px}.knowledge .jacket-side{grid-template-columns:35px 1fr;gap:12px}.knowledge .jacket-number{font-size:30px}.personal .jacket-graphic{aspect-ratio:auto;min-height:270px;margin:16px;padding:26px}.personal .jacket-graphic>strong{font-size:49px;width:110px;height:110px}.building .jacket-graphic{min-height:300px}}
.knowledge .jacket-hook{max-width:none;font-size:26px;text-wrap:balance}.personal .jacket-graphic>strong{font-size:34px;white-space:nowrap}.merch-jacket[data-skill=collage-poem] .jacket-graphic>strong{font-size:34px;padding:0}
/* A compact, persistent index instead of a stretched empty left leaf. */
@media(min-width:701px){.spread{grid-template-columns:minmax(260px,.78fr) minmax(0,2fr);align-items:start;background:repeating-linear-gradient(90deg,#d6dddc 0 1px,#edf0eb 1px 8px)}.contents{position:sticky;top:14px;align-self:start;padding:24px 22px 18px;border-bottom:2px solid #222;box-shadow:0 8px 0 #df327f;max-height:calc(100dvh - 28px);overflow:auto}.contents h2{margin:18px 0 24px}.contents h2 span{font-size:52px}.contents .chapter{padding:14px 8px}.contents .chapter b{font-size:23px}.contents .folio{margin-top:22px;padding-top:18px}.contents .folio .aside-egg{display:inline-block;margin:12px 0 0}.contents>.label{font-size:9px}}
.wristband-reveal{width:260px;max-width:100%;padding:20px;gap:12px;border:1px solid #25252a;border-radius:4px 4px 24px 4px;box-shadow:5px 6px #ef699e66;position:relative;background:#eff5eb;color:#203632}.wristband-reveal>b{font-size:24px}.object-serial{font:9px Noto;letter-spacing:.12em;border-bottom:1px dashed #57777a66;padding-bottom:10px}.wristband-reveal button{background:#244e55;color:#f6f8ef;border-radius:25px;padding:10px}.wristband-reveal>a{border-top:1px solid #57777a44;padding-top:10px;text-align:right}.squash-court{display:block;width:100%;height:auto;border-radius:6px}.squash-ball{transform-origin:center}.squash-court.playing .squash-ball{animation:squash-return 1s ease-in-out}.squash-court.playing .squash-racket{animation:racket-return 1s ease-in-out}.tea-pocket{background:#e9efde}.mini-tea{width:112px;height:90px;border:0;border-bottom:3px solid #9db2a3;border-radius:8px 8px 45px 45px;background:linear-gradient(100deg,#ffffffa6,#fcfff33b 40%,#ffffffa6);box-shadow:0 6px 0 -3px #bdc8ae,0 15px 17px -13px #4e6f5c;isolation:isolate;margin:12px auto 18px}.mini-tea:before{content:'';position:absolute;inset:0 0 auto;height:14px;border:2px solid #a8bca5;border-radius:50%;z-index:3;background:#edf4df66}.mini-tea i{background:linear-gradient(#dcb968bb,#9d702ddd);inset:10px 5px 5px;border-radius:0 0 42px 42px;z-index:-1}.mini-tea em{position:absolute;inset:auto 10px 15px;height:12px;border-bottom:1px solid #ffffff88;border-radius:50%}.tea-leaf{position:absolute;bottom:13px;left:38px;width:19px;height:7px;border-radius:100% 0 100% 0;background:#748148;transform:rotate(-28deg);transition:transform 1.2s,bottom 1.2s}.tea-leaf.leaf-two{left:57px;bottom:18px;transform:rotate(45deg);width:14px}.tea-leaf.leaf-three{left:46px;bottom:24px;width:10px}.steeped .tea-leaf{bottom:40px;transform:rotate(25deg)}.steeped .leaf-two{bottom:28px;transform:rotate(-45deg)}.concert-pocket{background:#242c40;color:#fff5ee}.concert-mini{display:block;width:100%;height:auto}.concert-pocket .object-serial{border-color:#d8d8e755}.concert-pocket>a{border-color:#d8d8e755}.record-pocket{border-radius:4px 4px 28px 4px;background:linear-gradient(110deg,#f49dc1,#ffceda)!important;box-shadow:6px 8px #292330!important}.record-pocket .mini-record{border:7px solid #242124;box-shadow:12px 8px 0 #ffffff88,16px 11px 0 #28233222}.record-choices button{border-radius:20px;padding:9px 14px}.record-caption{border-top:1px dashed #75495b66;padding-top:12px}.record-pocket>small{letter-spacing:.1em}
.insert-running-head{padding:0 0 14px!important;margin:0 0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #25252a;color:#25252a;font:11px Noto}.insert-running-head b{font:36px Barlow}.method-leaf{padding:26px;background:#fffdf7;box-shadow:7px 8px #e89ab766;border:0;border-top:7px solid #ee78a7}.method-leaf .detail-stage{background:transparent!important;border:0!important;padding:0!important}.method-leaf .cue-sheet{background:transparent!important;border:0!important;padding:0!important}.method-leaf .cue-sheet>small{font:22px Smiley;color:#26272a}.method-leaf .cue-sheet li{position:relative;border:0!important;background:#e9efeb!important;padding:16px!important;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.route-number{font:30px Barlow;font-style:normal;color:#a4436c}.method-leaf .cue-sheet li>span{font-size:10px;min-width:0}.method-leaf .cue-sheet li>b{font-size:15px}.method-leaf .method{gap:24px!important;border:0!important;padding:0!important;margin:25px 0!important}.method-leaf .method section>b,.method-leaf .evidence-fold summary{font:22px Smiley}.method-leaf .method section p{font-size:14px;line-height:1.9}.takeaway-slip{padding:20px 24px;background:#f7d5e1;border-left:5px solid #cf4e83;margin:24px 0;position:relative}.takeaway-slip h3{font:25px Smiley;margin:0 0 10px}.takeaway-slip .result-note{font-size:14px;margin:0}.evidence-envelope{border-top:1px dashed #586969;padding:14px 0}.evidence-envelope summary{cursor:pointer;display:flex;justify-content:space-between;font:19px Smiley;list-style:none}.evidence-envelope p{font-size:12px;line-height:1.9}.close-leaf{padding:10px 18px;border:1px solid #222;background:#fff8f3;font:17px Smiley;margin-top:18px}.production-notes[open]{padding:0 20px 20px;background:#fffdf7;border-top:6px solid #e986b0}.production-notes .case-evidence{display:grid;grid-template-columns:1fr;gap:0}.production-notes .case-evidence section{border-bottom:1px solid #bbb;padding:12px 0}.production-notes .case-evidence summary{font:21px Smiley}.production-notes .case-evidence p{font-size:14px;line-height:1.85}
/* Illustrated three-pose flipbook; motion only, no geometric character stand-in. */
.squash-pocket{background:#e4f5ef}
.squash-court{position:relative;aspect-ratio:1;overflow:hidden;isolation:isolate;border-radius:8px;box-shadow:0 4px 12px #22595522}
.squash-court .squash-frames{display:block;width:300%;max-width:none;height:100%;object-fit:fill;transform:translateX(-66.666667%)}
.squash-court .squash-ball{position:absolute;width:6px;height:6px;border-radius:50%;background:#202a31;left:25%;top:53%;box-shadow:1px 2px 2px #fff5;transform:none}
.squash-impact{position:absolute;left:30%;top:23%;width:17px;height:17px;border:2px solid #fff;border-radius:50%;opacity:0;transform:translate(-50%,-50%)}
.squash-court.playing .squash-frames{animation:squash-panda 1.2s steps(1,end)}
.squash-court.playing .squash-ball{animation:squash-return 1.2s linear}
.squash-court.playing .squash-impact{animation:squash-impact 1.2s linear}
@keyframes squash-panda{0%,16%{transform:translateX(-66.666667%)}17%,64%{transform:translateX(-33.333333%)}65%,100%{transform:translateX(-66.666667%)}}
@keyframes squash-return{0%,16%{left:25%;top:53%;transform:scale(1)}42%{left:30%;top:23%;transform:scale(.7)}80%{left:12%;top:84%;transform:scale(1.1)}100%{left:25%;top:53%;transform:scale(1)}}
@keyframes squash-impact{0%,40%,65%,100%{opacity:0;scale:.4}43%{opacity:1;scale:.5}60%{opacity:0;scale:1.6}}
@media(prefers-reduced-motion:reduce){.squash-court.playing .squash-frames,.squash-court.playing .squash-impact{animation:none}.squash-court.playing .squash-ball{animation:none!important;transform:none!important;left:30%;top:23%}}
@media(max-width:700px){.method-leaf{padding:17px}.method-leaf .cue-sheet ol{grid-template-columns:1fr!important}.method-leaf .cue-sheet li{display:grid;grid-template-columns:35px 1fr;gap:5px 10px}.route-number{grid-row:span 2}.method-leaf .cue-sheet li>span{margin:0}.wristband-reveal{width:245px}.production-notes[open]{padding:0 12px 16px}.takeaway-slip{padding:17px}.insert-running-head{gap:12px}}
@media(prefers-reduced-motion:reduce){.squash-court.playing .squash-ball,.squash-court.playing .squash-racket{animation:none}.squash-court.playing .squash-ball{transform:translate(-105px,2px)}.tea-leaf{transition:none}}
@media(min-width:701px){#insert .method-leaf .cue-sheet ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#insert .method-leaf .cue-sheet li{min-height:135px}#insert[data-category=visual] .method-leaf .annotation-rail{border-left:0;padding-left:0}#insert[data-category=visual] .method-leaf .detail-stage{grid-template-columns:1fr}}
/* Three different keepsakes, not three copies of the same record. */
.fan-object{width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px;background:#f8f5f0;color:#202024;transform:none;border:2px solid #222;border-radius:4px;box-shadow:8px 9px #e975ac66}.fan-object>small{font-size:10px;letter-spacing:.09em}.fan-object h3{font:32px/1.2 Smiley;margin:18px 0 24px}.fan-object .pocket-close{position:sticky;top:0;float:right;z-index:5;background:#f8f5f0;border-radius:50%}.supergirl-object{background:#f8f5f0;border-top:9px solid #ec4b93}.supergirl-object h3{display:flex;align-items:baseline;gap:15px;font-size:33px}.supergirl-object h3 em{font:74px/.8 Barlow;font-style:normal;color:#dd3384;letter-spacing:-.05em}.duo-passes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.duo-passes button{position:relative;min-height:150px;padding:18px;text-align:left;border:1px solid #222;overflow:hidden;background:#90dcea;box-shadow:4px 4px #25252a;transform:rotate(-3deg);transition:transform .25s}.duo-passes button+button{background:#f3a8cc;transform:rotate(3deg)}.duo-passes button>span{display:block;position:relative;z-index:1;font:32px Smiley}.duo-passes button>small{position:absolute;bottom:12px;left:15px;z-index:1;font-size:10px}.duo-passes button>i{position:absolute;right:0;bottom:0;font:125px/.9 Barlow;opacity:.16;font-style:normal}.duo-passes button[aria-pressed=true]{transform:translateY(-5px) rotate(0);border-bottom:7px solid #222}.fan-stamp{display:grid;grid-template-columns:46% 1fr;align-items:center;gap:12px;margin-top:22px;border-top:1px dashed #222;padding-top:12px}.fan-stamp img{width:100%;height:auto;display:block}.fan-stamp small{font-size:10px}.fan-stamp .record-caption{font:30px Smiley;padding:0;border:0;margin:8px 0 14px}.kept-stamp{display:inline-block;border:2px solid #b54d7a;color:#b54d7a;transform:rotate(-9deg);padding:3px 10px;font:17px Smiley;border-radius:3px}.fan-stamp.object-awake img{animation:ticket-cheer .65s ease-in-out}.fan-stamp.object-awake .kept-stamp{animation:stamp-press .5s ease-out}
.sisters-object{background:#25293d;color:#f9f7f3;border-color:#7fb6d6;border-radius:0 0 32px 0;box-shadow:8px 8px #bb9ddd}.sisters-object .pocket-close{background:#25293d;color:#fff}.sisters-object h3{font-size:34px}.season-tabs{display:flex;gap:8px}.season-tabs button{flex:1;min-height:42px;border:1px solid #9ea6c3;background:transparent;color:#f7f5ee;font:18px Smiley}.season-tabs button[aria-pressed=true]{background:#f2c4d9;color:#222;border-color:#f2c4d9}.season-stage{position:relative;isolation:isolate;overflow:hidden;min-height:235px;margin-top:15px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:radial-gradient(ellipse at 50% 100%,#946d9c66,transparent 65%),#1c2033;border-bottom:5px solid #eb96c6}.stage-season{position:absolute;top:8px;right:20px;font:120px Barlow;color:#ffffff12;z-index:-1}.stage-beam{position:absolute;inset:0;z-index:-1;background:conic-gradient(from 156deg at 30% -5%,transparent 0deg,#e795c955 17deg,transparent 39deg);transform:rotate(0)}.season-stage[data-season="1"]{background:radial-gradient(ellipse at 50% 100%,#23877c77,transparent 70%),#162f34;border-color:#93dfc8}.season-stage[data-season="2"]{background:radial-gradient(ellipse at 50% 100%,#9770b088,transparent 70%),#2d2342;border-color:#cbb0fc}.season-stage strong{font:62px/1.1 Smiley;margin-bottom:16px}.season-stage .season-program{font-size:12px}.season-stage>small{font-size:9px;color:#bfc5d5;margin-top:12px}.season-list{font-size:11px!important;line-height:1.8;margin-bottom:0}.season-stage.object-awake .stage-beam{animation:season-cue .7s ease-out}.season-stage.object-awake strong{animation:name-enter .4s ease-out}
.favorites-object{background:#ece7fb;border-color:#70598b;box-shadow:8px 8px #db87b7;border-radius:8px 8px 0 0}.favorites-object h3{font-size:29px}.role-bookmarks{display:flex;gap:4px;position:relative;z-index:1}.role-bookmarks button{flex:1;padding:10px 3px;border:1px solid #655577;background:#faf8ff;font:17px Smiley;border-radius:8px 8px 0 0}.role-bookmarks button[aria-pressed=true]{background:#705881;color:#fff;transform:translateY(-5px)}.character-card{display:block;text-align:left;width:100%;border:1px solid #655577;box-shadow:5px 6px #b7a6cc;background:#d7e8e4;padding:0;min-height:265px;overflow:hidden;position:relative;perspective:800px}.character-front,.character-back{display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:265px;padding:25px;isolation:isolate;overflow:hidden}.character-front>small,.character-back small{font:10px Noto}.character-front strong,.character-back strong{font:54px Smiley;z-index:1}.character-front>span,.character-back>span{font:12px Noto;z-index:1}.character-front em{position:absolute;right:5px;bottom:18px;font:140px Smiley;opacity:.15;font-style:normal;z-index:-1}.character-card[data-role="1"]{background:repeating-linear-gradient(0deg,#fae5e7 0 23px,#c791a133 24px 25px)}.character-card[data-role="2"]{background:radial-gradient(circle at 75% 30%,#cedee7 0 24%,transparent 25%),#a9c6c1}.character-card[data-role="3"]{background:linear-gradient(125deg,#b8d3f7 0 55%,#e7c4f1 55%)}.character-back{background:#fcfaf5}.character-card.object-awake{animation:bookmark-turn .45s ease-out}.role-note{font-size:11px!important;margin-bottom:0;color:#635273}
.panda-ticket{padding:0!important;border:1px solid #d0b5b3!important;background:#f8f5f0!important;border-radius:10px!important;color:#292631!important;overflow:hidden}.panda-ticket img{width:100%;height:190px;object-fit:contain;display:block;background:#f8f5f0}.panda-ticket span{display:block;padding:10px;font:15px Smiley;border-top:1px dashed #a98d92}.panda-ticket.object-awake img{animation:ticket-cheer .7s ease-in-out}.concert-pocket{background:#f8f5f0;color:#292631}.concert-pocket .object-serial{border-color:#bba5ae}.concert-pocket>a{border-color:#bba5ae}
@keyframes ticket-cheer{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-4deg)}70%{transform:translateY(-2px) rotate(2deg)}}@keyframes stamp-press{0%{opacity:0;transform:scale(1.7) rotate(-9deg)}100%{opacity:1;transform:scale(1) rotate(-9deg)}}@keyframes season-cue{from{transform:rotate(-22deg);opacity:.3}to{transform:rotate(0);opacity:1}}@keyframes name-enter{from{transform:translateY(10px);opacity:.2}to{transform:none;opacity:1}}@keyframes bookmark-turn{from{transform:rotateY(-12deg);opacity:.5}to{transform:none;opacity:1}}
@media(max-width:700px){.fan-object{padding:20px;width:calc(100vw - 30px);box-shadow:4px 5px #c375a188}.fan-object h3{font-size:27px}.duo-passes{gap:10px}.duo-passes button{padding:13px;min-height:130px}.duo-passes button>span{font-size:27px}.fan-stamp .record-caption{font-size:25px}.season-stage{min-height:210px}.season-stage strong{font-size:53px}.role-bookmarks button{font-size:15px}.character-front,.character-back{min-height:240px;padding:20px}.character-card{min-height:240px}}
@media(prefers-reduced-motion:reduce){.object-awake,.object-awake img,.object-awake strong,.object-awake .stage-beam,.object-awake .kept-stamp{animation:none!important}.duo-passes button{transition:none}}
.with-real-photos .fan-real-photo{display:block;width:100%;object-fit:contain;background:#171b21}
.with-real-photos .duo-passes button{padding:7px 7px 32px;min-height:0;background:#90dcea}
.with-real-photos .duo-passes button+button{background:#f3a8cc}
.with-real-photos .duo-passes .fan-real-photo{height:210px;margin-bottom:8px}
.with-real-photos .duo-passes button>span{font-size:25px;padding:0 5px}
.with-real-photos .fan-stamp{grid-template-columns:95px 1fr;margin-top:15px;padding-top:10px}
.with-real-photos .fan-stamp .record-caption{font-size:23px;margin:5px 0}
.with-real-photos .kept-stamp{font-size:14px}
.with-real-photos .season-stage{padding:0 0 14px;background:#171b21;min-height:0;gap:8px}
.with-real-photos .season-stage .fan-real-photo{height:330px;position:relative;z-index:1}
.with-real-photos .season-stage strong{font-size:30px;margin:4px 15px 0}
.with-real-photos .season-program{margin:0 15px}
.with-real-photos .stage-season{display:none}
.with-real-photos .character-front{padding:0 0 12px;gap:8px;background:#fcfaf5;color:#222;min-height:0}
.with-real-photos .character-front .fan-real-photo{height:360px;background:#e5ded4}
.with-real-photos .character-front>small,.with-real-photos .character-front>strong,.with-real-photos .character-front>span{margin:0 16px}
.with-real-photos .character-front>strong{font-size:28px}
.with-real-photos .character-back{min-height:440px}
.fan-photo-credit{display:flex;flex-wrap:wrap;gap:6px 14px;border-top:1px dashed currentColor;padding-top:12px;margin-top:16px;font:11px/1.6 Noto;text-align:left}
.fan-photo-credit>span{flex-basis:100%}.fan-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.with-real-photos .duo-passes .fan-real-photo{height:175px}.with-real-photos .season-stage .fan-real-photo{height:270px}.with-real-photos .character-front .fan-real-photo{height:300px}.with-real-photos .character-back{min-height:385px}.with-real-photos h3{margin:12px 0 18px}}
