.concept-main{padding:0 0 25px;background:#fbfaf5;background-image:repeating-linear-gradient(90deg,#b9869d18 0,#b9869d18 1px,transparent 1px,transparent 6px)}
.concept-intro{padding:20px 26px 24px;border-bottom:1px solid #655861;background:#fbfaf5}
.concept-intro-top,.panel-label{display:flex;justify-content:space-between;gap:12px;color:#814f66;font:700 9px/1.3 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase}
.concept-intro-top a{text-decoration:none}.concept-intro-top a:hover{text-decoration:underline;text-underline-offset:3px}
.concept-intro h1{margin:19px 0 7px;color:#2d2a2e;font:italic 700 clamp(38px,6vw,62px)/.95 Georgia,serif;letter-spacing:-.06em}.concept-intro h1 span{color:#b9869d}
.concept-intro p{max-width:610px;margin:0;color:#51484e;font:14px/1.45 Georgia,serif}
.concept-tabs{display:flex;gap:8px;padding:14px 25px 0;background:#fbfaf5}
.concept-tabs button{min-height:39px;padding:9px 18px;border:1px solid #665c62;background:#eee4e8;color:#2d2a2e;box-shadow:3px 3px 0 #b9869d55;cursor:pointer;font:700 12px Arial,Helvetica,sans-serif;text-transform:lowercase}
.concept-tabs button span{margin-right:9px;color:#814f66;font:700 9px 'Courier New',monospace}
.concept-tabs button[aria-pressed=true]{background:#b9869d;color:#fff}.concept-tabs button[aria-pressed=true] span{color:#fff}
.concept-tabs button:hover{transform:translateY(-2px)}.concept-tabs button:focus-visible,.gallery-arrow:focus-visible,summary:focus-visible{outline:3px solid #2d2a2e;outline-offset:3px}
.concept-panel{padding:21px 23px 0}.concept-panel[hidden]{display:none!important}.panel-label{margin:0 2px 12px;color:#584d54}
.concept-footnote{margin:19px 24px 0;padding:13px 0 0;border-top:1px solid #a8919c;color:#6a5961;font:italic 12px/1.4 Georgia,serif}
.small-label,.library-masthead,.library-section-head span,.scrap-title-sheet>p,.scrap-cast-header span{font:700 9px/1.3 'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase}
.photo-space{position:relative;display:grid;place-items:center;min-height:200px;overflow:hidden;border:1px solid #b6a7ae;background:linear-gradient(145deg,#d4c4ca 0%,#e9dfe1 55%,#c8b9c0 100%)}
.photo-space::before{content:"";position:absolute;inset:9px;border:1px solid #ffffffa9}.photo-space::after{content:"✳";position:absolute;top:20px;right:20px;color:#fff9;font:37px Georgia,serif}
.photo-space span{position:relative;z-index:1;display:block;padding:10px 14px;border:1px solid #fff;background:#fbfaf5dd;color:#684f5c;text-align:center;font:700 10px/1.5 'Courier New',monospace;letter-spacing:.08em}
.cast-gallery{display:flex;align-items:center;gap:8px}.gallery-arrow{flex:none;width:31px;height:31px;border:1px solid #655861;border-radius:50%;background:#fbfaf5;color:#814f66;cursor:pointer;font:21px/1 Georgia,serif}.gallery-arrow:hover{background:#ead4dd}
.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;min-width:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.gallery-track::-webkit-scrollbar{display:none}
.cast-print{min-width:0;margin:0;padding:6px 6px 9px;border:1px solid #c4b9be;background:#fff;box-shadow:2px 3px 4px #2d2a2e32;scroll-snap-align:start}.cast-photo{display:grid;place-items:center;aspect-ratio:4/4.6;background:linear-gradient(155deg,#e1c4cf,#d6d7d6 50%,#efdde4);color:#7d5a6b}.cast-photo span{text-align:center;font:700 15px/1.1 Georgia,serif;letter-spacing:.04em}.cast-print figcaption{padding-top:7px;color:#5c5157;font:8px/1.3 'Courier New',monospace;text-transform:uppercase;text-align:center}
.song-disc{position:relative;flex:none;width:66px;height:66px;border-radius:50%;background:repeating-radial-gradient(circle,#28272a 0,#28272a 2px,#3b393d 3px,#252427 4px);box-shadow:3px 4px 6px #211a2040}.song-disc::after{content:"";position:absolute;inset:24px;border:6px solid #d8b1c2;border-radius:50%;background:#fbfaf5}

.library-board{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:0;min-height:710px;padding:29px 28px 34px;border:1px solid #796b73;background:#e5cbd6;background-image:repeating-linear-gradient(0deg,#fff2 0,#fff2 1px,transparent 1px,transparent 4px);box-shadow:4px 5px 0 #a98797a0}
.library-receipt{position:relative;z-index:2;width:195px;margin:57px -22px 0 0;padding:19px 17px 30px;border:1px solid #9e9399;background:#fbfaf5;box-shadow:6px 10px 13px #4c3e4560;transform:rotate(-2.5deg)}
.library-receipt::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;background:linear-gradient(135deg,#fbfaf5 50%,transparent 50%) 0 0/16px 16px repeat-x}
.receipt-overline{margin:0 0 19px;color:#814f66;font:700 8px 'Courier New',monospace;letter-spacing:.08em}
.library-receipt h3{margin:0 0 22px;font:italic 700 24px/.95 Georgia,serif;letter-spacing:-.04em}.library-receipt dl,.scrap-stats dl{margin:0}.library-receipt dl div{padding:10px 0 9px;border-top:1px solid #b7abb1}.library-receipt dt,.scrap-stats dt{color:#814f66;font:700 8px 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase}.library-receipt dd,.scrap-stats dd{margin:5px 0 0;color:#302b2f;font:14px Georgia,serif}.receipt-end{margin:34px 0 0;color:#6d6067;font:9px/1.5 'Courier New',monospace;letter-spacing:.06em}
.library-card{position:relative;min-width:0;padding:19px 22px 24px;border:1px solid #7e7479;background:#fbfaf5;background-image:repeating-linear-gradient(0deg,#b9869d10 0,#b9869d10 1px,transparent 1px,transparent 32px);box-shadow:6px 8px 0 #6e566164}
.library-masthead{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:2px solid #2d2a2e;color:#814f66}
.library-lead{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:16px;padding:23px 0 20px;align-items:start}.small-label{margin:2px 0 10px;color:#814f66}
.library-lead h2{margin:0;font:500 clamp(51px,6vw,78px)/.89 Georgia,serif;letter-spacing:-.075em}.library-lead h2 em{color:#a66f89;font-weight:400}
.library-deck{max-width:220px;margin:21px 0;color:#574c53;font:italic 15px/1.25 Georgia,serif}.library-stamp{display:inline-block;margin-top:9px;padding:8px 11px;border:2px double #9a6780;color:#9a6780;font:700 9px 'Courier New',monospace;letter-spacing:.12em;transform:rotate(-3deg)}
.winner-portrait{margin:0;padding:6px 6px 8px;border:1px solid #b9adb3;background:#fff;box-shadow:4px 6px 7px #33252d3d;transform:rotate(2deg)}.winner-portrait .photo-space{min-height:245px}.winner-portrait figcaption{padding:6px 2px 0;color:#5b4b54;font:7px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.library-fields{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #62535c;border-left:1px solid #a99ca2}.library-fields div{min-height:60px;padding:8px 10px;border-right:1px solid #a99ca2;border-bottom:1px solid #a99ca2}.library-fields span{display:block;margin-bottom:8px;color:#814f66;font:700 8px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}.library-fields strong{font:500 14px Georgia,serif}
.library-section-head,.scrap-cast-header{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:28px 0 12px}.library-section-head span,.scrap-cast-header span{color:#814f66}.library-section-head h3,.scrap-cast-header h3{margin:4px 0 0;font:italic 700 31px/.95 Georgia,serif;letter-spacing:-.04em}.library-section-head p,.scrap-cast-header p{margin:0;color:#68545e;font:italic 11px Georgia,serif}
.library-song{margin-top:24px;border:1px solid #86747e;background:#ecdbe2}.library-song summary{display:flex;justify-content:space-between;gap:10px;padding:13px 15px;cursor:pointer;list-style:none;color:#814f66;font:700 9px 'Courier New',monospace;letter-spacing:.05em;text-transform:uppercase}.library-song summary::-webkit-details-marker{display:none}.library-song summary b{font-weight:700}.song-inner{display:flex;gap:15px;align-items:center;padding:14px 15px 18px;border-top:1px solid #bca8b2;background:#fbfaf5}.song-inner strong,.scrap-song-inner strong{font:italic 700 20px Georgia,serif}.song-inner p,.scrap-song-inner p{max-width:260px;margin:5px 0 0;color:#64565e;font:12px/1.3 Georgia,serif}

.scrap-scene{position:relative;min-height:740px;overflow:hidden;padding:49px 30px 34px;border:1px solid #877780;background:#e8d9de;background-image:repeating-linear-gradient(0deg,#ffffff1b 0,#ffffff1b 1px,transparent 1px,transparent 4px);box-shadow:4px 5px 0 #a98797a0}
.scrap-folder-back{position:absolute;inset:30px 18px 26px;border:1px solid #8c687a;border-radius:7px 7px 2px 2px;background:#d8b1c2;box-shadow:inset 0 2px 4px #fff5}.scrap-folder-tab{position:absolute;z-index:1;top:6px;left:7%;width:185px;height:33px;padding-top:8px;border:1px solid #8c687a;border-bottom:0;border-radius:12px 14px 0 0;background:#d8b1c2;text-align:center;font:700 13px Georgia,serif}
.scrap-hero{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .88fr .61fr;align-items:start;gap:0;min-height:354px}.scrap-title-sheet{position:relative;z-index:2;min-height:303px;margin:4px -20px 0 0;padding:25px 18px 20px;border:1px solid #a5979f;background:#fbfaf5;box-shadow:5px 7px 8px #40323b3d;transform:rotate(-1.3deg)}.scrap-title-sheet>p{margin:0 0 24px;color:#814f66}.scrap-title-sheet h2{margin:0;font:500 clamp(52px,6vw,80px)/.88 Georgia,serif;letter-spacing:-.075em}.scrap-title-sheet h2 em{color:#b9869d;font-weight:400}.scrap-title-sheet>span{display:block;max-width:190px;margin-top:22px;color:#51484e;font:italic 14px/1.2 Georgia,serif}.scrap-seal{position:absolute;right:12px;bottom:13px;width:69px;height:69px;display:grid;place-items:center;border:2px double #b9869d;border-radius:50%;color:#a46583;text-align:center;font:700 8px/1.25 'Courier New',monospace;transform:rotate(12deg)}
.scrap-winner{position:relative;z-index:3;margin:25px -14px 0 0;padding:8px 8px 12px;border:1px solid #b0a4aa;background:#fff;box-shadow:6px 8px 9px #2d222a63;transform:rotate(4deg)}.scrap-winner .photo-space{min-height:270px;background:linear-gradient(135deg,#c5b4bc,#eee5e7 56%,#d9c7cf)}.scrap-winner figcaption{margin-top:8px;color:#6e5c66;font:8px 'Courier New',monospace;text-transform:uppercase}
.scrap-stats{position:relative;z-index:4;min-height:317px;margin:55px 0 0 -8px;padding:19px 12px 24px;border:1px solid #aaa0a5;background:#fbfaf5;box-shadow:4px 7px 8px #2d222a49;transform:rotate(-3deg)}.scrap-stats::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:9px;background:linear-gradient(135deg,#fbfaf5 50%,transparent 50%) 0 0/14px 14px repeat-x}.scrap-stats>span,.scrap-stats small{color:#814f66;font:700 8px/1.2 'Courier New',monospace;letter-spacing:.04em}.scrap-stats h3{margin:15px 0 16px;font:italic 700 22px/.95 Georgia,serif}.scrap-stats dl div{padding:6px 0;border-top:1px solid #bcb1b6}.scrap-stats dd{font-size:11px}.scrap-stats small{display:block;margin-top:19px;line-height:1.3}
.scrap-cast-sheet{position:relative;z-index:2;margin:10px 20px 0;padding:17px 20px 22px;border:1px solid #a99da3;background:#fbfaf5;box-shadow:5px 7px 8px #40323b44;transform:rotate(.6deg)}.scrap-cast-header{margin:0 0 15px}.scrap-cast-header h3{font-size:28px}.scrap-cast-sheet .cast-print:nth-child(odd){transform:rotate(-2deg)}.scrap-cast-sheet .cast-print:nth-child(even){transform:rotate(2deg)}.scrap-cast-sheet .cast-photo{background:linear-gradient(145deg,#e7d5db,#d9c6d0 53%,#d8dadd)}
.scrap-song{position:relative;z-index:2;margin:25px 76px 0 44px;border:1px solid #856a78;background:#f6edf0;box-shadow:4px 5px 0 #986e825c;transform:rotate(-1deg)}.scrap-song summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 20px;cursor:pointer;list-style:none}.scrap-song summary::-webkit-details-marker{display:none}.scrap-song summary span{color:#814f66;font:700 9px 'Courier New',monospace;letter-spacing:.06em}.scrap-song summary b{color:#2d2a2e;font:italic 700 19px Georgia,serif}.scrap-song-inner{display:flex;align-items:center;gap:17px;padding:17px 20px;border-top:1px solid #c7b2bd}.scrap-song-inner .song-disc{width:78px;height:78px}.scrap-song-inner .song-disc::after{inset:28px}

@media(max-width:760px){.library-board{grid-template-columns:1fr;padding:23px}.library-card{order:1}.library-receipt{order:2;width:min(100%,400px);margin:25px 0 4px 18px;transform:rotate(-1.5deg)}.scrap-hero{grid-template-columns:1fr 1fr}.scrap-title-sheet{margin-right:-14px}.scrap-winner{margin-right:0}.scrap-stats{grid-column:1/-1;min-height:0;margin:15px 35px 0;transform:rotate(-1deg)}.scrap-stats dl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 12px}.scrap-cast-sheet{margin-top:25px}}
@media(max-width:560px){.concept-intro{padding:17px 15px 21px}.concept-intro-top{font-size:8px}.concept-intro p{font-size:12px}.concept-tabs{padding:12px 14px 0}.concept-tabs button{flex:1;padding:8px 7px;font-size:10px}.concept-tabs button span{margin-right:4px}.concept-panel{padding:17px 12px 0}.panel-label{font-size:7px}.panel-label span:last-child{display:none}.concept-footnote{margin-inline:13px;font-size:10px}.library-board{padding:15px 11px 21px}.library-card{padding:13px 13px 17px}.library-masthead{font-size:7px}.library-lead{grid-template-columns:minmax(0,1fr) 122px;gap:9px;padding:18px 0 17px}.library-lead h2{font-size:clamp(43px,12vw,60px)}.library-deck{font-size:11px;margin:13px 0}.library-stamp{font-size:7px;padding:5px}.winner-portrait .photo-space{min-height:165px}.photo-space span{font-size:7px;padding:5px}.library-fields strong{font-size:11px}.library-section-head h3{font-size:25px}.library-section-head p{display:none}.gallery-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.gallery-arrow{width:26px;height:26px;font-size:17px}.library-song summary{display:block;font-size:8px}.library-song summary b{display:block;margin-top:5px}.scrap-scene{padding:39px 11px 24px}.scrap-folder-back{inset:28px 7px 15px}.scrap-folder-tab{width:132px;height:30px;font-size:10px}.scrap-hero{grid-template-columns:1fr 1fr}.scrap-title-sheet{min-height:225px;padding:15px 9px 12px}.scrap-title-sheet>p{font-size:6px;margin-bottom:20px}.scrap-title-sheet h2{font-size:clamp(39px,11vw,62px)}.scrap-title-sheet>span{font-size:10px;margin-top:13px}.scrap-seal{width:43px;height:43px;font-size:5px;right:7px;bottom:8px}.scrap-winner{margin-top:21px;padding:5px 5px 8px}.scrap-winner .photo-space{min-height:184px}.scrap-stats{margin:16px 17px 0;padding:13px}.scrap-stats h3{font-size:20px}.scrap-stats dl{grid-template-columns:1fr 1fr}.scrap-cast-sheet{margin:17px 8px 0;padding:13px 9px 17px}.scrap-cast-header h3{font-size:23px}.scrap-cast-header p{display:none}.scrap-song{margin:18px 18px 0}.scrap-song summary{display:block;padding:13px}.scrap-song summary span{display:block;font-size:7px}.scrap-song summary b{display:block;margin-top:6px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.gallery-track{scroll-behavior:auto}}
