@font-face{font-family:'SUIT';font-style:normal;font-weight:100 900;font-display:swap;src:url('assets/SUIT-Variable.woff2') format('woff2')}
:root{--font-ui:'SUIT',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--accent:#3978b7;--accent-deep:#245b91;--accent-soft:#eaf2fa;--paper:#f3eddf;--cream:#fcf8ef;--ink:#343e3c;--sea:#354e50;--muted:#85867b;--line:#d8cdb8;--gold:#9a7952;--rust:#a36a50}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--font-ui);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#93744d12 .6px,transparent .6px);background-size:5px 5px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;transition:background .18s,transform .18s}button:disabled{opacity:.38;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a37842;outline-offset:3px}a{color:var(--sea);text-underline-offset:4px}p{line-height:1.95;color:#777c73}h1,h2,h3{letter-spacing:-1px;word-break:keep-all}h1,h2{font-family:var(--font-ui)}header{display:flex;justify-content:space-between;align-items:center;max-width:1500px;padding:23px 5%;margin:auto;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--ink);font-size:23px;font-weight:800;letter-spacing:1px}.brand i{font-family:var(--font-ui);font-size:24px;font-weight:400}.brand small{font-size:7px;display:block;letter-spacing:2.5px;margin-top:5px;font-weight:500;color:var(--gold)}.compass{font-size:38px;font-weight:400}.headlinks{display:flex;gap:25px}.headlinks button{background:none;border:0;font-size:10px;color:#83877c}.eyebrow{color:var(--gold);font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.8}.smalllabel{font-size:8px;letter-spacing:1.5px;font-weight:600;color:#8b897b}main{max-width:1400px;margin:auto;padding:0 5%;min-height:65vh}footer{padding:30px 20px;border-top:1px solid var(--line);font-size:9px;text-align:center;color:#939084;line-height:1.9;margin-top:50px}.primary,.secondary{border-radius:3px;padding:14px 20px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:12px;font-weight:500}.primary{background:var(--sea);border:1px solid var(--sea);color:#fffaf0}.primary:hover:not(:disabled){background:#4c6361}.secondary{background:transparent;border:1px solid #b9b39e;color:var(--sea)}.primary span{font-size:16px;margin-left:9px}.textbtn{border:0;background:none;padding:5px 0;font-size:10px;color:#777e70;text-decoration:underline;text-underline-offset:5px;line-height:1.9}.wide{width:100%}input,select{background:var(--cream);border:1px solid var(--line);border-radius:3px;padding:13px 14px;max-width:100%;min-width:0}select{font-size:11px;padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.fine{font-size:10px;line-height:1.9;color:#939083}.landing{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center;padding:70px 0 60px}.herotext h1{font-size:clamp(37px,3.65vw,53px);line-height:1.6;letter-spacing:-2.5px;margin:25px 0}.herotext h1 i{font-weight:500;font-style:normal;color:#8b6245;border-bottom:1px solid #b69973}.herorule{width:48px;border-top:1px solid #b89c74;margin:22px 0}.herotext h2{font-family:var(--font-ui);font-size:14px;font-weight:500;letter-spacing:-.4px}.herotext>p{font-size:12px;line-height:2.2;margin:22px 0 25px}.entry{display:flex;gap:9px;flex-wrap:wrap}.entry input{width:165px;font-size:12px}.herometa{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px;font-size:8px;color:#959183}.herometa span+span:before{content:'·';margin-right:12px}.heromap{position:relative;padding:27px 25px 75px;background:#e1d3b9;border:1px solid #c7b18c;outline:1px solid #d3bea0;outline-offset:7px;transform:rotate(-2deg);box-shadow:4px 13px 30px #5d4a3016}.maplabel{font-family:var(--font-ui);text-align:center;font-size:29px;letter-spacing:2px;color:#5b4938;border-bottom:1px solid #aa90684d;padding-bottom:16px}.maplabel small{font-family:var(--font-ui);display:block;font-size:7px;letter-spacing:3px;margin-top:8px;color:#8a765b}.heromap>img{display:block;width:100%;mix-blend-mode:multiply;margin-top:15px}.compassrose{position:absolute;right:25px;bottom:45px;text-align:center;color:#7e6748;font:10px var(--font-ui);line-height:1.1}.compassrose:first-line{font-size:7px}.mapquote{font-family:var(--font-ui);font-size:12px;text-align:center;line-height:2.2;margin-top:14px;color:#725f48}.mapstamp{position:absolute;left:-25px;bottom:18px;border:1px solid #8b6e48;color:#836344;padding:10px 17px;transform:rotate(-9deg);font-size:7px;letter-spacing:2px;background:#e9dec7cc;box-shadow:inset 0 0 0 3px #e5d5ba}.mapstamp b{font:23px var(--font-ui);letter-spacing:1px}.introstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0}.introstrip>div+div{padding-left:30px;border-left:1px solid var(--line)}.introstrip span{font-size:8px;letter-spacing:1.5px;color:var(--gold)}.introstrip h3{font-family:var(--font-ui);font-size:16px;font-weight:500;margin:13px 0}.introstrip p{font-size:10px;margin-bottom:0}.bottomrow{display:flex;justify-content:space-between;margin-top:20px;gap:15px}.voyagebar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:30px 0 23px}.voyagebar h1{font-size:29px;margin:9px 0 6px;font-weight:600}.voyagebar p{font-size:11px;margin:0}.namebadge{font-size:10px;color:#8a806d;padding:9px 14px;border:1px solid #d4c9b2;border-radius:30px}.journeygrid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:35px;align-items:start}.journeyside{display:grid;gap:15px;position:sticky;top:18px}.mapcard,.statuscard{border:1px solid var(--line);padding:17px;background:#eee5d3a6;border-radius:5px}.minimap{position:relative;margin:13px 0}.minimap img{width:100%;display:block;mix-blend-mode:multiply;opacity:.8}.mappin{position:absolute;transform:translate(-50%,-50%);border:1px solid #ac9471;border-radius:50%;width:21px;height:21px;background:#f3ead6;color:#937b55;font-size:8px;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #6c553b33}.mappin.active{background:#50645c;border-color:#50645c;color:#fff;width:27px;height:27px;box-shadow:0 0 0 4px #62796925}.mappin:active{transform:translate(-50%,-50%)}.mappin.visited{background:#c1ac86;color:#fff8e5}.stoplist{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:8px;color:#a29986;border-top:1px solid #d5c8b0;padding-top:13px}.stoplist .active{font-weight:700;color:#526459}.statuscard{background:var(--cream)}.member{padding:14px 0 0}.membertitle{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}.membertitle b{font-size:11px;font-weight:600}.membertitle>span{font-size:8px;color:#929385}.membertitle strong{margin-left:auto;font-size:20px;font-weight:500;line-height:1}.bar{height:4px;background:#e8e1d4;overflow:hidden;border-radius:5px}.bar i{display:block;height:100%;border-radius:5px;transition:width .3s}.bar.thin{height:2px}.energy{display:flex;justify-content:space-between;font-size:8px;color:#999b8d;margin:7px 0 5px}.energy b{font-weight:500;color:#7d8b75}.audience{display:flex;justify-content:space-between;margin:20px 0 9px;font-size:10px}.audience strong{font-size:17px;color:var(--gold);font-weight:500}.resourcegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid #e5dfd2;margin-top:16px;padding:14px 0 10px;font-size:8px;color:#969585}.resourcegrid b{display:block;font-size:16px;color:#637164;margin-top:3px;font-weight:500}.statuscard>.textbtn{font-size:9px}.workspace{min-width:0}.feedback{padding:13px 16px;border:1px solid #cfd8c5;border-left:3px solid #789074;background:#e9ecdf;font-size:11px;line-height:1.85;color:#6a7b61;border-radius:3px;margin-bottom:27px}.sectionheading{margin:0 0 25px}.sectionheading h2{font-size:28px;font-weight:500;line-height:1.6;margin:10px 0 12px}.sectionheading p{font-size:12px;line-height:2;margin-bottom:0}.choicegrid,.songgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.choice{display:flex;flex-direction:column;text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:23px;min-height:225px;box-shadow:0 3px 0 #b8a5860b}.choice:hover:not(:disabled){border-color:#a69c80;background:#fffbf1}.choiceindex{font-size:9px;letter-spacing:1.5px;color:#a68a60;display:flex;justify-content:space-between}.choiceindex i{font-style:normal}.choice h3{font-size:17px;font-weight:600;line-height:1.6;margin:20px 0 6px}.choice p{font-size:11px;margin:0 0 23px;line-height:1.9}.choicemeta{margin-top:auto;padding-top:13px;border-top:1px solid #e5ddcd;font-size:9px;color:#9a947f;line-height:1.9}.effects{display:flex;flex-wrap:wrap;gap:5px 10px;font-size:8px;font-weight:600;margin-bottom:6px}.fallback{display:block;margin:20px 0;color:#91856c}.songcard{padding:20px;background:var(--cream);border:1px solid var(--line);border-radius:5px;box-shadow:0 3px 0 #baad900c}.songtop{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a39072}.circlebtn{border:1px solid #d4cbb8;border-radius:50%;width:24px;height:24px;background:transparent;color:#8d806a;font-size:11px;padding:0}.songcard h3{font-size:22px;line-height:1.5;margin:13px 0 8px;min-height:34px}.songtraits{font-size:9px;line-height:1.7;min-height:31px;margin:0 0 17px;color:#939184;border-bottom:1px solid #e3dbca;padding-bottom:11px}.parthead,.partrow{display:grid;grid-template-columns:1fr 1.2fr 34px;gap:8px;align-items:center}.parthead{font-size:7px;color:#a49b88;margin-bottom:8px}.parthead span:last-child{text-align:right}.partrow{font-size:9px;line-height:2.7;color:#8b8d7f}.partrow strong{font-size:10px;text-align:right;font-weight:500;color:#758269}.diffbars{display:flex;align-items:center;gap:3px}.diffbars i{width:9px;height:5px;border-radius:1px}.diffbars b{margin-left:4px;font-size:9px;color:#938c7d;font-weight:500}.selectsong{display:flex;align-items:center;justify-content:space-between;width:100%;background:#ecebdf;border:1px solid #d7d9c9;border-radius:3px;padding:12px 14px;margin-top:18px;font-size:10px;color:#5a6b5b}.selectsong:hover:not(:disabled){background:#dde3d4}.cardnote{font-size:9px;color:#9b805e;margin-top:13px}.newgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.newcard{background:var(--cream);padding:20px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:flex-start;gap:13px;cursor:pointer}.newcard:has(input:checked){border-color:#839576;background:#edf0df}.newcard input{margin-top:4px;accent-color:#63785b}.newcard b{font-size:14px;font-weight:600}.newcard small{display:block;font-size:10px;line-height:1.9;color:#99907d;margin-top:9px}.note{font-size:11px;line-height:1.9;border-left:2px solid #af9162;background:#eae2d1;padding:16px 18px;margin:22px 0;color:#8b7d60}.letterpaper{background:var(--cream);padding:30px;border:1px solid var(--line);border-radius:5px;position:relative}.letterpaper:before{content:'';height:10px;width:75px;background:#dfcba975;position:absolute;top:-6px;left:calc(50% - 37px);transform:rotate(-3deg)}blockquote{font-family:var(--font-ui);font-size:22px;line-height:2;letter-spacing:-.6px;margin:30px 0;color:#6a6e5c}.replylist{display:grid;gap:11px}.replylist>button{position:relative;text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:19px 44px 19px 18px}.letterpaper .replylist>button{background:#f1ecdf}.replylist>button:hover:not(:disabled){background:#e8ecdd;border-color:#a7b69a}.replylist b{display:block;font-weight:500;font-size:12px;line-height:1.8}.replylist small{display:block;color:#99917c;line-height:1.9;font-size:9px;margin-top:5px}.replylist>button>span{position:absolute;right:18px;top:22px;font-size:13px;color:#9a947e}.socialfeed{background:#fdfaf1;border:1px solid #d4cbb9;border-radius:7px;margin:23px 0 25px;overflow:hidden}.feedlabel{display:flex;justify-content:space-between;gap:15px;padding:15px 20px;border-bottom:1px solid #e6decc;font-size:9px;letter-spacing:1px;color:#8a957f}.feedlabel>span{font-size:8px;letter-spacing:0;color:#a09a8d}.post{display:flex;gap:13px;padding:20px;border-bottom:1px solid #e7e0d2;align-items:flex-start}.post:last-child{border-bottom:0}.postavatar{background:#e6ddc9;color:#a48a5b;border-radius:50%;width:29px;height:29px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.post small{font-size:9px;color:#aaa08d}.post p{font-size:12px;margin:9px 0 12px;color:#6b7467;line-height:1.9}.post em{font-size:9px;font-style:normal;color:#aaa895}.challengeassign{display:grid;gap:10px}.challengeassign>label{background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:17px;display:flex;align-items:center;gap:13px}.memberinitial{width:34px;height:34px;border:1px solid var(--member);border-radius:50%;color:var(--member);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:13px;flex-shrink:0}.challengeassign b{font-size:12px;display:block}.challengeassign small{font-size:9px;color:#9b9686;display:block;margin-top:3px}.challengeassign select{margin-left:auto;max-width:55%;font-size:10px}.challengelegend{display:flex;gap:5px 15px;flex-wrap:wrap;font-size:8px;color:#9d927d;line-height:1.9;margin:15px 0 24px}.inspection{padding:20px;border:1px dashed #c9b694;background:#f7f0e1;border-radius:5px;margin:20px 0 25px}.issue{display:flex;gap:12px;align-items:center;font-size:11px;margin-top:10px}.issue>span{color:#b77a54;border:1px solid #c79e7b;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:9px;flex-shrink:0}.issue p{margin:0;line-height:1.8;color:#968261}.issue.critical p{color:#9f6550}.issue.clear p{color:#7a8b68}.issue.clear>span{color:#7a8b68;border-color:#adb798}.readiness{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid #ddd2bd;margin-top:20px;padding-top:15px}.readiness span{font-size:8px;color:#9a947f}.readiness b{font-size:12px;font-weight:500;display:block;color:#78836c;margin-top:6px}.correction{display:grid;gap:8px}.correction button{background:transparent;border:1px solid #c9c2af;padding:12px;font-size:10px;border-radius:3px;text-align:left}.setpaper{margin:24px 0}.setpaper>div{display:flex;align-items:center;gap:13px;border-bottom:1px solid #ded6c5;padding:13px 0;font-size:12px}.setpaper>div>span{font:10px var(--font-ui);color:#a78a5f;min-width:18px}.setpaper b{font-weight:500;flex:1}.setpaper small{font-size:7px;color:#a6997e;letter-spacing:1px}.stagepanel{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:#304443;color:#f3ebd5;border-radius:6px;padding:45px 30px}.moonlight{position:absolute;z-index:-1;width:440px;height:440px;top:-170px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#c6bc9355,transparent 65%)}.stagepanel .eyebrow{color:#c0b18a}.stagepanel h2{font-size:34px;font-weight:500;margin:35px 0 20px;line-height:1.6}.stagepanel>p{color:#b4c0ac;font-size:12px;max-width:550px;margin:auto;line-height:2.1}.livecost{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:30px 0 16px}.livecost>div{border:1px solid #87947c40;padding:14px 4px;border-radius:4px}.livecost small{display:block;color:#99ac99;font-size:9px;margin-bottom:10px}.livecost b{display:block;font-size:16px;font-weight:400;white-space:nowrap}.livecost em{font-size:11px;font-style:normal;color:#8b9c8e}.livecost strong{font-weight:400;color:#dfc99a}.livecost>div>span{display:block;font-size:8px;color:#849a84;margin-top:7px}.liveclock{font-size:9px;color:#a5b69e;line-height:1.8;margin:18px 0 23px}.stagepanel .primary{background:#d8c6a2;color:#35483f;border-color:#d8c6a2}.stagealt{display:flex;gap:20px;justify-content:center;margin-top:22px;flex-wrap:wrap}.stagealt button{border:0;background:none;color:#bcc5b4;text-decoration:underline;text-underline-offset:4px;font-size:9px}.danger{color:#c67d64!important}.stagepanel .stagewarning{font-size:10px;color:#e6b395;margin-top:15px}.restbar{display:flex;gap:20px;align-items:center;margin:17px 0 20px}.restbar .secondary{font-size:10px;gap:10px;white-space:nowrap}.restbar small{font-size:8px;color:#92907a}.restbar>span{font-size:9px;line-height:1.9;color:#9c9989}.challengereport{padding:22px;border:1px solid var(--line);border-radius:5px;background:var(--cream);margin-top:22px}.challengereport h3{font-family:var(--font-ui);font-size:17px;font-weight:500;margin:12px 0 18px}.challengereport>div{display:flex;gap:15px;padding:11px 0;border-bottom:1px solid #e5dece;font-size:10px}.challengereport b{font-weight:500}.challengereport>div>span{color:#96947f}.challengereport strong{margin-left:auto;font-weight:500;color:#7a8a6e}.farewell{background:#2e4140;color:#eee5cd;text-align:center;padding:47px 30px;border-radius:6px}.farewell .eyebrow{color:#b8ad89}.stars{color:#bdad7c;font-size:17px;letter-spacing:12px;margin:40px 0}.farewell h2{font-size:28px;font-weight:400;line-height:1.9}.farewell>p{font-family:var(--font-ui);font-size:13px;line-height:2.6;color:#b6c0ad;max-width:500px;margin:28px auto}.farewellline{width:40px;border-top:1px solid #8b947e;margin:35px auto}.farewell .lettercaption{font-family:var(--font-ui);font-size:8px;color:#879b87;line-height:2}.secondary.light{border-color:#7a8976;color:#c7d0b8;font-size:10px}.encorechecks{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.encorechecks span{font-size:9px;padding:7px 10px;border:1px solid #d2c8b1;border-radius:3px;color:#b09077;background:#eee4d3}.encorechecks .ok{color:#7c8e6d;background:#e7ebdc;border-color:#c5d0b6}.pager{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.pager>span{font-size:10px;color:#958b76}.pager button{font-size:10px}.result{padding:45px 0}.resulthead{max-width:900px}.resulthead h1{font-size:35px;font-weight:500;line-height:1.6;margin:17px 0}.resulthead p{font-size:13px;line-height:2}.resultgrid{display:grid;grid-template-columns:250px 1fr;gap:25px;margin:35px 0}.resultticket{background:#d4c29e;border:1px solid #bca47b;outline:1px solid #d6c7a9;outline-offset:5px;padding:25px;color:#665538;position:relative}.resultticket>span{font-size:8px;letter-spacing:1.5px}.resultticket h2{font:30px var(--font-ui);line-height:1.3;letter-spacing:3px;margin:26px 0}.resultticket i{font-size:40px}.ticketdivider{border-top:1px dashed #a18a63;margin:20px 0}.resultticket p{font-size:9px;color:#8e7955;line-height:2}.resultticket p b{font-size:14px;font-weight:500;color:#665a41}.ticketnums{display:flex;gap:35px;margin:20px 0}.ticketnums span{font-size:7px;letter-spacing:1px;color:#9c835c}.ticketnums b{display:block;font:26px var(--font-ui);color:#6d6048;margin-top:8px}.resultticket>small{font-family:var(--font-ui);font-size:9px;display:block;margin-top:30px;color:#8a7453}.reportpaper{background:var(--cream);padding:27px;border:1px solid var(--line);border-radius:5px}.reportmember{display:flex;align-items:center;gap:17px;margin:21px 0;font-size:11px}.reportmember>span{min-width:60px}.reportmember small{display:block;font-size:8px;color:#a09987;margin-top:5px}.reportmember .bar{flex:1;height:5px}.reportmember b{font-size:16px;font-weight:500;min-width:26px}.reportmember em{font-size:9px;color:#8d987f;font-style:normal;min-width:45px}.reportmetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.reportmetrics span{font-size:9px;color:#92927e}.reportmetrics b{display:block;font-size:24px;font-weight:400;color:#7b8166;margin-top:7px}.resultlower{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.resultlower h2{font-size:24px;font-weight:500;line-height:1.6;margin:14px 0 25px}.resultpost{background:var(--cream);border:1px solid var(--line);border-radius:5px;margin-bottom:12px}.resultactions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}.archiveposter{display:block;max-height:650px;width:auto;max-width:100%;margin:25px auto}.archiveitems>a{display:block;font-size:11px;padding:9px 0}.archiveitems h3{font-size:15px;margin-top:25px}.logitem{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:10px 0}.logitem>span{font-size:10px;color:#a78a5f;padding-top:5px}.logitem p{font-size:11px;margin:0}.endingcollection>div{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.endingcollection span{color:#b4935f}.endingcollection b{font-weight:400}dialog{border:1px solid #bcaa8b;border-radius:7px;padding:32px;width:calc(100% - 32px);max-width:650px;max-height:86dvh;overflow:auto;background:var(--cream);color:var(--ink);box-shadow:0 20px 70px #202e2840}dialog::backdrop{background:#303a32a8;backdrop-filter:blur(5px)}dialog h2{font-size:24px;font-weight:500;padding-right:15px}dialog p,dialog li{font-size:12px;line-height:2}dialog ol{padding-left:20px}.close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:25px;color:#98886b}table{width:100%;border-collapse:collapse;font-size:11px;margin:23px 0}th,td{padding:12px 5px;border-bottom:1px solid var(--line);text-align:left}th{font-size:8px;color:#9c947f}td small{display:block;font-size:8px;color:#9c9989;margin-top:3px}
@media(min-width:1500px){.landing{padding-top:85px;padding-bottom:75px}}@media(max-width:1050px){.journeygrid{grid-template-columns:240px minmax(0,1fr);gap:22px}.landing{gap:30px}.herotext h1{font-size:39px}.songcard{padding:16px}.parthead,.partrow{gap:4px;grid-template-columns:45px 1fr 26px}.diffbars{gap:2px}.diffbars i{width:7px}.choice{padding:18px}.brand{font-size:20px}}
@media(max-width:760px){header{padding:17px 18px;gap:12px}.brand{font-size:17px;gap:8px;letter-spacing:0}.brand i{font-size:20px}.brand small{font-size:6px;letter-spacing:1.7px}.compass{font-size:30px}.headlinks{gap:12px}.headlinks button{font-size:8px;padding:0}.headlinks button:first-child{display:none}main{padding:0 18px}.landing{grid-template-columns:1fr;padding:35px 0;gap:36px}.herotext h1{font-size:37px;line-height:1.65;letter-spacing:-2px;margin:20px 0}.herotext h2{font-size:12px}.herotext>p{font-size:11px;margin:20px 0}.eyebrow{font-size:8px;letter-spacing:1.6px}.entry input{width:145px;font-size:11px}.primary,.secondary{padding:13px 16px;font-size:11px}.entry{gap:8px}.entry .primary{gap:8px}.herometa{font-size:7px;gap:8px;line-height:1.9;margin-top:20px}.herometa span+span:before{margin-right:8px}.heromap{margin:7px 10px 5px;padding:22px 17px 55px;transform:rotate(-1deg)}.maplabel{font-size:25px}.maplabel small{font-size:6px;letter-spacing:2px}.mapquote{font-size:10px;margin-top:10px}.compassrose{right:16px;bottom:28px;font-size:8px}.mapstamp{left:-15px;bottom:8px;padding:8px 12px;font-size:6px}.mapstamp b{font-size:20px}.introstrip{grid-template-columns:1fr;gap:18px;padding:23px 0}.introstrip>div+div{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.introstrip h3{font-size:15px;margin:10px 0}.introstrip p{font-size:10px;margin:0}.bottomrow{flex-wrap:wrap}.voyagebar{padding:23px 0 20px}.voyagebar h1{font-size:25px}.voyagebar p{font-size:9px}.namebadge{font-size:8px;padding:7px 10px;white-space:nowrap}.journeygrid{display:flex;flex-direction:column;gap:23px}.journeyside{width:100%;position:static;display:grid;grid-template-columns:100px minmax(0,1fr);gap:9px}.mapcard{padding:10px 6px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.mapcard>.smalllabel{font-size:6px;letter-spacing:.7px;line-height:1.8;text-align:center}.minimap{margin:12px 0}.mappin{width:13px;height:13px;font-size:6px;box-shadow:none}.mappin.active{width:17px;height:17px;box-shadow:0 0 0 2px #62796925}.stoplist{grid-template-columns:1fr;gap:4px;font-size:6px;padding:8px 4px 0}.stoplist span:not(.active){display:none}.statuscard{padding:12px 11px}.statuscard>.smalllabel{font-size:6px;letter-spacing:1px}.membergrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.member{padding-top:12px;min-width:0}.membertitle{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:7px}.membertitle b{font-size:8px}.membertitle>span{font-size:5px;letter-spacing:-.2px;min-height:10px}.membertitle strong{margin:3px 0 0;font-size:18px}.energy{font-size:6px;gap:2px;margin-top:7px;line-height:1.6}.energy span{font-size:0}.energy span:before{content:'체력';font-size:6px}.energy b{font-size:7px}.bar{height:3px}.audience{margin:13px 0 6px;padding-top:10px;border-top:1px solid #e6ddcc;font-size:8px}.audience strong{font-size:13px}.resourcegrid{gap:10px;font-size:7px;margin-top:10px;padding:9px 0 4px}.resourcegrid b{font-size:12px;margin-top:3px}.statuscard>.textbtn{font-size:7px;margin-top:4px}.workspace{width:100%}.feedback{padding:11px 13px;font-size:10px;line-height:1.9;margin-bottom:23px}.sectionheading h2{font-size:24px;line-height:1.7;margin-top:10px}.sectionheading p{font-size:11px;line-height:2}.songgrid,.choicegrid{gap:10px}.songcard{padding:14px 11px}.songtop{font-size:6px;line-height:1.5;gap:5px}.circlebtn{width:21px;height:21px;font-size:9px;flex-shrink:0}.songcard h3{font-size:18px;min-height:55px;display:flex;align-items:center;margin:8px 0;line-height:1.55;letter-spacing:-.8px}.songtraits{font-size:8px;min-height:45px;line-height:1.8;margin:0 0 12px;padding-bottom:9px}.parthead,.partrow{grid-template-columns:35px minmax(0,1fr) 23px;gap:2px}.parthead{font-size:6px;margin-bottom:7px}.partrow{font-size:7px;line-height:2.8}.partrow strong{font-size:8px}.diffbars{gap:1px;min-width:0}.diffbars i{width:5px;height:4px;flex-shrink:0}.diffbars b{margin-left:2px;font-size:7px}.selectsong{font-size:9px;padding:10px 8px;margin-top:13px}.choice{padding:16px 13px;min-height:250px}.choice h3{font-size:15px;line-height:1.8;margin-top:15px}.choice p{font-size:10px;line-height:1.9;margin-bottom:18px}.choicemeta{font-size:8px;padding-top:11px}.effects{gap:3px 6px;font-size:6px}.choiceindex{font-size:8px}.fallback{font-size:9px;line-height:2}.newgrid{grid-template-columns:1fr;gap:10px}.newcard{padding:16px}.newcard b{font-size:13px}.newcard small{font-size:9px}.note{font-size:10px;padding:13px 15px}.letterpaper{padding:23px 17px}.letterpaper blockquote{font-size:20px;line-height:2;margin:25px 0}.replylist>button{padding:16px 32px 16px 14px}.replylist b{font-size:11px;line-height:1.9}.replylist small{font-size:8px}.replylist>button>span{right:13px;font-size:11px}.feedlabel{padding:13px 15px;font-size:8px;gap:10px}.feedlabel>span{font-size:6px}.post{padding:17px 14px;gap:10px}.postavatar{width:25px;height:25px;font-size:12px}.post p{font-size:11px;line-height:1.9}.post small{font-size:8px}.post em{font-size:8px}.challengeassign>label{padding:13px 11px;gap:8px;flex-wrap:wrap}.memberinitial{width:29px;height:29px;font-size:11px}.challengeassign b{font-size:11px}.challengeassign small{font-size:8px}.challengeassign select{font-size:9px;padding:10px 7px;max-width:60%;width:60%}.challengelegend{font-size:7px;gap:4px 10px}.inspection{padding:16px 13px;margin:20px 0}.issue{font-size:10px;gap:9px}.issue>span{width:16px;height:16px;font-size:8px}.readiness{gap:6px;padding-top:12px;margin-top:15px}.readiness span{font-size:7px}.readiness b{font-size:10px}.correction button{font-size:9px;padding:11px}.setpaper>div{font-size:11px;gap:10px;padding:12px 0}.setpaper small{font-size:6px}.stagepanel{padding:33px 15px}.stagepanel h2{font-size:27px;margin:30px 0 20px}.stagepanel>p{font-size:11px;line-height:2.1}.livecost{gap:5px;margin:25px 0 14px}.livecost>div{padding:12px 3px}.livecost small{font-size:8px}.livecost b{font-size:12px}.livecost em{font-size:9px}.livecost>div>span{font-size:7px}.liveclock{font-size:8px;line-height:2}.stagealt{gap:15px}.stagealt button{font-size:8px}.restbar{gap:10px;align-items:flex-start;flex-direction:column}.restbar>span{font-size:8px}.restbar .secondary{font-size:9px}.restbar small{font-size:7px}.challengereport{padding:18px 15px}.challengereport h3{font-size:16px;line-height:1.9}.challengereport>div{font-size:9px;gap:10px}.farewell{padding:35px 20px}.farewell h2{font-size:23px;line-height:2}.farewell>p{font-size:12px;line-height:2.5}.farewell .lettercaption{font-size:7px}.stars{margin:30px 0;letter-spacing:8px}.encorechecks{gap:6px}.encorechecks span{font-size:8px;padding:7px 8px}.pager button{font-size:9px}.pager>span{font-size:9px}.result{padding:30px 0}.resulthead h1{font-size:29px;line-height:1.7}.resulthead p{font-size:12px}.resultgrid{grid-template-columns:100px 1fr;gap:14px;margin:30px 0}.resultticket{padding:17px 10px;outline-offset:3px}.resultticket>span{font-size:6px;letter-spacing:.5px;line-height:1.9}.resultticket h2{font-size:19px;letter-spacing:0;margin:25px 0}.resultticket i{font-size:22px}.resultticket p{font-size:7px}.resultticket p b{font-size:11px;word-break:break-all}.ticketnums{gap:17px;flex-wrap:wrap}.ticketnums b{font-size:21px}.ticketnums span{font-size:6px}.resultticket>small{font-size:7px;line-height:2}.reportpaper{padding:18px 13px}.reportmember{gap:8px;font-size:9px;margin:19px 0;flex-wrap:wrap}.reportmember>span{min-width:39px}.reportmember small{font-size:6px;max-width:45px;overflow-wrap:anywhere}.reportmember b{font-size:13px;min-width:18px}.reportmember em{font-size:7px;min-width:30px}.reportmetrics{gap:8px;margin-top:20px;padding-top:17px}.reportmetrics span{font-size:7px}.reportmetrics b{font-size:17px}.reportpaper>.fine{font-size:8px}.resultlower{grid-template-columns:1fr;gap:30px}.resultlower h2{font-size:23px}.resultactions{gap:10px;margin-top:30px}.resultactions button{font-size:10px}.fine{font-size:8px;line-height:2}dialog{padding:29px 20px}dialog h2{font-size:23px;line-height:1.7}dialog p,dialog li{font-size:11px}th{font-size:7px}td{font-size:10px}footer{font-size:7px;margin-top:35px;line-height:2}}
@media(max-width:360px){.herotext h1{font-size:33px}.entry input{width:130px}.entry .primary{padding:13px 12px}.journeyside{grid-template-columns:85px 1fr}.mapcard{padding:8px 4px}.membergrid{gap:5px}.songcard{padding:12px 9px}.parthead,.partrow{grid-template-columns:31px 1fr 21px}.diffbars i{width:4px}.partrow{font-size:6px}.songcard h3{font-size:17px}.challengeassign select{width:100%;max-width:100%;margin-top:5px}.namebadge{max-width:120px;overflow:hidden;text-overflow:ellipsis}.resultgrid{grid-template-columns:90px 1fr}.reportmember em{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.fatigueevent{padding:42px 30px;background:#213c3b;color:#f2e8cf;border:1px solid #ae9365;text-align:center}.fatigueevent .eyebrow{color:#d1b789}.crowdvoices{padding:36px 0 15px;letter-spacing:.25em;color:#d6bc86;font-family:var(--font-ui);font-size:20px}.fatigueevent h2{font-family:var(--font-ui);font-size:30px;line-height:1.65}.fatigueevent>p{color:#d1d5c7;line-height:2}.fatigueevent .replylist{text-align:left;margin-top:32px}.fatigueevent .replylist button{background:#f5efdf;color:#273c37}.fatigueevent .replylist button b{color:#273c37}.fatigueevent .fine{font-size:11px;color:#acb8ab}@media(max-width:760px){.fatigueevent{padding:25px 17px}.fatigueevent h2{font-size:24px}.crowdvoices{font-size:15px}}
/* v4: warm island paper, SUIT typography, blue interaction accents. */
body{font-weight:450;font-feature-settings:'tnum';text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--font-ui);letter-spacing:-.055em}
h1,h2{font-weight:750}.brand{font-weight:800}.brand i{font-style:normal;font-weight:500;letter-spacing:1px}
.herotext h1{font-weight:780;line-height:1.38;letter-spacing:-.065em}.herotext h2{font-weight:650}.herotext>p{font-size:14px;line-height:2;color:#6e746d}
.maplabel{font-weight:600;letter-spacing:.09em}.mapquote{font-weight:500}.resultticket h2{font-weight:700}.ticketnums b{font-weight:600}
.primary{background:var(--accent);border-color:var(--accent);font-weight:700;box-shadow:0 3px 9px #3978b714}.primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}
.secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--accent)}input:focus,select:focus{border-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}
.mappin.active{background:var(--accent);border-color:var(--accent-deep);box-shadow:0 0 0 5px #3978b71c;color:white}.stoplist .active{color:var(--accent-deep)}
.voyagebar h1{font-weight:750}.sectionheading{margin-bottom:20px}.sectionheading h2{font-weight:750;font-size:30px;line-height:1.45;margin:12px 0}.sectionheading p{font-size:12px;letter-spacing:0;color:#858574;margin:0}
.plannerthought{position:relative;padding:18px 22px;margin:0 0 25px;border-left:3px solid var(--accent);background:linear-gradient(95deg,#eaf2fa99,#fcf8ef88);border-radius:0 8px 8px 0;text-align:left}
.thoughtlabel{display:flex;align-items:center;gap:7px;color:var(--accent-deep);font-size:12px;font-weight:750;letter-spacing:.02em}.thoughtlabel i{width:5px;height:5px;background:var(--accent);border-radius:50%}
.plannerthought p{font-size:14px;font-weight:450;line-height:1.95;color:#5d6c73;margin:7px 0 0;word-break:keep-all}
.choicegrid{align-items:stretch;gap:16px}.choice{display:flex;flex-direction:column;align-items:stretch;min-height:224px;padding:23px 24px 20px;border-radius:9px;border:1px solid #d9cfbd;box-shadow:0 2px 3px #62563a04}
.choice:hover:not(:disabled){border-color:#91b4d4;background:#fbfcfc;box-shadow:0 6px 18px #326b9c0b}.choice:focus-visible{outline-offset:3px}.choiceindex{font-size:11px;color:#8d8d80;font-weight:650}.choiceindex i{color:var(--accent);font-style:normal}
.choice h3{font-size:23px;font-weight:750;line-height:1.35;margin:18px 0 13px;letter-spacing:-.045em}.choice .keywordlist{margin-bottom:19px}.keywordlist{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;line-height:1.6}.keywordlist>span{display:inline-block;font-size:12px;font-weight:500;color:#727a72;letter-spacing:-.015em}.keywordlist>span+span:before{content:'·';color:#b8ae98;margin-right:8px}
.choicemeta{margin-top:auto;padding-top:15px;font-size:12px;border-top:1px solid #e6ddce}.effects{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 10px;font-size:11px}.effects>span{color:#65706d}.effects b{color:var(--effect);font-weight:750;margin-left:3px}
.metriclist{display:flex;gap:5px 7px;flex-wrap:wrap;font-size:11px;line-height:1.7;letter-spacing:0}.metriclist>span{background:#eee9dd;border:1px solid #e5dece;color:#6b716a;padding:3px 8px;border-radius:4px;font-weight:550}
.unavailable{font-size:10px;margin-top:9px;color:#8d6d57;text-align:left}.textbtn.fallback{font-size:12px;margin-top:18px}.feedback{font-size:12px;line-height:1.8}.songcard{border-radius:9px}.songcard h3{font-weight:750;letter-spacing:-.045em}.songtop{font-size:10px}.songtraits{margin:0 0 18px;min-height:48px;padding-bottom:16px}.songtraits .keywordlist>span{font-size:11px}.songtraits .keywordlist{gap:3px 6px}.songtraits .keywordlist>span+span:before{margin-right:6px}
.partrow{font-size:12px;line-height:2.4}.partrow strong{font-size:12px}.parthead{font-size:10px}.diffbars b{font-size:11px}.selectsong{font-size:12px;font-weight:650;border-radius:5px;min-height:44px}.selectsong:hover:not(:disabled){background:var(--accent);color:white;border-color:var(--accent)}.circlebtn{color:var(--accent)}
.replylist>button{border-radius:8px;padding:20px 45px 20px 21px}.replylist b{font-size:17px;font-weight:750;line-height:1.5;letter-spacing:-.035em}.replylist .keywordlist{margin-top:8px}.replylist .metriclist{margin-top:15px}.replylist>button>span{color:var(--accent)}.replylist>button:hover:not(:disabled){background:#f7fafc;border-color:#91b4d4}
.letterpaper{border-radius:9px}.letterpaper blockquote{font-size:22px;font-weight:550;letter-spacing:-.04em;line-height:1.85}.letterpaper .plannerthought{margin:22px 0}.letterpaper .replylist>button{background:var(--cream)}
.newcard{border-radius:8px}.newcard b{font-size:19px;font-weight:700}.newcard .keywordlist{margin:8px 0 13px}.newcard:has(input:checked){border-color:var(--accent);background:#eff5fb;box-shadow:0 0 0 1px var(--accent)}.newcard .metriclist>span{background:#f5f1e7}
.challengeassign b{font-size:14px;font-weight:700}.challengeassign small{font-size:11px}.challengeassign select{font-size:13px}.challengelegend{font-size:11px}.socialfeed .post p{font-size:14px}.post small{font-size:11px}.inspection .issue{font-size:12px}.readiness span{font-size:10px}.readiness b{font-size:14px}.membertitle b{font-size:12px}.membertitle>span{font-size:10px}.energy{font-size:10px}.smalllabel{font-size:9px}.fine{font-size:11px}
.stagepanel h2,.farewell h2{font-weight:650}.stagepanel>p{font-size:14px}.farewell>p{font-size:14px}.farewell .lettercaption{font-size:10px}.challengereport h3{font-weight:700}.resulthead h1{font-weight:750}.resulthead p{font-size:14px}.fatigueevent h2{font-weight:700}.fatigueevent .plannerthought{background:#f8f3e6;margin-top:28px}.fatigueevent .replylist .keywordlist>span{color:#65736d}.fatigueevent .replylist .metriclist>span{color:#53605a}.fatigueevent .replylist button b{font-size:17px}
@media(max-width:1050px){.choice{padding:20px}.choice h3{font-size:21px}}
@media(max-width:760px){
 .herotext h1{font-size:38px;line-height:1.4}.herotext h2{font-size:13px}.herotext>p{font-size:13px;line-height:2}.brand{font-size:17px}.brand i{font-size:19px}.primary,.secondary{font-size:12px}.headlinks button{font-size:10px}
 .sectionheading h2{font-size:26px;line-height:1.45}.sectionheading p{font-size:11px;line-height:1.8}.plannerthought{padding:15px 16px;margin-bottom:21px}.thoughtlabel{font-size:11px}.plannerthought p{font-size:13px;line-height:1.9}
 .choicegrid{gap:10px}.choice{padding:16px 14px;min-height:215px;border-radius:8px}.choice h3{font-size:20px;line-height:1.45;margin:15px 0 11px}.keywordlist{gap:4px 6px}.keywordlist>span{font-size:11px}.keywordlist>span+span:before{margin-right:6px}.choice .keywordlist{margin-bottom:15px}.choiceindex{font-size:10px}.choicemeta{padding-top:12px}.effects{font-size:10px;gap:4px 6px;margin-bottom:8px}.effects b{margin-left:1px}.metriclist{font-size:10px;gap:5px}.metriclist>span{padding:2px 6px}.unavailable{font-size:9px}
 .feedback{font-size:11px}.songcard{padding:15px 12px}.songcard h3{font-size:20px;min-height:56px}.songtop{font-size:8px}.songtraits{min-height:62px;padding-bottom:12px;margin-bottom:10px}.songtraits .keywordlist>span{font-size:10px}.parthead{font-size:8px}.partrow{font-size:9px;line-height:2.8}.partrow strong{font-size:10px}.diffbars b{font-size:9px}.diffbars i{height:5px}.selectsong{font-size:11px;padding:10px 7px;min-height:44px}.parthead,.partrow{grid-template-columns:34px minmax(0,1fr) 23px}
 .replylist>button{padding:18px 34px 18px 16px}.replylist b{font-size:16px}.replylist .metriclist{margin-top:12px}.replylist .keywordlist{margin-top:7px}.letterpaper blockquote{font-size:20px;line-height:1.9}.newcard b{font-size:18px}.newcard .keywordlist>span{font-size:11px}
 .challengeassign b{font-size:13px}.challengeassign small{font-size:10px}.challengeassign select{font-size:12px}.challengelegend{font-size:10px;gap:5px 12px}.socialfeed .post p{font-size:13px}.post small{font-size:10px}.fine{font-size:10px}.textbtn.fallback{font-size:11px}.inspection .issue{font-size:11px}.readiness span{font-size:8px}.readiness b{font-size:11px}
 .membertitle b{font-size:9px}.membertitle>span{font-size:6px}.smalllabel{font-size:8px}.energy{font-size:7px}.stagepanel>p,.farewell>p{font-size:13px}.farewell .lettercaption{font-size:9px}.fatigueevent .plannerthought{padding:14px}.fatigueevent .replylist button b{font-size:15px}.resulthead p{font-size:13px}
}
@media(max-width:360px){.choice{padding:15px 12px}.choice h3{font-size:18px}.parthead,.partrow{grid-template-columns:30px minmax(0,1fr) 21px}.songcard{padding:14px 10px}.songcard h3{font-size:18px}.metriclist{font-size:9px}}
/* Individual voices are display accents; numerical information stays in SUIT. */
@font-face{font-family:'Gaegu';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Gaegu-Regular.woff2') format('woff2')}
@font-face{font-family:'Gamja Flower';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/GamjaFlower-Regular.woff2') format('woff2')}
@font-face{font-family:'Single Day';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/SingleDay-Regular.woff2') format('woff2')}
@font-face{font-family:'Hi Melody';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/HiMelody-Regular.woff2') format('woff2')}
.membervoice-0{--hand:'Gaegu',var(--font-ui)}.membervoice-1{--hand:'Gamja Flower',var(--font-ui)}.membervoice-2{--hand:'Single Day',var(--font-ui)}.membervoice-3{--hand:'Hi Melody',var(--font-ui)}
.membertitle b{font-family:var(--hand);font-size:21px;font-weight:400;line-height:1.1;letter-spacing:0}.letterpaper .handname{font-family:var(--hand);font-size:1.25em;font-weight:400;margin-right:3px;letter-spacing:0}.letterpaper blockquote{font-family:var(--hand);font-size:29px;font-weight:400;line-height:1.85;letter-spacing:0;color:#566b6b}
.thoughtlabel{font-family:'Gaegu',var(--font-ui);font-size:24px;font-weight:400;line-height:1.05;letter-spacing:0}.thoughtlabel i{width:4px;height:4px}.mapquote{font-family:'Gamja Flower',var(--font-ui);font-size:19px;line-height:1.7;font-weight:400}.mapstamp b{font-family:'Gaegu',var(--font-ui);font-size:35px;font-weight:400;letter-spacing:.02em}.mapstamp{transform:rotate(-9deg)}
.memberinitial{font-family:var(--hand);font-weight:400;font-size:23px}.challengereport>div>b{font-family:var(--hand);font-size:21px;font-weight:400;min-width:36px;line-height:1.1}.reportmember>span{font-family:var(--hand);font-size:22px;font-weight:400;line-height:1.15;min-width:76px}.reportmember>span>small{font-family:var(--font-ui);font-size:9px;line-height:1.5}.reportmember em,.reportmember>b{font-family:var(--font-ui)}
@media(max-width:760px){.membertitle b{font-size:16px;line-height:1.2}.letterpaper blockquote{font-size:25px;line-height:1.85}.thoughtlabel{font-size:23px}.mapquote{font-size:17px}.mapstamp b{font-size:27px}.memberinitial{font-size:21px}.challengereport>div>b{font-size:20px}.reportmember>span{font-size:19px;min-width:52px}.reportmember>span>small{font-size:7px}}
/* Tiny member stickers: animal identity + instrument, kept separate from metrics. */
.animalmark,.stickeremoji,.memberinitial{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-style:normal;font-weight:400;letter-spacing:0}.animalmark{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;font-size:18px;line-height:1.15;margin-right:6px}.membertitle b{display:flex;align-items:center;gap:0;white-space:nowrap}.membertitle{flex-wrap:wrap}.memberstickers{display:flex;gap:9px;align-items:center;margin:2px 0 25px;padding-right:4px}.ministicker{display:inline-flex;gap:7px;align-items:center;background:#fffdf6;padding:8px 11px 7px;border:1px solid #d9ceba;border-radius:10px;box-shadow:2px 3px 0 #c2b18b20;transform:rotate(-5deg)}.ministicker.sticker-1{transform:rotate(4deg);background:#f0f6fc;border-color:#c9dced}.ministicker.sticker-2{transform:rotate(-3deg);background:#f9f0e4}.stickeremoji{font-size:24px;line-height:1.2}.ministicker small{font-family:var(--hand);font-weight:400;font-size:19px;line-height:1.3;color:#5b6d76;letter-spacing:0}.memberinitial{background:#fffaf1;border-color:#d0c2a7;box-shadow:2px 2px 0 #c2b18b20;font-size:23px;transform:rotate(-5deg)}.challengeperson{font-family:var(--hand);font-size:23px!important;font-weight:400!important}.challengereport>div>b{display:flex;align-items:center;gap:0}.challengereport .animalmark{font-size:16px;margin-right:4px}.reportmember .animalmark{font-size:20px;margin-right:7px}.reportmember>span{min-width:105px}
@media(max-width:760px){.membertitle b{flex-direction:column;align-items:flex-start;gap:3px;white-space:normal}.membertitle .animalmark{font-size:17px;margin-right:0;line-height:1.1}.memberstickers{gap:6px;margin:0 0 24px;flex-wrap:wrap}.ministicker{gap:5px;padding:7px 9px;border-radius:8px}.stickeremoji{font-size:23px}.ministicker small{font-size:18px}.challengeperson{font-size:22px!important}.challengereport .animalmark{font-size:15px}.reportmember>span{min-width:65px;font-size:18px}.reportmember .animalmark{font-size:16px;margin-right:3px}.reportmember em{font-size:8px}}
.instrumentsticker{display:block;width:27px;height:34px;object-fit:contain;filter:drop-shadow(0 1px 0 #fff)}.ministicker:has(.instrumentsticker){padding-top:4px;padding-bottom:4px}.instrumentsticker+small{white-space:nowrap}@media(max-width:760px){.instrumentsticker{width:25px;height:32px}.ministicker:has(.instrumentsticker){padding-left:8px;padding-right:8px}}
.letterpaper blockquote{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
/* v5: icon-only stickers and a calmer, selected-first challenge catalog. */
.memberstickers{gap:9px;margin-bottom:23px}.ministicker{width:45px;height:45px;padding:7px;justify-content:center;border-radius:12px}.ministicker .stickeremoji{font-size:27px}.ministicker:has(.instrumentsticker){padding:5px}.instrumentsticker{width:30px;height:35px}.selectedchallenge{flex-basis:100%;padding-left:47px;margin-top:2px!important;font-family:var(--font-ui);font-size:11px!important;color:var(--accent-deep)!important}.challengeassign>label{flex-wrap:wrap}.challengecatalog{margin:16px 0 24px;border:1px solid var(--line);background:#fbf7ee;border-radius:8px;padding:15px 18px}.challengecatalog summary{cursor:pointer;color:var(--accent-deep);font-size:12px;font-weight:650}.challengecatalog h4{font-size:12px;margin:20px 0 9px}.challengecatalog .challengelegend{display:grid;grid-template-columns:1fr 1fr;font-size:11px;margin:0}.challengecatalog .challengelegend>span{padding:9px 0;border-bottom:1px solid #e5ddce}.challengecatalog a{font-size:9px;display:block;color:#879697}.hiddenevent{position:relative;padding:32px;background:#fffaf0;border:1px solid #c4d6e7;border-radius:10px;box-shadow:0 8px 25px #356b9d09}.hiddenstamp{display:inline-block;margin:23px 0 5px;transform:rotate(-5deg);font-family:'Gaegu',var(--font-ui);color:var(--accent);font-size:27px}.hiddenevent h2{font-size:29px;margin:15px 0}.hiddenstory{font-family:'Gamja Flower',var(--font-ui);font-size:25px;line-height:1.85;color:#596f73;word-break:keep-all;text-wrap:pretty;margin-bottom:28px}.hiddenevent .plannerthought{margin-top:22px}.collectionsubtitle{font-size:18px;margin:30px 0 12px}.keywordlist>span+span:before{opacity:.6}
@media(max-width:760px){.ministicker{width:43px;height:43px;padding:6px}.ministicker .stickeremoji{font-size:26px}.selectedchallenge{padding-left:39px;font-size:10px!important}.challengecatalog{padding:14px}.challengecatalog .challengelegend{grid-template-columns:1fr}.hiddenevent{padding:24px 17px}.hiddenevent h2{font-size:25px}.hiddenstory{font-size:23px}.hiddenstamp{font-size:25px}.challengeassign select{max-width:62%;width:62%}}
.openercard{padding:24px;margin:0 0 20px;background:#f3f7fa;border:1px solid #a8c5df;border-radius:9px}.openercard h3{font-size:30px;line-height:1.3;margin:12px 0;color:var(--accent-deep)}.openercard .fine{margin:12px 0 0}.openercard .eyebrow{color:var(--accent-deep)}@media(max-width:760px){.openercard{padding:19px}.openercard h3{font-size:27px}}

/* v7 — handwritten live cue cards, blue accents and calm readable choices */
.islandincident{position:relative;isolation:isolate;padding:34px;border:1px solid #87a6b7;border-radius:8px 22px 8px 22px;background:linear-gradient(145deg,#f6f5eb,#e8f0f2);box-shadow:0 16px 40px #37698712;overflow:hidden}.incidenttop{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.incidentpill{padding:7px 12px;border:1px dashed #4c829e;color:#326b8c;border-radius:30px;font-weight:750;font-size:12px}.incidenticon{font-size:48px;margin:24px 0 8px;transform:rotate(-8deg);width:fit-content}.islandincident h2{font-size:clamp(25px,3vw,38px);line-height:1.4;letter-spacing:-.05em;margin:12px 0 20px;color:#244d64}.incidentstory{font-size:16px;line-height:1.95;word-break:keep-all}.islandincident .plannerthought{background:#fffaf0b3}.islandincident .replylist button{background:#ffffff91;border-color:#b2c5ce}.islandincident .replylist button:hover{border-color:#467d9d;background:#fff}.islandincident .fine{margin:22px 0 0}@media(max-width:600px){.islandincident{padding:22px 16px}.incidentstory{font-size:14px}.incidenttop .eyebrow{font-size:9px}.incidentpill{font-size:10px}.islandincident .metriclist{gap:4px}.islandincident .metriclist span{font-size:10px}}

.personalgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.personalcard{position:relative;background:#faf7ee;border:1px solid #c9d6dc;border-radius:10px;padding:24px 18px}.personalcard h3{font-size:25px;color:#356c8b}.personaltrack{display:block;text-align:left;width:100%;padding:16px 12px;margin:10px 0;background:#fffdf7;border:1px solid #d5ddde;border-radius:6px}.personaltrack:hover{border-color:#4e8aaf;background:#edf5f8}.personaltrack b{display:block;font-family:SUIT,sans-serif;font-size:15px;line-height:1.5}.personaltrack:disabled{opacity:.48}.dominotoggle{display:flex;flex-wrap:wrap;gap:8px}.dominotoggle small,.dominotoggle b{width:100%;font-size:12px}.dominotoggle button{padding:8px;border:1px solid #87a6b7;background:#edf5f8;border-radius:5px}@media(max-width:600px){.personalgrid{grid-template-columns:1fr}.personalcard{padding:18px 14px}}

.personalgrid{align-items:start}.personalcard>.textbtn{font-size:11px;margin:0 0 10px;padding:3px 0;color:#427895}
/* Invitation + concert journal. Display lettering is restricted to the cover. */
@font-face{font-family:'Gugi Title';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/Gugi-Title.woff') format('woff')}
.invitation{gap:70px;padding:55px 0 70px;grid-template-columns:1fr 1fr;align-items:center}
.invitation-kicker{display:flex;align-items:center;gap:18px}.invitation-kicker .eyebrow{color:var(--accent-deep);letter-spacing:2px}.little-star{font-size:28px;color:var(--accent)}
.invitation .invitation-note{font:24px/1.4 'Gaegu',var(--font-ui);color:#647b89;margin:16px 0 12px;transform:rotate(-2deg);transform-origin:left}
.invitation .herotext h1{position:relative;font-family:'Gugi Title',var(--font-ui);font-size:clamp(49px,5.7vw,78px);font-weight:400;line-height:1.3;letter-spacing:-3px;margin:12px 0 22px;color:#315c85}
.invitation h1>span{color:#3978b7}.invitation .herotext h1 i{border:0;font:36px 'Gaegu',var(--font-ui);position:absolute;top:45%;margin-left:20px;color:#7fa5bd;transform:rotate(15deg)}
.invitation .herotext h2{font-size:15px;font-weight:650;line-height:1.7;letter-spacing:-.3px;margin:0;color:#425e6c}.invitation .invitation-copy{font-size:13px;line-height:1.9;color:#757c78;margin:15px 0 25px}
.invitation-ticket{position:relative;background:#fffaf0;border:1px solid #cfdbde;border-radius:6px;padding:17px 20px 15px;box-shadow:3px 5px 0 #507f9910;max-width:475px}
.ticket-top{display:flex;justify-content:space-between;gap:12px;color:#65889d;font-size:8px;letter-spacing:1.5px;border-bottom:1px dashed #bed0d8;padding-bottom:13px;margin-bottom:13px}.invitation-ticket>label{display:block;font-size:11px;font-weight:600;margin-bottom:8px;color:#59717c}
.invitation .entry{flex-wrap:nowrap;gap:9px}.invitation .entry input{flex:1;width:120px;min-width:0;background:transparent;border-color:#d1d9d8;font-size:12px}.invitation .entry .primary{white-space:nowrap;background:var(--accent-deep);border-color:var(--accent-deep);padding:13px 15px;font-weight:600}.invitation .entry .primary:hover{background:#387cb8}.invitation .entry .primary span{margin:0}.invitation .herometa{margin-top:13px;font-size:10px;color:#7b8a8c}
.scrapbook{position:relative;padding:30px 12px 65px 12px;min-width:0}.paper-tab{position:absolute;top:5px;left:23px;font:22px 'Gaegu',var(--font-ui);padding:9px 20px;background:#c4d8e2;color:#486b82;transform:rotate(-4deg);border-radius:5px 5px 0 0}
.invitation .heromap{padding:27px 23px 35px;background:#efe6d1;border-color:#d2c3a8;outline:0;box-shadow:0 13px 30px #594f3520,7px 7px 0 #fcf8ef,8px 8px 0 #d8cdb8;transform:rotate(-3deg)}
.invitation .maplabel{font-family:'Gugi Title',var(--font-ui);font-size:30px;font-weight:400;letter-spacing:1px;color:#527082;padding-bottom:15px}.invitation .maplabel small{font-family:var(--font-ui);color:#7f8d8e;font-size:7px;letter-spacing:2px}.invitation .heromap>img{margin-top:10px}.invitation .mapquote{font-family:'Gaegu',var(--font-ui);font-size:23px;line-height:1.4;text-align:left;padding-left:8px;margin-top:13px;color:#717c78}
.invitation .mapstamp{left:auto;right:-16px;top:65px;bottom:auto;transform:rotate(10deg);background:#e1edf1;color:#406b8a;border:3px double #6087a2;padding:13px 10px;text-align:center;letter-spacing:1px;box-shadow:0 0 0 4px #e1edf1;font-size:7px}.invitation .mapstamp b{font:25px 'Gaegu',var(--font-ui);display:block;margin:5px 0}.mapstamp small{font-size:6px;display:block}
.scrap-note{position:absolute;bottom:5px;right:8px;width:250px;background:#fffdf3;padding:25px 22px 15px;transform:rotate(5deg);box-shadow:2px 5px 13px #5d4a3015;background-image:repeating-linear-gradient(transparent,transparent 28px,#9db4c219 29px);border:1px solid #dfd9c6}.note-tape{position:absolute;left:75px;top:-12px;height:27px;width:95px;transform:rotate(-7deg);background:repeating-linear-gradient(90deg,#8baac849 0px,#8baac849 7px,#a9c3d845 7px,#a9c3d845 14px)}.note-members{font-size:20px}.scrap-note p{font:23px/1.35 'Gaegu',var(--font-ui);color:#577287;margin:10px 0}.note-sign{font:18px 'Gaegu',var(--font-ui);color:#87948c}.scrap-spark{position:absolute;left:5px;bottom:32px;font-size:44px;color:#789bb1;transform:rotate(-15deg)}
.invitation-steps{border-top:1px dashed #c3cfd2;border-bottom:0;padding:25px 0 12px;gap:28px}.invitation-steps span{color:#6889a0}.invitation-steps h3{font:23px/1.3 'Gaegu',var(--font-ui);color:#536d7b;margin:10px 0}.invitation-steps p{font-size:11px}.invitation-steps>div+div{border-color:#d0d9d7}
button,input,select,.choice h3,.songcard h3,.personaltrack b,.metriclist,.resourcegrid,.membertitle strong,.energy,.audience,.effects,.livecost,.reportmetrics,.ticketnums{font-family:var(--font-ui);font-variant-numeric:tabular-nums}
@media(max-width:1000px){.invitation{gap:35px}.invitation .herotext h1{font-size:61px}.invitation .entry{flex-wrap:wrap}.invitation .entry input{width:100%}.invitation .entry .primary{flex:1}.scrap-note{width:220px}.invitation .maplabel{font-size:24px}}
@media(max-width:760px){.invitation{grid-template-columns:1fr;gap:25px;padding:28px 0 35px}.invitation .herotext h1{font-size:clamp(48px,12vw,68px);line-height:1.25;margin:10px 0 18px;letter-spacing:-2px}.invitation .invitation-note{font-size:22px}.invitation .herotext h2{font-size:13px}.invitation .invitation-copy{font-size:12px;margin-bottom:19px}.invitation-ticket{max-width:none;padding:15px}.invitation .entry{flex-wrap:nowrap}.invitation .entry .primary{padding:12px;font-size:11px;flex:initial}.invitation .entry input{width:100px;font-size:11px}.scrapbook{max-width:490px;width:100%;margin:auto;padding:29px 18px 80px 12px}.invitation .heromap{padding:22px 18px 32px}.invitation .maplabel{font-size:26px}.invitation .mapquote{font-size:21px}.invitation .mapstamp{right:-9px;top:65px;padding:10px 7px}.scrap-note{right:12px;width:220px;padding:22px 18px 14px}.scrap-note p{font-size:22px}.invitation-steps{grid-template-columns:1fr;gap:15px}.invitation-steps>div+div{border:0;border-top:1px dashed #d0d9d7;padding:15px 0 0}.invitation-steps h3{margin:5px 0}.invitation-kicker .eyebrow{font-size:8px}}
.scrap-note p{font-size:21px;word-break:keep-all;letter-spacing:-.4px}
@media(max-width:760px){.scrap-note p{font-size:20px}}
.memberhintbar{padding:14px 16px;margin-bottom:22px;border:1px solid #bfd2e2;border-radius:10px;background:#f3f7fa}.hintcontrols{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hintcontrols>b{color:var(--accent-deep);font-size:15px;margin-right:5px}.hintcontrols button{display:inline-flex;gap:8px;align-items:center;border:1px solid #c5d7e6;background:#fffcf5;padding:8px 11px;border-radius:20px;font-size:12px;min-height:36px}.hintcontrols button small{color:#3978b7;font-size:10px}.hintcontrols>span{font-size:10px;color:#798a96;margin-left:auto}.hintmessages p{margin:12px 0 8px;line-height:1.65}.hintmessages b{display:block;font-size:12px;color:#345f87}.hintmessages span{display:block;font-size:12px;color:#526e82;margin-top:4px}.hintmessages>small{font-size:10px;color:#7c8991}.member-recommended{outline:2px solid #5c99cb!important;outline-offset:3px;background-color:#edf5fc!important}.member-hint-tag{display:inline-block!important;padding:4px 8px!important;margin:9px 5px 0 0!important;font:600 11px var(--font-ui)!important;background:#3978b7!important;color:white!important;border-radius:4px!important;white-space:nowrap}.songcard>.member-hint-tag{align-self:start;margin:0 18px 12px!important}.hintcontrols button:disabled{opacity:.45}.hintcontrols button:not(:disabled):hover{background:#dfeefa}@media(max-width:760px){.memberhintbar{padding:12px}.hintcontrols{gap:6px}.hintcontrols button{padding:7px 9px}.hintcontrols>span{width:100%;margin:3px 0 0}.hintmessages span{font-size:11px}}
/* V14: blue annotations on a warm concert journal. */
.voyage-progress{display:flex;align-items:center;gap:22px;margin:0 0 25px;padding:16px 20px;border:1px solid #c8d7de;border-radius:12px;background:#f8faf7}.voyage-progress>div:first-child{min-width:160px}.voyage-progress span{display:block;font-size:9px;letter-spacing:2px;color:#7191a7}.voyage-progress b{display:block;margin-top:5px;font-size:13px;color:#365d77}.voyage-progress small{font-size:11px;font-weight:500;margin-left:6px}.progress-track{flex:1;height:5px;background:#dce6e9;border-radius:9px;overflow:hidden}.progress-track i{display:block;height:100%;background:#538db5;border-radius:9px;transition:width .25s}.voyage-progress .textbtn{font-size:11px;white-space:nowrap}.choice-echo{border-left:3px solid #6b9dbf;background:#eff5f7;padding:13px 16px;margin-bottom:18px;border-radius:0 8px 8px 0}.choice-echo>div{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.choice-echo span{font-size:10px;color:#627d90;margin-right:5px}.choice-echo b{font:600 11px var(--font-ui);color:#365f7d;background:#fffdf8;border:1px solid #d6e3e9;border-radius:15px;padding:4px 8px}.choice-echo p{margin:11px 0 0;font-size:15px;line-height:1.65;color:#46677b}.choice-echo p small{font:9px var(--font-ui);color:#7b8c95;margin-left:5px}.nextcue{display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid #bfcfda;background:#edf3f6;border-radius:12px 12px 0 0;margin-bottom:-8px;font-size:12px}.nextcue span{color:#668195}.nextcue b{color:#305f82}.nextcue small{margin-left:auto;font-size:11px;max-width:55%;overflow-wrap:anywhere}.collection-cover{padding:20px 0 26px;border-bottom:1px dashed #adc2d0;margin-bottom:24px;background:radial-gradient(ellipse at top right,#dcebf0,transparent 65%)}.collection-cover h2{font-family:'Gaegu',var(--font-ui);font-size:38px;line-height:1.2;color:#3e6682;margin:12px 0}.collection-cover p{color:#648297;font-size:12px}.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0 26px}.memory-card{text-align:left;padding:18px;min-height:135px;border:1px dashed #b8cbd5;border-radius:10px;background:#f3f4ee;color:#758894;display:flex;flex-direction:column;gap:11px;transition:transform .2s,box-shadow .2s}.memory-card.discovered{border-style:solid;background:#f5fbff;color:#355e7a;box-shadow:2px 3px 0 #dce7ed}.memory-card:hover{transform:translateY(-2px);box-shadow:0 5px 13px #426b7f13}.memory-card span{font-size:9px;letter-spacing:1px}.memory-card b{font-size:14px;line-height:1.55}.memory-card small{font-size:10px;line-height:1.5;margin-top:auto}.memory-letter{padding:20px 8px}.memory-letter>p{font-size:15px;line-height:2;word-break:keep-all}.memory-letter h2{color:#3f6b87}.memory-quote{padding:20px;background:#eaf1f3;font:23px/1.5 'Gaegu',var(--font-ui);color:#59778c;border-radius:8px}.memory-options{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.memory-options span{padding:6px 10px;border:1px solid #c2d3de;border-radius:20px;font-size:11px}.memory-letter .secondary{margin-top:20px}.debrief-paper{background:#f7f9f5;border:1px solid #c9d7da;border-radius:14px;padding:26px;margin:28px 0;position:relative}.debrief-paper h3{font:30px 'Gaegu',var(--font-ui);color:#4d748b;margin:10px 0}.debrief-paper p{font-size:13px;line-height:1.85;max-width:70ch}.debrief-paper .secondary{margin-top:12px}.concert-note{display:block;width:100%;min-height:290px;resize:vertical;border:1px solid #b9cbd6;border-radius:10px;background:#fffdf7;color:#3d5a6e;padding:18px;font:13px/1.8 var(--font-ui);margin:20px 0;box-sizing:border-box}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #478fc1;outline-offset:4px}.stagepanel{box-shadow:0 12px 28px #30556b18}.islandincident{animation:page-arrival .3s ease-out}.islandincident .incidenticon{filter:drop-shadow(0 5px 9px #4d769528)}@keyframes page-arrival{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.voyage-progress{gap:12px;flex-wrap:wrap;padding:13px 15px;margin-bottom:18px}.voyage-progress>div:first-child{min-width:0;flex:1}.voyage-progress .progress-track{order:3;flex-basis:100%}.voyage-progress .textbtn{padding:5px;font-size:10px}.choice-echo{padding:11px 12px}.choice-echo p{font-size:14px}.nextcue{gap:7px;padding:12px;font-size:10px}.nextcue small{font-size:10px}.memory-grid{gap:9px}.memory-card{padding:13px;min-height:140px}.memory-card b{font-size:12px}.collection-cover h2{font-size:32px}.memory-letter{padding:10px 0}.memory-letter>p{font-size:13px}.debrief-paper{padding:20px}.debrief-paper p{font-size:12px}.stagealt button,.selectsong,.replylist button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.memory-card b,.memory-card small{word-break:keep-all;overflow-wrap:anywhere}dialog{overscroll-behavior:contain}
.letter-shelf,.bridge-picker,.fan-keepsakes{padding:24px;border:1px solid #bed1db;border-radius:14px;background:#f5f9f8;margin:24px 0}.letter-shelf h3,.bridge-picker h3,.fan-keepsakes h3{font:30px 'Gaegu',var(--font-ui);color:#436e87;margin:8px 0 12px}.letter-shelf>p{font-size:12px;line-height:1.7}.letter-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.letter-tabs>div{display:flex;gap:7px;flex-wrap:wrap}.letter-tabs b{width:100%;font-size:13px;color:#426780;margin:8px 0}.letter-tabs button{padding:9px 11px;border:1px solid #bfd3df;background:#fffdf6;border-radius:7px;font-size:11px;min-height:42px}.letter-tabs>div:last-child{grid-column:1/-1}.letter-original{white-space:pre-wrap;line-height:2.1;font-family:var(--font-ui);font-size:15px;word-break:keep-all;padding:20px 0;color:#3d5767}.concert-letter h2{font-family:'Gaegu',var(--font-ui);font-size:36px;color:#46718b}.concert-letter blockquote{margin:20px 0;padding:20px;border-left:3px solid #719bb4;background:#edf4f6;font:25px/1.6 'Gaegu',var(--font-ui)}.stage-letter-photo{width:100%;height:auto;border-radius:9px;margin:10px 0}.bridge-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bridge-options button{text-align:left;display:flex;flex-direction:column;gap:9px;padding:16px;background:#fffdf6;border:1px solid #c5d5de;border-radius:9px;min-width:0}.bridge-options b{font-size:14px}.bridge-options small{font-size:10px;color:#54758a}.bridge-active{outline:2px solid #518bb4;outline-offset:2px;background:#e9f3fb!important}.fan-song-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 18px 8px}.fan-song-tags span{font:10px var(--font-ui);background:#e4eff6;color:#3f6d8e;border-radius:14px;padding:5px 7px}.fan-keepsakes p{font-size:13px;line-height:1.9}.choir-song-label{border-radius:8px;padding:14px;background:#e9f3f8;color:#3b6d8e;font-size:13px;margin-bottom:15px}@media(max-width:760px){.letter-shelf,.bridge-picker,.fan-keepsakes{padding:17px}.letter-tabs{grid-template-columns:1fr}.letter-original{font-size:13px;line-height:2}.bridge-options{gap:9px}.bridge-options button{padding:12px}.bridge-options b{font-size:12px}.concert-letter h2{font-size:30px}}
.fan-response{padding:17px;background:#eef6fa;border:1px solid #adcada;border-radius:10px;margin-bottom:17px}.fan-response b{font-size:13px;color:#3d6d8c}.fan-response p,.fan-response small{display:block;font:11px/1.8 var(--font-ui);color:#537185}.fan-response .secondary{margin:8px 0}
.stage-heart{margin:25px 0;padding:26px;background:#f2f7f8;border:1px solid #c2d5df;border-radius:13px}.stage-heart h3{font:32px 'Gaegu',var(--font-ui);color:#426c86;margin:12px 0}.stage-heart .heart-intro{font-size:13px;line-height:1.9;color:#547589}.stage-heart blockquote{margin:18px 0;padding:14px 18px;border-left:2px solid #82a7bf;font:17px/1.9 var(--font-ui);color:#3c5f75;word-break:keep-all}.stage-heart .fine{font-size:10px}@media(max-width:760px){.stage-heart{padding:18px}.stage-heart blockquote{font-size:14px;padding:10px 12px}}
.solo-member-strip{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}.solo-member-strip span{font:12px var(--font-ui);padding:9px 12px;border:1px solid #c6d7df;border-radius:20px;color:#5d7888}.solo-member-strip .current{background:#e4f0fa;border-color:#5b91b9;color:#325f80}.letter-tabs>button{padding:14px;border:1px solid #c3d4df;border-radius:8px;background:#fffdf5;font-size:13px;text-align:left;min-height:46px}

/* V18: shared card rows keep titles, part tables and actions aligned. */
.songgrid>.songcard:not(.solo-card){display:grid;grid-template-rows:subgrid;grid-row:span 9;row-gap:0;min-width:0}
.songgrid>.songcard.encore-card{grid-row:span 10}
.song-title{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 0 10px}
.song-title h3{margin:0;min-height:0;display:block;flex:0 1 auto;overflow-wrap:anywhere;word-break:keep-all}
.fan-call-badge{flex:none;display:inline-flex;align-items:center;white-space:nowrap;font:600 10px/1.3 var(--font-ui);padding:5px 8px;background:#e5eff9;color:#3c739c;border:1px solid #d4e5f3;border-radius:20px}
.songcard .songtraits{box-sizing:border-box;min-height:54px;margin:0 0 12px;padding:2px 0 16px}
.songcard .partrow{min-height:38px;align-items:center}
.songcard .selectsong{align-self:end;margin-top:20px;min-height:48px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px}
.solo-card{display:flex;flex-direction:column}.solo-card>.keywordlist{min-height:45px}.solo-card>.selectsong{margin-top:auto}.solo-card>.textbtn{align-self:flex-start;margin-bottom:14px}
@media(max-width:760px){.song-title{gap:5px;padding:10px 0}.song-title h3{font-size:19px;line-height:1.5}.fan-call-badge{font-size:8px;padding:4px 5px}.songcard .songtraits{min-height:60px}.songcard .partrow{min-height:33px}.songcard .selectsong{font-size:11px;margin-top:14px;min-height:44px}}
@media(max-width:390px){.song-title{flex-wrap:wrap;align-content:center}.song-title h3{font-size:17px}.fan-call-badge{margin-left:auto}}

.song-title{flex-wrap:wrap}.song-title>.member-hint-tag,.solo-card h3>.member-hint-tag{font-size:10px!important;margin:0!important;padding:4px 7px!important;align-self:center}
/* V19 · A poster in progress, a cue book, a ticket to take home. */
.keepsake-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.keepsake-heading>span:last-child{font-size:11px;color:#6d8da4}.keepsake-heading h3{font:36px/1.3 'Gaegu',var(--font-ui);margin:7px 0;color:#294e6d}.handwritten{font:21px 'Gaegu',var(--font-ui)!important}.keepsake-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.keepsake-actions button{font-family:var(--font-ui)}.poster-workshop{border:1px solid #bfd0db;border-radius:13px;background:#f9f6ec;padding:20px;margin-top:20px}.poster-workshop .keepsake-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.island-poster{position:relative;overflow:hidden;background:var(--poster-ink);padding:30px 22px 23px;color:#edf2e9;border:6px solid #eee7d7;outline:1px solid #c5d2d6;box-shadow:0 8px 18px #17375712}.island-poster:after{content:'';pointer-events:none;position:absolute;inset:9px;border:1px solid var(--poster-blue);opacity:.7}.poster-edition{font:8px/1.6 var(--font-ui);letter-spacing:1.8px;display:block;color:#c6dcea}.island-poster h3{font:32px/1.3 'Gugi Title',var(--font-ui);letter-spacing:-1px;margin:26px 0 12px;word-break:keep-all;overflow-wrap:anywhere;position:relative;z-index:1}.island-poster>p{font:16px/1.6 'Gaegu',var(--font-ui);color:#c8dce6;margin:0}.poster-mark{position:absolute;right:23px;top:60px;font:70px/1 var(--font-ui);color:var(--poster-blue);opacity:.23}.poster-map{margin:20px -10px 15px;mix-blend-mode:screen;opacity:.8}.poster-map img{width:100%;height:auto;display:block;border-radius:50%;filter:grayscale(1)}.poster-members{text-align:center;letter-spacing:2px;font-size:15px;margin:10px 0 18px}.poster-credit{border-top:1px solid #aac6d750;padding-top:13px;display:flex;justify-content:space-between;gap:8px;align-items:center}.poster-credit b{font-size:12px}.poster-credit span{font-size:10px}.island-poster>small{font:8px/1.6 var(--font-ui);color:#bfd3dd;display:block;margin-top:10px;overflow-wrap:anywhere}.poster-checklist{display:flex;gap:8px;justify-content:space-between;padding-top:15px;font-size:10px;color:#929b9f}.poster-checklist .filled{color:#3978a8}.poster-workshop .keepsake-actions{justify-content:space-between;gap:5px;margin-top:9px}.poster-workshop .textbtn{font-size:10px}.concert-title-input{display:block;margin:15px 0;width:100%;padding:15px;border:1px solid #bdcedb;border-radius:8px;background:#f8f9f4;font:18px var(--font-ui)}
.mood-sticker{display:inline-flex;position:relative;align-items:center;justify-content:center;vertical-align:middle;flex:none;margin-right:5px;min-width:22px;min-height:24px;font-family:var(--font-ui)}.mood-sticker>span{display:block;font-size:19px;line-height:1.3;transition:transform .3s,filter .3s}.mood-sticker i{position:absolute;right:-6px;top:-7px;font-style:normal;font-size:12px;color:#4b96c8;line-height:1}.mood-tired>span{transform:rotate(-15deg);filter:saturate(.5)}.mood-tired i{top:12px;right:-8px;color:#7a94ac}.mood-happy>span{transform:rotate(8deg)}.membergrid .mood-happy i{animation:sticker-shine 4s ease-in-out infinite}.mood-worried i{right:-9px;top:-7px}.membertitle .mood-sticker{margin-right:8px}.cue-book{border:1px solid #bed0dc;border-radius:12px;background:#fdfaf2;margin:25px 0;overflow:hidden}.cue-cover{padding:25px 25px 22px;background:linear-gradient(135deg,#e6eff3,#f5f5eb);border-bottom:1px solid #c5d6dd}.cue-cover h3{font:30px/1.4 'Gaegu',var(--font-ui);color:#2d5672;margin:8px 0}.cue-cover>p{font:12px var(--font-ui);color:#708695}.cue-cover>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.cue-cover>div span{font-size:10px;background:#fcfbf4;padding:6px 10px;border:1px solid #ccd9df;border-radius:4px}.cue-legend{display:flex;gap:14px;align-items:center;padding:20px 22px 0;font-size:11px;flex-wrap:wrap}.cue-legend>b{color:#4f6d7d;font-weight:500}.cue-legend>span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:100%;background:var(--part);margin-right:4px}.cue-book>.fine{padding:0 22px;line-height:1.8}.cue-scroll{overflow-x:auto;overscroll-behavior-x:contain}.cue-table{width:100%;min-width:550px;border-collapse:collapse;margin:0}.cue-table th{text-align:left;font-size:9px;padding:14px 14px;background:#f1f3ec;color:#72818b;font-weight:500;line-height:1.6}.cue-table td{padding:14px;border-bottom:1px solid #dce1d7;vertical-align:middle;font-size:12px;white-space:normal}.cue-table td:first-child{width:48px;color:#6e91aa;font-variant-numeric:tabular-nums}.cue-table td:nth-child(2){min-width:185px}.cue-table td:nth-child(3){white-space:nowrap}.cue-table td:nth-child(4){min-width:160px}.cue-table td b{display:block;font:650 13px/1.5 var(--font-ui);color:#3c525d}.cue-table td small{display:block;font:10px/1.7 var(--font-ui);color:#7f8e92;margin-top:4px}.cue-kind{display:block;font:8px/1.5 var(--font-ui);letter-spacing:1px;color:#6493b3;margin-bottom:5px}.cue-energies{display:grid;grid-template-columns:repeat(4,25px);gap:8px;align-items:end;height:48px}.cue-energies>span{display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:end}.cue-energies i{display:block;width:9px;background:var(--part);border-radius:2px;opacity:.65}.cue-energies b{font-size:10px!important;color:var(--part)!important}.cue-energies .low i{opacity:.35}.cue-risk{background:#f0f2ec}.cue-table td .danger{color:#996858;font-size:8px}.cue-table tr:last-child td{border-bottom:0}.scene-controls{display:flex;justify-content:flex-end;margin:0 0 10px}.scene-controls label{font-size:10px;display:flex;gap:6px;align-items:center;color:#758b96}.scene-controls input{accent-color:#3978b7}.stagepanel{position:relative;isolation:isolate;overflow:hidden}.stagepanel>*:not(.moonlight):not(.scene-art){position:relative;z-index:1}.scene-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.scene-art i{position:absolute;left:var(--x);top:var(--y)}.scene-bloom{background:radial-gradient(ellipse at 50% 0,#afcadd22,transparent 65%)}.scene-bloom i{width:9px;height:17px;border-radius:80% 15% 80% 15%;background:#c5dce873;transform:rotate(calc(var(--n)*35deg));animation:petal-drift 9s ease-in-out infinite;animation-delay:calc(var(--n)*-.9s)}.scene-lights i{width:4px;height:4px;border-radius:50%;background:#c3dbec;box-shadow:0 0 9px 3px #97b9d757;top:calc(66% + var(--n)*1%);animation:audience-glow 6s ease-in-out infinite;animation-delay:calc(var(--n)*-.4s)}.scene-beam{background:linear-gradient(115deg,transparent 13%,#79adea17 15%,#79adea0a 18%,transparent 20%,transparent 65%,#9cc6ee15 70%,transparent 75%)}.scene-beam i{height:130%;top:-15%;width:1px;background:linear-gradient(transparent,#9cbbd04d,transparent);transform:rotate(25deg)}.scene-caption{font:15px/1.5 'Gaegu',var(--font-ui);color:#7491a9;margin:10px 0!important}.ticket-keepsake{margin:35px 0 45px;border-top:1px solid #bfced6;padding-top:30px}.keepsake-ticket-pair{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;background:#ede8d9;padding:26px;border-radius:10px}.souvenir-ticket{position:relative;background:#142947;color:#e4e8df;padding:22px;min-width:0;filter:drop-shadow(0 5px 4px #1f354722);mask-image:radial-gradient(circle at 12px 0,transparent 6px,#000 6.5px),linear-gradient(#000,#000),radial-gradient(circle at 12px 100%,transparent 6px,#000 6.5px);mask-size:24px 12px,100% calc(100% - 24px),24px 12px;mask-position:0 0,0 12px,0 100%;mask-repeat:repeat-x,no-repeat,repeat-x}.ticket-frame{position:relative;min-height:100%;padding:21px 22px;border:1px solid #87afc9;outline:1px solid #8bb9d04a;outline-offset:5px;display:flex;flex-direction:column}.ticket-frame:before,.ticket-frame:after{content:'✧';position:absolute;color:#93bbd2;left:5px;font-size:18px;line-height:1}.ticket-frame:before{top:3px}.ticket-frame:after{bottom:3px}.ticket-edition{font:9px/1.7 var(--font-ui);letter-spacing:1.6px;color:#b8cddd;display:block}.ticket-lantern{width:150px;max-width:75%;margin:25px auto 5px;color:#b8d2e1}.ticket-lantern svg{display:block;width:100%;height:auto}.ticket-front .ticket-frame>small{text-align:center;font-size:9px;letter-spacing:2px}.ticket-front h3{font:33px/1.45 'Gugi Title',var(--font-ui);word-break:keep-all;overflow-wrap:anywhere;margin:20px 0;color:#f2f0dc}.ticket-front p{font:19px/1.5 'Gaegu',var(--font-ui);color:#bad0df;margin:0 0 18px}.ticket-signature{font:28px/1.4 'Gaegu',var(--font-ui);color:#85b4d8;margin-top:auto;padding-top:25px;transform:rotate(-5deg)}.ticket-foot{font:7px/1.5 var(--font-ui);letter-spacing:1px;color:#91aec5;padding-top:25px}.ticket-back h3{font:25px/1.5 'Gaegu',var(--font-ui);color:#eef0de;margin:18px 0}.ticket-back dl{margin:0 0 19px;border-top:1px solid #6a91b067;border-bottom:1px solid #6a91b067;padding:13px 0}.ticket-back dl>div{display:flex;gap:12px;font:10px/1.8 var(--font-ui);padding:3px 0}.ticket-back dt{width:62px;flex:none;color:#95b4cd;font-size:8px;letter-spacing:1px}.ticket-back dd{margin:0;overflow-wrap:anywhere}.ticket-setlist-label{font:9px/1.5 var(--font-ui);letter-spacing:1px;color:#93b7d3}.ticket-mini-set{padding:0 0 0 24px;margin:12px 0 22px;columns:2;column-gap:20px;list-style-type:decimal-leading-zero}.ticket-mini-set li{font:10px/1.7 var(--font-ui);padding:3px 0 3px 3px;break-inside:avoid;color:#dae3e6;overflow-wrap:anywhere}.ticket-mini-set li::marker{color:#7fa2bd;font-size:8px}.ticket-barcode{height:34px;background:repeating-linear-gradient(90deg,#d9e0df 0 1px,transparent 1px 3px,#d9e0df 3px 5px,transparent 5px 6px,#d9e0df 6px 7px,transparent 7px 11px);opacity:.8;margin-top:auto}.ticket-back .ticket-frame>small{font:8px/1.6 var(--font-ui);color:#a6bdcf;margin-top:10px}.keepsake-preview-image{display:block;width:100%;height:auto;border-radius:6px;margin:15px 0 25px}.resultgrid .resultticket{display:none}.resultgrid{grid-template-columns:1fr}.resultgrid .reportpaper{width:100%}
.voyage-notebook{position:relative;padding:15px 5px 5px 23px;border-left:2px solid #96b3c7;background:repeating-linear-gradient(transparent 0 30px,#6b93ac0b 30px 31px)}.voyage-notebook:before{content:'';position:absolute;inset:0 auto 0 4px;width:5px;background:radial-gradient(circle,#8aa0a5 2px,transparent 2.5px);background-size:5px 34px}.notebook-cover{padding:25px 15px 20px}.notebook-cover h2{font:42px/1.25 'Gaegu',var(--font-ui);color:#2f5b7a;margin:20px 0 12px}.notebook-cover>p{font:16px/1.6 'Gaegu',var(--font-ui);color:#6e899d}.notebook-count{display:flex;gap:22px;font:11px var(--font-ui);color:#708493}.notebook-count b{margin-left:6px;color:#356a92}.notebook-stamps{display:flex;gap:15px;flex-wrap:wrap;padding-top:20px}.notebook-stamps>p{font:14px 'Gaegu',var(--font-ui);color:#8096a4}.place-stamp{display:inline-flex;width:110px;height:110px;flex:none;border:2px solid #447b9f;border-radius:50%;outline:1px solid #447b9f;outline-offset:-7px;color:#447b9f;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-12deg);opacity:.85;padding:12px;background:#edf3f029;margin:10px}.place-stamp>span{font:7px var(--font-ui);letter-spacing:1.3px}.place-stamp b{font:24px 'Gaegu',var(--font-ui);margin:6px 0}.place-stamp>small{font:7px var(--font-ui)}.small-stamp{width:76px;height:76px;margin:5px;outline-offset:-5px}.small-stamp>span{font-size:5px;letter-spacing:.8px}.small-stamp b{font-size:18px;margin:3px 0}.small-stamp>small{font-size:5px}.notebook-section{font:25px/1.4 'Gaegu',var(--font-ui);color:#395d76;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bbd0dd;padding-bottom:12px;margin:26px 0 20px}.notebook-section>span{font:9px var(--font-ui);color:#87a2b4}.scrap-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 19px;padding:12px 5px}.scrap-memory{background:#fffdf7;border:1px solid #d5d8ce;padding:13px 13px 18px;text-align:left;position:relative;box-shadow:2px 5px 9px #27425b0a;border-radius:2px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;transform:rotate(-1deg)}.scrap-memory:nth-child(even){transform:rotate(1deg)}.scrap-memory:hover{transform:rotate(0);background:#f6f9f7}.scrap-tape{position:absolute;top:-8px;left:28%;width:43%;height:20px;background:#b9d5df8c;transform:rotate(-4deg);z-index:1}.memory-illustration{width:100%;height:115px;background:linear-gradient(145deg,#cddde4,#e9eee5);display:flex;align-items:center;justify-content:center;position:relative;color:#5d859e;overflow:hidden;border:1px solid #d8e3e8}.memory-illustration:before{content:'';position:absolute;left:-15%;right:-15%;height:60px;bottom:-32px;border:1px solid #87a9bd99;border-radius:50%;box-shadow:0 -7px 0 #a7c7d357,0 -15px 0 #b4cbd333;transform:rotate(-12deg)}.memory-illustration>span{font:55px 'Gaegu',var(--font-ui);z-index:1;transform:rotate(-9deg)}.memory-illustration>i{position:absolute;right:10px;top:10px;font:10px var(--font-ui);color:#6e93a8}.illustration-5{background:linear-gradient(#244867,#89a8bb);color:#e7e9d3}.illustration-4{background:linear-gradient(#7a9bb6,#d2dfe5)}.sealed .memory-illustration{filter:saturate(.35);opacity:.65}.memory-index{font:7px/1.5 var(--font-ui);letter-spacing:1.2px;color:#8299a5;margin:15px 0 7px}.scrap-memory h4{font:23px/1.25 'Gaegu',var(--font-ui);color:#345b74;margin:0 0 10px;overflow-wrap:anywhere}.scrap-memory>p{font:11px/1.8 var(--font-ui);color:#778c97;margin:0 0 15px}.scrap-memory .place-stamp{align-self:flex-end;margin-top:auto}.empty-stamp{font:14px/1.5 'Gaegu',var(--font-ui);color:#94a6ac;border:1px dashed #bfcdd0;border-radius:50%;padding:13px 8px;transform:rotate(-8deg);align-self:flex-end;margin-top:auto}.memory-letter{padding:12px 5px}
@keyframes sticker-shine{0%,100%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}@keyframes petal-drift{0%,100%{translate:0 -9px;rotate:-8deg}50%{translate:13px 14px;rotate:20deg}}@keyframes audience-glow{0%,100%{opacity:.35}50%{opacity:.9}}
@media(max-width:1050px){.compact-poster{padding:14px}.compact-poster .island-poster{padding:24px 15px 20px}.compact-poster .island-poster h3{font-size:26px}.compact-poster .poster-credit{flex-wrap:wrap}.keepsake-ticket-pair{padding:20px;gap:18px}.ticket-frame{padding:20px 15px}.ticket-front h3{font-size:28px}}
@media(max-width:760px){.compact-poster{grid-column:1/-1;width:100%;margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 14px;align-items:center;padding:15px}.compact-poster>.keepsake-heading{grid-column:1/-1;margin:0}.compact-poster .island-poster{grid-row:2/4;padding:18px 9px 14px;align-self:start}.compact-poster .poster-edition{font-size:4px;letter-spacing:.4px}.compact-poster .island-poster h3{font-size:15px;line-height:1.4;margin:12px 0 8px;letter-spacing:0}.compact-poster .island-poster>p{font-size:8px}.compact-poster .poster-map{margin:10px -3px}.compact-poster .poster-members{font-size:7px;letter-spacing:0;margin:8px 0}.compact-poster .poster-credit{padding-top:8px;gap:4px}.compact-poster .poster-credit b{font-size:7px}.compact-poster .poster-credit span{font-size:5px}.compact-poster .island-poster>small{font-size:4px}.compact-poster .poster-mark{font-size:30px;right:10px;top:25px}.compact-poster .poster-checklist{padding:0;flex-direction:column;gap:12px;align-self:end;font-size:11px}.compact-poster>.keepsake-actions{flex-direction:column;align-items:flex-start;gap:12px;align-self:start;margin-top:4px}.compact-poster .textbtn{font-size:11px}.cue-cover{padding:20px 16px}.cue-cover h3{font-size:26px}.cue-cover>div{gap:5px}.cue-cover>div span{font-size:9px;padding:6px 8px}.cue-legend{gap:10px;padding:17px 16px 0;font-size:10px}.cue-book>.fine{padding:0 16px;font-size:10px}.cue-table{min-width:540px}.cue-table th{font-size:9px}.cue-table td{padding:12px}.cue-table td b{font-size:12px}.cue-table td small{font-size:9px}.scene-controls label{font-size:10px}.scene-caption{font-size:13px}.ticket-keepsake{margin:25px 0 30px}.keepsake-heading h3{font-size:29px}.keepsake-heading .handwritten{font-size:16px!important}.keepsake-ticket-pair{grid-template-columns:1fr;padding:20px;gap:24px}.ticket-frame{padding:23px}.ticket-front .ticket-frame{min-height:420px}.ticket-lantern{width:120px;margin-top:20px}.ticket-front h3{font-size:28px}.ticket-front p{font-size:18px}.ticket-front .ticket-signature{font-size:26px}.ticket-back h3{font-size:26px}.ticket-edition{font-size:9px}.ticket-back dl>div{font-size:11px}.ticket-mini-set li{font-size:11px}.ticket-mini-set{column-gap:15px}.ticket-keepsake .keepsake-actions{flex-direction:column;align-items:stretch}.ticket-keepsake .keepsake-actions button{font-size:11px}.resultgrid{grid-template-columns:1fr}.voyage-notebook{padding-left:15px}.notebook-cover{padding:16px 8px}.notebook-cover h2{font-size:34px}.notebook-cover .eyebrow{font-size:7px;letter-spacing:1px}.notebook-count{gap:13px;font-size:10px}.notebook-section{font-size:23px}.scrap-memory-grid{gap:24px 12px;padding:10px 0}.scrap-memory{padding:10px 9px 14px}.memory-illustration{height:92px}.scrap-memory h4{font-size:21px}.scrap-memory>p{font-size:10px;line-height:1.7}.memory-index{font-size:6px;letter-spacing:.5px}.small-stamp{width:66px;height:66px}.small-stamp b{font-size:16px}.small-stamp>span,.small-stamp>small{font-size:4px}.empty-stamp{font-size:12px}.notebook-stamps{gap:6px}.concert-title-input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.membergrid .mood-happy i,.scene-art i{animation:none!important;transition:none!important}}
@media print{header,footer,.headlinks,.keepsake-actions,.resultactions{display:none!important}.souvenir-ticket{print-color-adjust:exact}}

.ticket-memories{font:10px/1.8 var(--font-ui);color:#a4c4db;margin:0 0 18px}.poster-map img{filter:grayscale(1) invert(1)}

/* V20 · the last page of our voyage */
.bottomrow{justify-content:center}.headlinks{gap:0}footer{color:#82949c;line-height:2;font:17px/1.8 'Gaegu',var(--font-ui)}footer>span{font:8px/1.8 var(--font-ui);letter-spacing:1.5px;color:#99a8ad}.headlinks button{min-height:36px}.ticket-keepsake>.fine:empty{display:none}
.headlinks button:first-child{display:inline-flex;align-items:center}

/* V21 · a shy smile between four little dances */
.challengeassign .challenge-reaction{grid-column:1/-1;display:block;border-top:1px dashed #c5d6df;padding-top:12px;margin-top:4px;font:12px/1.9 var(--font-ui);color:#52748a;min-height:59px;word-break:keep-all}.challenge-lineup{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;text-align:left}.challenge-lineup>div{padding:14px;background:#edf4f00b;border:1px solid #c6dae52b;border-radius:8px}.challenge-lineup b{display:inline-flex;align-items:center;font-size:19px}.challenge-lineup>div>span{float:right;font:10px/2 var(--font-ui);color:#adccdb}.challenge-lineup p{font:12px/1.9 var(--font-ui);color:#c3d7df;margin:10px 0 0}.challengereport>.challenge-result-member{display:block;margin:14px 0;padding:15px 0;border-bottom:1px dashed #c8d5d7}.challenge-result-top{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.challenge-result-top b{font-size:20px;display:inline-flex;align-items:center}.challenge-result-top>span{font:11px var(--font-ui);color:#6d8b9c}.challenge-result-top>strong{font:11px var(--font-ui);margin-left:auto;color:#487c9d}.challenge-result-member>p{font:12px/1.9 var(--font-ui);color:#57778a;margin:10px 0 0}.challenge-result-member:last-of-type{border-bottom:0}@media(max-width:760px){.challengeassign .challenge-reaction{font-size:11px;line-height:1.85;min-height:0}.challenge-lineup{grid-template-columns:1fr}.challenge-lineup p{font-size:11px}.challenge-result-member>p{font-size:11px}.challenge-result-top{gap:8px}.challenge-result-top b{font-size:19px}}

.solo-card>.solo-scene{font:12px/1.95 var(--font-ui);color:#627d8a;border-top:1px dashed #cbd8dc;margin:14px 0 10px;padding-top:13px;word-break:keep-all}.solo-card>.solo-scene+p{font:11px/1.7 var(--font-ui);color:#57778c;margin-bottom:14px}@media(max-width:760px){.solo-card>.solo-scene{font-size:11px;line-height:1.85}}
/* V23 · pick up the notebook where we left it. */
.continue-area{margin:26px 0 18px}.continue-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;background:linear-gradient(115deg,#edf3f5,#faf8ee);border:1px solid #b7cddc;border-radius:12px;position:relative;overflow:hidden}.continue-card:after{content:'↺';position:absolute;right:230px;top:10px;font:90px/1 var(--font-ui);color:#81acc11a;pointer-events:none}.continue-card h3{font:30px/1.4 'Gaegu',var(--font-ui);color:#335f7e;margin:8px 0}.continue-card p{font:11px/1.8 var(--font-ui);color:#708899;margin:0}.continue-card button{flex:none;position:relative;z-index:1}.record-actions{display:flex;gap:26px;justify-content:center;padding:18px 0}.record-actions .textbtn{font-size:11px}.record-actions .textbtn:last-child{color:#829299}.headlinks{gap:14px}.headlinks button.play-history-button,.headlinks button.play-reset-button{font:10px var(--font-ui);min-height:36px}.headlinks .play-reset-button{color:#8c9b9f}.autosave-note{font:10px/1.7 var(--font-ui);color:#7d98a8;letter-spacing:.1px;text-align:right;margin:0 0 14px;word-break:keep-all}.save-warning{color:#98705a!important;font-size:11px;line-height:1.9}.reset-message{background:#edf3f2;color:#42738c;padding:15px 20px;border:1px solid #c0d6dd;border-radius:8px;font-size:12px}.record-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.reset-confirm{background:#547587}.play-record-book>h2{font:38px/1.4 'Gaegu',var(--font-ui);color:#3b6787}.play-record-book>p{font-size:12px;line-height:1.9;color:#7a8f9b}.play-record-list{margin:23px 0}.play-record-list>button{display:flex;align-items:center;gap:18px;text-align:left;width:100%;background:#fffdf6;border:1px solid #c6d6dd;border-radius:8px;padding:20px;margin:12px 0;min-width:0}.play-record-list>button:hover{background:#edf4f7}.record-number{font:24px/1.4 'Gaegu',var(--font-ui);color:#88a9bc;min-width:30px}.play-record-list button>div{min-width:0;flex:1}.play-record-list small{font:9px/1.8 var(--font-ui);color:#8fa4b0}.play-record-list h3{font:25px/1.4 'Gaegu',var(--font-ui);margin:7px 0;color:#3c6782;overflow-wrap:anywhere}.play-record-list p{font:12px/1.7 var(--font-ui);color:#59798d;margin:5px 0}.play-record-list button>div>span{font:10px/1.7 var(--font-ui);color:#8a9da7}.play-record-list button>b{font-size:19px;color:#6c9abb}.empty-record{padding:35px 20px;text-align:center;border:1px dashed #bfd1db;border-radius:10px;background:#f6f8f1}.empty-record>span{font-size:35px;color:#80a9c0}.empty-record>p{font:20px/1.8 'Gaegu',var(--font-ui);color:#6f8b9d}.record-return{display:flex;gap:25px;margin:10px 0 20px}.record-return:empty{display:none}.record-return .textbtn{font-size:11px}.reflection-card{padding:20px 22px;border-left:2px solid #88adbf;background:#dceaf015;text-align:left;margin:27px 0}.reflection-card>p{font:21px/1.8 'Gaegu',var(--font-ui);color:#577f97;margin:12px 0 0;word-break:keep-all}.farewell .reflection-card{background:#719bb411;border-color:#9fc2d1;text-align:center}.farewell .reflection-card>p{color:#c3d8e1;font-size:23px}.result-reflection{max-width:790px}.encore-reason{font:11px/1.8 var(--font-ui);color:#8a7667;word-break:keep-all;min-height:34px}.encore-reason.encore-available{color:#3f7da8}.encore-available:before{content:'✓ ';font-weight:700}.encore-pool-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 16px;padding-bottom:12px;border-bottom:1px solid #ccd8dd}.encore-pool-label>span{font-size:12px;color:#457b9c}.encore-pool-label>small{font-size:10px;color:#8195a0}.encore-detail{margin:25px 0 8px;padding:18px;background:#edf3f5;border:1px solid #c3d7e0;border-radius:9px}.encore-detail h3{font:26px/1.5 'Gaegu',var(--font-ui);color:#467592;margin:0 0 10px}.encore-detail p{font:12px/1.8 var(--font-ui);margin:4px 0;color:#67818e}
@media(max-width:760px){.continue-area{margin:20px 0 15px}.continue-card{flex-direction:column;align-items:stretch;padding:22px 20px;gap:18px}.continue-card h3{font-size:29px}.continue-card p{font-size:10px}.continue-card:after{right:25px}.continue-card button{font-size:12px}.record-actions{gap:22px;padding:15px 0;flex-wrap:wrap}.record-actions .textbtn{font-size:10px}.headlinks{gap:7px;flex:none}.headlinks button.play-history-button,.headlinks button.play-reset-button{font-size:9px;min-width:28px}.headlinks button:first-child{font-size:8px}.autosave-note{font-size:9px;text-align:left;margin-bottom:12px}.record-modal-actions{flex-direction:column}.record-modal-actions button{font-size:11px}.play-record-book>h2{font-size:32px}.play-record-book>p{font-size:11px}.play-record-list>button{padding:16px 13px;gap:10px}.play-record-list h3{font-size:23px}.play-record-list p{font-size:11px}.play-record-list button>div>span{font-size:9px}.record-number{font-size:21px;min-width:24px}.record-return{gap:18px;flex-wrap:wrap}.record-return .textbtn{font-size:10px}.reflection-card{padding:16px 17px;margin:22px 0}.reflection-card>p{font-size:20px;line-height:1.8}.farewell .reflection-card>p{font-size:20px}.encore-reason{font-size:10px;line-height:1.7}.encore-pool-label{align-items:flex-start;flex-direction:column;gap:6px}.encore-pool-label>small{font-size:9px}.encore-detail p{font-size:11px}}

/* Broad island artwork dissolves into the paper, without a round crop. */
.poster-map{margin:14px -20px 4px;opacity:.9;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent)}
.poster-map img{border-radius:0;aspect-ratio:1.48;object-fit:cover;mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent)}
.ticket-island{margin:24px -20px 4px;mix-blend-mode:screen;opacity:.85;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent)}
.ticket-island img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover;filter:grayscale(1) invert(1);mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent)}
.ticket-front .ticket-lantern{position:absolute;right:9px;top:35px;width:30px;margin:0;opacity:.7;pointer-events:none}
@media(max-width:760px){.compact-poster .poster-map{margin:7px -9px 3px}.ticket-island{margin-top:18px;max-height:280px}.ticket-island img{max-height:280px}}

/* V25 · the backstage desk and the audience's changing mood. */
.meeting-dialogue{display:grid;gap:14px;margin:22px 0}.meeting-dialogue p{margin:0;padding:18px;border:1px solid #c6d5dc;border-radius:12px;background:#f9faf4}.meeting-dialogue p:nth-child(2){margin-left:22px;background:#eaf0f1}.meeting-dialogue b{display:block;font:21px 'Gaegu',var(--font-ui);margin-bottom:7px;color:#376588}.meeting-dialogue span{font:16px/1.8 var(--font-ui);color:#405865;word-break:keep-all;overflow-wrap:anywhere}
.direction-desk{padding:24px;border:1px solid #a9c6d9;background:linear-gradient(130deg,#eff5f6,#faf8ee);border-radius:14px;margin:22px 0}.direction-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.direction-head h3{font:30px/1.4 'Gaegu',var(--font-ui);color:#315d7d;margin:5px 0}.direction-head>b{font:700 16px var(--font-ui);color:#387bac;background:#dae9f2;border:1px solid #b7cedd;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;flex:none}.direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.direction-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:16px 13px;border:1px solid #b3c9d7;border-radius:9px;background:#fffdf5;gap:10px;min-width:0;font-family:var(--font-ui);color:#2c526e}.direction-grid button b{font-size:13px;line-height:1.6}.direction-grid small{font-size:11px;line-height:1.7;color:#6e858d}.direction-grid button>span{margin-top:auto;font-size:10px;color:#3579aa}.direction-grid button:disabled{opacity:.45;filter:grayscale(.4);cursor:not-allowed}.existing-directions{border-top:1px solid #c9d8de;padding-top:15px}.existing-directions summary{cursor:pointer;font:600 13px var(--font-ui);color:#466c85}.existing-directions .restbar{margin:15px 0}.existing-directions .secondary{font-size:12px}.existing-directions .secondary small{display:block;line-height:1.8;font-size:10px}
.audience-weather{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;border-top:1px solid #bdd0dc;border-bottom:1px solid #bdd0dc;padding:17px 5px;margin:15px 0 22px}.audience-weather>.eyebrow{grid-column:1/-1;font-size:8px;color:#7b96a8}.audience-weather>span:not(.eyebrow){display:flex;flex-direction:column;gap:6px}.audience-weather i{font:20px 'Gaegu',var(--font-ui);color:#3274a4;font-style:normal}.audience-weather b{font:500 11px/1.7 var(--font-ui);color:#657d8b;word-break:keep-all}.show-wins{display:flex;gap:10px;flex-wrap:wrap;padding:15px;background:#eaf2f2;border-radius:8px;margin:15px 0}.show-wins b{width:100%;font-size:12px;color:#3a6d8c}.show-wins span{font-size:12px;line-height:1.7;color:#587a8e}.debrief-item{border-top:1px solid #c8d5dc;padding:17px 0}.debrief-item h4{font:650 15px/1.6 var(--font-ui);color:#315c7a;margin:0 0 7px}.debrief-item p{font:12px/1.8 var(--font-ui);color:#677d89;margin:0 0 8px}.debrief-item small{font:12px/1.8 var(--font-ui);color:#466f89;display:block}.debrief-item small b{color:#2e729f}
@media(max-width:760px){.direction-desk{padding:18px 14px}.direction-grid{grid-template-columns:1fr}.direction-grid button{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 14px}.direction-grid small{grid-column:1/-1;grid-row:2}.direction-grid button>span{grid-column:2;grid-row:1;margin:auto 0}.audience-weather{gap:10px}.audience-weather b{font-size:10px}.meeting-dialogue p{padding:14px}.meeting-dialogue p:nth-child(2){margin-left:12px}.meeting-dialogue span{font-size:14px}}
/* V26 · tiny blue-paper sticker moments, always click-through. */
.cute-moment{position:fixed;top:88px;right:22px;z-index:70;max-width:min(300px,calc(100vw - 28px));pointer-events:none!important;user-select:none;animation:cute-appear .25s ease-out,cute-leave .25s ease-in 1.6s forwards;filter:drop-shadow(0 5px 12px #20486c1a)}
.cute-moment:has(.cute-results){animation-duration:.25s,.25s;animation-delay:0s,2.35s}.cute-scene{position:relative;overflow:hidden;padding:16px 20px 12px;background:#fbfcf2f5;border:1px solid #b4d1e2;border-radius:13px 5px 13px 5px;text-align:center;margin-bottom:8px;min-width:170px}.cute-scene p{font:21px/1.4 'Gaegu',var(--font-ui);color:#3474a2;margin:7px 0 0;letter-spacing:-.5px}.cute-pet{display:inline-flex;position:relative;width:46px;height:49px;align-items:center;justify-content:center;vertical-align:middle;transform-origin:50% 85%}.cute-pet-face{font-size:33px;line-height:1}.cute-pet-prop{position:absolute;right:-4px;top:-3px;font:20px 'Gaegu',var(--font-ui);font-style:normal;color:#408fcb}.cute-pet-0{animation:cute-dog .65s ease-in-out 2}.cute-pet-1{animation:cute-squirrel .8s ease-in-out 2}.cute-pet-2{animation:cute-raccoon .8s ease-in-out 2}.cute-pet-2 .cute-pet-prop{font-size:25px;right:5px;top:-4px;animation:cute-headphones .6s ease-in-out 2}.cute-pet-3{animation:cute-bear .8s ease-in-out 2}.cute-sticks{position:absolute;width:31px;height:24px;right:-9px;bottom:0;fill:none;stroke:#4c8abb;stroke-width:3;stroke-linecap:round;animation:cute-sticks .5s ease-in-out 3}.cute-pet-ponder{animation:cute-think .7s ease-out forwards}.cute-pet-ponder .cute-pet-prop,.cute-pet-miss .cute-pet-prop{display:none}.cute-scene-ponder p{letter-spacing:5px}.cute-stamp{display:inline-block;border:2px solid #4b91bf;color:#4b91bf;font:700 10px/1.4 var(--font-ui);padding:8px 13px;transform:rotate(-8deg);animation:cute-stamp .4s ease-out}.cute-star-seal{display:inline-grid;place-items:center;width:33px;height:33px;background:#cce3f2;color:#397eae;border-radius:30% 45% 35% 45%;font-size:23px;margin-left:10px;animation:cute-seal .5s ease-out}.cute-highfive{display:flex;justify-content:center;gap:6px;align-items:center}.cute-highfive>.cute-pet:first-child{animation:cute-five-left .8s ease-in-out}.cute-highfive>.cute-pet:last-child{animation:cute-five-right .8s ease-in-out}.cute-five{font-size:20px;animation:cute-star .8s ease-out}.cute-roster{display:flex;justify-content:center;gap:5px}.cute-roster .cute-pet{animation:cute-peek .6s cubic-bezier(.2,.8,.4,1.2) both}.cute-roster .cute-pet:nth-child(2){animation-delay:.1s}.cute-roster .cute-pet:nth-child(3){animation-delay:.2s}.cute-roster .cute-pet:nth-child(4){animation-delay:.3s}.cute-shy{position:absolute;top:3px;left:12px;font:15px 'Gaegu',var(--font-ui);color:#6b9bb9;animation:cute-star 1s ease-out}.cute-results{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.cute-result{display:flex;flex-direction:column;align-items:center;max-width:55px}.cute-result small{font:13px/1.25 'Gaegu',var(--font-ui);color:#4b8ebc;word-break:keep-all;margin-top:3px}.cute-result-success small{animation:cute-star .65s ease-out 2}.cute-result-recover .cute-pet{animation:cute-recover 1.1s ease-in-out}.cute-result-miss .cute-pet{animation:cute-think .7s ease-out forwards}.cute-result-miss small{color:#8797a2}.cute-bottle{display:inline-block;font-size:38px;animation:cute-drink 1s ease-in-out}.cute-drops{display:inline-flex;gap:7px;align-items:center;margin-left:8px}.cute-drops i{font-style:normal;font-size:16px;animation:cute-water 1s ease-out both}.cute-drops i:nth-child(2){animation-delay:.12s}.cute-drops i:nth-child(3){animation-delay:.24s}.cute-choir{height:65px;width:160px;position:relative;margin:auto}.cute-choir i{position:absolute;font:20px 'Gaegu',var(--font-ui);color:#4a91c3;left:calc(7% + var(--n)*16%);top:35px;background:#e7f1f8;border-radius:9px;padding:1px 5px;animation:cute-choir 1.3s ease-in-out both;animation-delay:calc(var(--n)*.05s)}.cute-choir b{position:absolute;left:60px;top:12px;font-size:35px;animation:cute-heart 1.5s ease-out both}.cute-encore-notes{display:flex;gap:7px;align-items:center;justify-content:center;height:55px}.cute-encore-notes i{font:18px 'Gaegu',var(--font-ui);color:#347eb2;border:1px solid #a8cee4;background:#edf6fa;padding:7px 9px;transform:rotate(-9deg);animation:cute-note .6s ease-out both}.cute-encore-notes i:nth-child(2){animation-delay:.15s;transform:rotate(6deg)}.cute-encore-notes i:nth-child(3){animation-delay:.3s}.cute-fold{display:inline-flex;position:relative;gap:8px;align-items:center;padding:14px 22px 10px 12px;border:1px solid #bad0da;background:#f3f4e9;animation:cute-fold .7s ease-out}.cute-fold:after{content:'';position:absolute;right:-1px;top:-1px;border-width:0 20px 20px 0;border-style:solid;border-color:transparent #e2edf2 #b9d2df transparent}.cute-fold i{color:#4b91c3;font-size:26px;font-style:normal}.cute-fold b{font:20px 'Gaegu',var(--font-ui);color:#58809c}.cute-ticket-stamp{display:inline-block;border:2px solid #4b8fbc;border-radius:50%;outline:1px dashed #4b8fbc;outline-offset:3px;padding:10px 13px;font:23px/1.1 'Gaegu',var(--font-ui);color:#3e82b2;transform:rotate(-12deg);animation:cute-stamp .45s ease-out}.cute-react-happy{animation:cute-dog .6s ease-in-out 2!important}.cute-react-ponder{animation:cute-think .7s ease-out!important}.cute-react-water{animation:cute-bar-glow 1.2s ease-out!important}.effects-off .scene-art,.effects-off .cute-moment{display:none!important}.effects-off .mood-sticker,.effects-off .mood-sticker i{animation:none!important}.headlinks{flex-wrap:wrap;justify-content:flex-end}#cute-effects-toggle{color:#4d83a9}
@keyframes cute-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes cute-leave{to{opacity:0;transform:translateY(-5px)}}@keyframes cute-dog{0%,100%{transform:none}35%{transform:translateY(-8px) scaleY(1.06)}65%{transform:translateY(0) scaleY(.96)}}@keyframes cute-squirrel{0%,100%{transform:none}30%{transform:rotate(-9deg)}70%{transform:rotate(9deg)}}@keyframes cute-raccoon{0%,100%{transform:none}50%{transform:translateY(-4px) rotate(3deg)}}@keyframes cute-bear{0%,100%{transform:none}30%,65%{transform:translateY(3px) rotate(-3deg)}}@keyframes cute-headphones{50%{transform:translateY(-7px)}}@keyframes cute-sticks{50%{transform:rotate(-16deg)}}@keyframes cute-think{60%,100%{transform:rotate(-13deg)}}@keyframes cute-stamp{from{opacity:0;scale:1.6}65%{opacity:1;scale:.94}to{opacity:1;scale:1}}@keyframes cute-seal{from{opacity:0;transform:translateY(-10px) rotate(30deg)}to{opacity:1;transform:rotate(-8deg)}}@keyframes cute-five-left{50%{transform:translateX(12px) rotate(10deg)}}@keyframes cute-five-right{50%{transform:translateX(-12px) rotate(-10deg)}}@keyframes cute-star{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.2)}100%{opacity:1;transform:none}}@keyframes cute-peek{from{opacity:0;transform:translateY(45px)}to{opacity:1;transform:none}}@keyframes cute-recover{0%,100%{transform:none}30%{transform:translateX(-7px) rotate(-18deg)}60%{transform:translateX(4px) rotate(9deg)}}@keyframes cute-drink{35%,70%{transform:rotate(-30deg)}}@keyframes cute-water{from{opacity:0;transform:translateY(16px)}50%{opacity:1}to{opacity:0;transform:translateY(-15px)}}@keyframes cute-choir{0%{opacity:0}35%{opacity:1}100%{opacity:0;left:45%;top:15px;transform:scale(.5)}}@keyframes cute-heart{0%,40%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.1)}100%{opacity:1;transform:none}}@keyframes cute-note{from{opacity:0;translate:25px 12px}to{opacity:1;translate:0 0}}@keyframes cute-fold{from{opacity:0;transform:perspective(250px) rotateY(-55deg)}to{opacity:1;transform:none}}@keyframes cute-bar-glow{40%{box-shadow:0 0 9px #6db6e0;background:#acd5ed}}
@media(max-width:760px){.cute-moment{top:78px;right:12px;max-width:calc(100vw - 24px)}.cute-scene{padding:12px 14px 10px;min-width:150px}.cute-scene p{font-size:19px}.cute-results{gap:5px}.cute-pet{width:40px;height:43px}.cute-pet-face{font-size:29px}.cute-result small{font-size:12px}.headlinks{gap:0;max-width:160px}}
@media(prefers-reduced-motion:reduce){.cute-moment{display:none!important}.cute-react,.cute-pet,.cute-pet *,.cute-scene *{animation:none!important;transition:none!important}}

.cute-bottle{width:40px;height:55px;vertical-align:middle}.cute-encore-notes i{white-space:nowrap;font-size:15px;padding:6px 7px}

/* V27 · the new single opens a new chapter. */
.release-edition{display:block;width:fit-content;margin:0 auto 18px;padding:8px 14px;border:1px solid #b4cede;border-radius:30px;color:#477eab;background:#edf5f7;font:600 11px/1.6 var(--font-ui);letter-spacing:.4px}.brand small{letter-spacing:1.2px}.invitation-kicker .eyebrow{letter-spacing:1.6px}@media(max-width:760px){.brand small{font-size:5px;letter-spacing:.5px}.invitation-kicker .eyebrow{font-size:8px;letter-spacing:1px}.release-edition{font-size:10px}}

/* V28 · brush-lettered comeback, a blue-night spark, and a separate note. */
@font-face{font-family:'Again Brush';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/EastSeaDokdo-Title.woff') format('woff')}
.invitation .herotext h1.release-title{font-family:'Again Brush','Gaegu',var(--font-ui);font-size:clamp(100px,10.4vw,146px);font-weight:400;line-height:.82;letter-spacing:-.025em;margin:25px 0 36px;color:#294866;transform:rotate(-3deg);transform-origin:left center}
.invitation .release-title>span{display:inline-block;font-size:1.26em;color:#4c76b6;text-shadow:1px 2px 0 #c9d9ed70;white-space:nowrap}
.invitation .herotext h1.release-title i{width:110px;height:90px;top:30%;right:5%;margin:0;transform:rotate(3deg)}.release-title i svg{display:block;width:100%;height:100%}
.invitation .scrapbook{display:grid;padding:30px 12px 24px;align-self:center}.invitation .scrap-note{position:relative;right:auto;bottom:auto;justify-self:end;margin:12px -5px 0 0;width:250px;transform:rotate(3deg);z-index:2}.invitation .scrap-spark{bottom:100px;left:20px;color:#88a8d2}
.invitation .heromap{background:#f0eadb}.release-sky{position:absolute;inset:0 0 auto;height:165px;overflow:hidden;background:linear-gradient(120deg,#344b6d,#263b5a 75%,#485d7d);mask-image:linear-gradient(#000 55%,transparent);-webkit-mask-image:linear-gradient(#000 55%,transparent);pointer-events:none}.release-sky svg{width:100%;height:100%;display:block}.invitation .maplabel{position:relative;color:#d4ddfa;border-bottom-color:#c2d0ed40}.invitation .maplabel small{color:#c0cde4}.invitation .heromap>img,.invitation .mapquote{position:relative}.paper-tab{background:#cbd5ed;color:#4c668d}.invitation .mapstamp{top:100px}
@media(max-width:1000px) and (min-width:761px){.invitation .herotext h1.release-title{font-size:108px}.invitation .herotext h1.release-title i{width:80px;right:0}.invitation .scrap-note{width:220px}}
@media(max-width:760px){.invitation .herotext h1.release-title{font-size:clamp(102px,26vw,150px);line-height:.82;letter-spacing:-.035em;margin:22px 0 29px}.invitation .herotext h1.release-title i{width:95px;height:75px;right:4%;top:23%}.invitation .scrapbook{padding:29px 18px 20px 12px;gap:0}.invitation .scrap-note{width:min(240px,82%);margin:17px 0 0;transform:rotate(2deg)}.invitation .mapstamp{top:100px}.release-sky{height:145px}}

.release-sky svg{position:absolute;right:-22px;top:12px;width:60%;height:100%;opacity:.65}

/* V29 · a comet wordmark, one paper tone, and a lower-center note. */
@font-face{font-family:'Stellar Title';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/BlackHanSans-Title.woff') format('woff')}
.invitation .herotext h1.release-title{font-family:'Stellar Title',var(--font-ui);font-size:clamp(105px,10vw,140px);line-height:1.08;letter-spacing:-.065em;transform:skew(-8deg) rotate(-4deg);margin:20px 0 35px;isolation:isolate;width:100%}
.invitation .release-title>.release-lead{font-size:.62em;letter-spacing:-.035em;color:#355b80;text-shadow:none;position:relative;z-index:1}
.invitation .release-title>.release-word{font-size:1.2em;position:relative;z-index:1;letter-spacing:-.065em;background:linear-gradient(155deg,#264d7d 7%,#5784bf 42%,#b9cdf2 44%,#7fa2d8 48%,#3765a3 67%,#527fbd 91%);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;-webkit-text-stroke:.45px #527db1;filter:drop-shadow(2px 3px 0 #dbe5f1)}
.invitation .herotext h1.release-title i{width:118%;height:120%;top:-8%;right:-5%;z-index:0;opacity:.8;transform:skew(8deg) rotate(4deg)}
.release-sky{display:none}.invitation .heromap{background:#efe6d1}.invitation .maplabel{color:#527082;border-bottom-color:#aa90684d}.invitation .maplabel small{color:#7f8d8e}.paper-tab{background:#c4d8e2;color:#486b82}.invitation .mapstamp{top:65px}
.invitation .scrapbook{display:block;padding:30px 12px 30px}.invitation .scrap-note{position:absolute;top:auto;left:50%;right:auto;bottom:100px;width:250px;margin:0;padding:20px 20px 14px;transform:translateX(-50%) rotate(3deg);z-index:2;background-color:#fffdf3}.invitation .scrap-note p{font-size:20px}.invitation .scrap-spark{bottom:8px;left:20px}
@media(max-width:1000px) and (min-width:761px){.invitation .herotext h1.release-title{font-size:100px}.invitation .scrap-note{width:225px;bottom:100px}}
@media(max-width:760px){.invitation .herotext h1.release-title{font-size:clamp(100px,25vw,145px);line-height:1.06;margin:19px 0 30px}.invitation .herotext h1.release-title i{width:112%;height:120%;right:-2%;top:-6%}.invitation .scrapbook{padding:29px 18px 25px 12px}.invitation .scrap-note{position:absolute;left:50%;bottom:96px;width:min(225px,76%);margin:0;padding:17px 17px 12px;transform:translateX(-50%) rotate(2deg)}.invitation .scrap-note p{font-size:18px}.invitation .note-sign{font-size:16px}.invitation .note-members{font-size:18px}.invitation .note-tape{left:30%;width:40%;height:22px;top:-10px}.invitation .mapstamp{top:65px}}
@media(max-width:760px){.invitation .herotext{min-width:0;overflow:clip;padding-inline:4px}.invitation .herotext h1.release-title i{width:100%;right:0}.invitation .scrap-note{bottom:112px}}

/* V30: keep the memo low on the map, shifted toward the right edge. */
.invitation .scrap-note{left:63%}
@media(max-width:760px){.invitation .scrap-note{left:60%;width:min(215px,68%)}}

/* V31: shared row keeps the closing caption beside the middle of the memo. */
.invitation .map-bottom{display:flex;align-items:center;gap:16px;position:relative;margin-top:-8px;padding-top:18px}
.invitation .map-bottom .mapquote{flex:1;min-width:0;margin:0;padding:0 0 0 5px;font-size:clamp(17px,1.6vw,23px);line-height:1.55;word-break:keep-all}
.invitation .map-bottom .scrap-note{position:relative;flex:0 0 46%;left:auto;right:-17px;top:auto;bottom:auto;width:auto;margin:0;padding:18px 16px 13px;transform:rotate(3deg)}
.invitation .map-bottom .scrap-note p{font-size:20px;line-height:1.4}.invitation .map-bottom .note-members{font-size:19px;white-space:nowrap}
@media(max-width:1000px) and (min-width:761px){.invitation .map-bottom{gap:10px}.invitation .map-bottom .scrap-note p{font-size:18px}.invitation .map-bottom .note-members{font-size:16px}}
@media(max-width:760px){.invitation .map-bottom{gap:10px;padding-top:13px;margin-top:0}.invitation .map-bottom .mapquote{font-size:17px;padding-left:0;line-height:1.6}.invitation .map-bottom .scrap-note{flex-basis:48%;right:-13px;padding:14px 10px 10px;transform:rotate(2deg)}.invitation .map-bottom .scrap-note p{font-size:16px;letter-spacing:-.5px}.invitation .map-bottom .note-members{font-size:13px;letter-spacing:-1px}.invitation .map-bottom .note-sign{font-size:13px;line-height:1.4}}

@media(min-width:761px){.invitation .map-bottom .mapquote{transform:translateY(-14px)}}
@media(max-width:760px){.invitation .map-bottom .mapquote{transform:translateY(-7px)}}

/* V32: clear hierarchy, compact secondary tools and readable choice effects. */
.poster-folder{margin:20px 0 0;border:1px solid #c8d6df;border-radius:13px;background:#f8f8f1;overflow:hidden}
.poster-folder>summary,.challenge-recap>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:16px 18px;color:#365f7d;font-weight:650}
.poster-folder>summary::-webkit-details-marker,.challenge-recap>summary::-webkit-details-marker{display:none}
.poster-folder>summary::after,.challenge-recap>summary::after{content:'＋';margin-left:auto;font-size:17px;font-weight:400}
.poster-folder[open]>summary::after,.challenge-recap[open]>summary::after{content:'−'}
.poster-folder>summary{flex-wrap:wrap}.poster-folder>summary small{display:block;max-width:100%;font-size:11px;font-weight:450;color:#718794;overflow-wrap:anywhere}
.poster-folder .poster-workshop{margin:0;border:0;border-top:1px dashed #c8d6df;border-radius:0;background:transparent}
.challenge-recap{margin-top:22px;border:1px solid #c8d6df;border-radius:12px;background:#f7f9f7}
.challenge-recap>summary small{font-size:11px;color:#7b8f9a;font-weight:450}.challenge-recap .challengereport{margin:0;border:0;border-top:1px dashed #c8d6df;border-radius:0}
.resultgrid>.reportpaper:only-child{grid-column:1/-1}
.guide-lead{color:#6e8491;font-size:14px;line-height:1.8}.guide-facts{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;padding:18px 0 24px;border-bottom:1px solid #d2dde3}.guide-facts span{font-size:11px;line-height:1.7;color:#7c8a91}.guide-facts b{display:block;font-size:22px;color:#35678c;font-weight:700}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin-top:24px}.guide-grid section{padding:0 0 18px;border-bottom:1px solid #d9e1e4}.guide-grid small{font-size:9px;letter-spacing:1px;color:#7397b1}.guide-grid h3{font:650 17px var(--font-ui);margin:9px 0 12px;color:#315c7a}.guide-grid p{font-size:12px;line-height:1.85;color:#6a777e;margin:8px 0}
.choice{border-color:#d4d6cb;transition:border-color .18s,box-shadow .18s,transform .18s}.choice:not(:disabled):hover{border-color:#7aa7c7;box-shadow:0 7px 20px #345f7d0c;transform:translateY(-2px)}.choice .choicemeta{margin-top:auto;padding-top:17px;border-top:1px solid #d8ded740}.choice .metriclist{gap:6px}.choice .metriclist span{line-height:1.5}.choice .unavailable{font-size:10px;color:#9c7668}.sectionheading>p{max-width:64ch;line-height:1.8}.direction-head b{white-space:nowrap}.ticket-edition{line-height:1.6;overflow-wrap:anywhere}.release-edition{line-height:1.7}
.invitation .maplabel small{line-height:1.6;letter-spacing:1px}.brand small{line-height:1.5}.continue-area:empty{display:none}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr;gap:14px}.guide-facts{gap:7px}.guide-facts b{font-size:19px}.guide-facts span{font-size:10px}.poster-folder>summary{padding:13px 15px}.poster-folder>summary small{font-size:10px}.challenge-recap>summary{padding:15px;font-size:13px}.sectionheading>p{font-size:12px}.release-edition{font-size:11px;letter-spacing:.5px}.ticket-edition{font-size:10px;letter-spacing:.8px}}

/* Mobile poster follows all preparation choices; desktop sidebar is unchanged. */
@media(max-width:760px){.workspace>.poster-folder{width:100%;margin-top:28px}.workspace>.poster-folder>summary{padding:16px}.workspace>.poster-folder .poster-workshop{padding:18px}}
/* V33: a reading-first mobile layout with full-width choices and real touch targets. */
@media(max-width:760px){
 header{flex-wrap:wrap;padding:15px 18px;gap:12px}.brand small{font-size:8px;letter-spacing:1px}.headlinks{width:100%;justify-content:space-between;gap:8px}.headlinks button:first-child{display:inline-flex}.headlinks button{font-size:12px;min-height:36px;padding:6px 8px}
 main{padding-inline:16px}.voyagebar{align-items:flex-start;gap:12px}.voyagebar p{font-size:12px;line-height:1.7}.namebadge{font-size:10px;white-space:normal;max-width:42%;line-height:1.6}
 .journeyside{grid-template-columns:minmax(0,1fr);gap:12px}.journeyside>.mapcard{display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:6px 14px;padding:13px 15px}.mapcard>.smalllabel{grid-column:2;grid-row:1;text-align:left;font-size:9px;line-height:1.7}.mapcard .minimap{grid-column:1;grid-row:1/span 2;width:86px;margin:0}.mapcard .stoplist{grid-column:2;grid-row:2;padding:0;border:0;font-size:12px}.mapcard .mappin{min-width:18px;min-height:18px;font-size:8px}
 .statuscard{padding:18px}.statuscard>.smalllabel{font-size:9px;letter-spacing:1px}.membergrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.membertitle{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center}.membertitle b{font-size:16px;display:flex;flex-direction:row;gap:6px;align-items:center}.membertitle>span{font-size:10px;grid-column:1;grid-row:2;min-height:0}.membertitle strong{font-size:24px;grid-column:2;grid-row:1/span 2;margin:0}.membertitle .animalmark{font-size:20px}.energy{font-size:11px;line-height:1.7;gap:5px}.energy span{font-size:10px;overflow-wrap:anywhere}.energy span:before{content:none}.energy b{font-size:12px}.bar{height:4px}.audience{font-size:12px;margin-top:18px}.audience strong{font-size:19px}.resourcegrid{font-size:11px;gap:12px}.resourcegrid b{font-size:20px}.statuscard>.textbtn{font-size:12px;min-height:44px}
 .choicegrid,.songgrid{grid-template-columns:minmax(0,1fr);gap:14px}.choice{min-height:0;padding:21px 20px}.choice h3{font-size:22px;line-height:1.5;margin:14px 0 12px}.choice .keywordlist{margin-bottom:18px}.choiceindex{font-size:11px}.keywordlist>span,.songtraits .keywordlist>span{font-size:12px;line-height:1.8}.metriclist{font-size:12px;gap:7px}.metriclist>span{padding:4px 8px}.effects{font-size:12px;line-height:1.7;gap:5px 9px}
 .songcard{padding:20px}.songcard h3{font-size:23px;line-height:1.5;min-height:0;margin:12px 0}.songtop{font-size:10px}.songtraits{min-height:0;margin-bottom:16px}.circlebtn{width:40px;height:40px;font-size:16px}.parthead,.partrow{grid-template-columns:66px minmax(0,1fr) 38px;gap:8px}.parthead{font-size:11px}.partrow{font-size:13px;line-height:2.6}.partrow strong,.diffbars b{font-size:13px}.diffbars{gap:3px}.diffbars i{width:9px;height:6px}.selectsong{font-size:14px;min-height:48px;padding:12px 15px}.songcard .fan-call-badge{font-size:10px}.solo-card>.solo-scene{font-size:13px;line-height:1.85}.solo-card>.solo-scene+p{font-size:12px}
 .sectionheading h2{font-size:27px;line-height:1.45;overflow-wrap:anywhere}.sectionheading>p{font-size:13px;line-height:1.8}.eyebrow{font-size:10px;line-height:1.8;letter-spacing:1.1px}.plannerthought p{font-size:14px;line-height:1.85}.fine,.reportpaper>.fine{font-size:12px;line-height:1.8}.feedback,.note{font-size:13px;line-height:1.85}.textbtn.fallback{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .primary,.secondary{font-size:14px;min-height:46px;line-height:1.6}.replylist b{font-size:17px}.replylist small{font-size:12px;line-height:1.7}.replylist>button{padding:20px 34px 20px 18px}.challengeassign select{width:100%;max-width:100%;font-size:16px;min-height:46px;margin-top:8px}.challengeassign small{font-size:12px}.challengelegend{font-size:12px}.selectedchallenge{font-size:12px!important}
 .hintbar button,.memberhints button{min-height:42px}.voyage-progress .textbtn{font-size:12px;min-height:40px}.livecost{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.livecost small{font-size:11px}.livecost b{font-size:18px}.livecost>div>span{font-size:11px}.liveclock{font-size:12px;line-height:1.9}.stagepanel>p{font-size:14px;line-height:1.85}.stagealt button{font-size:13px;min-height:44px}.restbar>span,.restbar small{font-size:12px}.direction-grid button b{font-size:14px}.direction-grid small{font-size:12px}.direction-grid button>span{font-size:11px}.encorechecks span{font-size:11px;line-height:1.7}.pager button,.pager>span{font-size:12px}
 .post p,.socialfeed .post p{font-size:14px;line-height:1.85}.post small{font-size:11px}.reportmetrics span{font-size:11px}.reportmember em{font-size:11px}.reportmember small{font-size:9px}.setpaper>div{font-size:13px;line-height:1.7}.setpaper small{font-size:10px}.readiness span{font-size:11px}.readiness b{font-size:14px}.inspection .issue{font-size:13px}.correction button{font-size:13px;min-height:46px}
 dialog{padding:28px 20px;max-width:calc(100vw - 24px)}dialog p,dialog li{font-size:14px;line-height:1.85}dialog input,dialog select{font-size:16px}dialog th{font-size:11px}dialog td{font-size:13px}.guide-grid p{font-size:13px}.guide-grid h3{font-size:18px}.guide-facts span{font-size:11px}
 .invitation .herotext h2{font-size:16px;line-height:1.7}.invitation .invitation-copy{font-size:14px;line-height:1.9}.invitation .entry{flex-wrap:wrap}.invitation .entry input{width:100%;flex:1 1 100%;font-size:16px;min-height:46px}.invitation .entry .primary{width:100%;justify-content:center;font-size:14px;min-height:46px}.herometa{font-size:10px}.introstrip p{font-size:13px}.ticket-top{font-size:9px}
 .workspace>.poster-folder{margin-top:30px}.poster-folder>summary small{font-size:12px}.poster-folder>summary{font-size:14px}.challenge-recap>summary{font-size:14px}.challenge-recap>summary small{font-size:12px}
}
@media(max-width:760px){.headlinks{max-width:none;flex-wrap:nowrap;justify-content:space-between}.headlinks button:first-child,.headlinks button.play-history-button,.headlinks button.play-reset-button,#cute-effects-toggle{font-size:12px;min-height:40px;padding:6px}.statuscard .membertitle b{font-family:var(--font-ui);font-size:15px;font-weight:650}}
@media(max-width:760px){.hintcontrols{gap:7px;flex-wrap:wrap}.hintcontrols button{min-height:44px;min-width:48px;font-size:13px}.hintcontrols button span{font-size:11px}}
