:root{--pink:#ce6089;--bright:#dc7b9f;--deep:#674455;--muted:#927e87;--line:#efdee5;--bg:#fff9fb;--soft:#fbeaf1;--mint:#e6f4ef;--serif:"Hiragino Mincho ProN","Yu Mincho",serif;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--deep);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:calc(14px * var(--text-scale,1));line-height:1.8}button,a,input,select{touch-action:manipulation}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa76b4;outline-offset:3px}button{border:0;background:none}a{color:var(--pink)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5}small{font-size:calc(11px * var(--text-scale,1))}.topbar{height:88px;max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:0 30px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-align:left;padding:0}.brand-heart{height:39px;width:39px;display:grid;place-items:center;background:#f3d8e3;border-radius:13px;color:#be6188;font-size:calc(28px * var(--text-scale,1))}.brand strong{font-size:calc(23px * var(--text-scale,1));letter-spacing:.06em}.brand small{display:block;color:var(--muted);font-size:calc(9px * var(--text-scale,1));line-height:1.3;letter-spacing:.15em}.topnav{display:flex;gap:25px;align-items:center;color:var(--muted);font-size:calc(12px * var(--text-scale,1))}.topnav button:hover{color:var(--pink)}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:30px;padding:4px 13px;background:#fff;font-size:calc(11px * var(--text-scale,1))}.dot{width:5px;height:5px;background:#bca3c6;border-radius:50%}.page{max-width:1120px;margin:auto;padding:35px 30px 65px}.eyebrow{font-size:calc(10px * var(--text-scale,1));letter-spacing:.23em;color:var(--pink);font-weight:600}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;min-height:570px}.hero-copy{padding-bottom:14px}.hero-copy .pill{background:#fceef4;color:#a35d7b;border:none;margin-bottom:25px;font-size:calc(11px * var(--text-scale,1));letter-spacing:.06em}.hero h1{font-family:var(--serif);font-size:calc(39px * var(--text-scale,1));font-weight:600;line-height:1.8;letter-spacing:.03em;color:#674a59;white-space:nowrap}.hero h1 span{color:#c76a91}.hero-copy>p{margin:22px 0 25px;color:#8a7781;font-size:calc(13px * var(--text-scale,1));line-height:2.15}.btn{min-height:47px;border-radius:12px;padding:11px 22px;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-weight:600;letter-spacing:.03em;font-size:calc(13px * var(--text-scale,1));transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--pink);color:white;box-shadow:0 6px 15px #ce60891a}.secondary{border:1px solid var(--line);background:#fff}.ghost{color:var(--muted);font-weight:400}.start-btn{min-width:285px;justify-content:space-between}.subnote{display:block;font-size:calc(10px * var(--text-scale,1));color:var(--muted);margin-top:12px}.hero-art{position:relative;min-height:450px;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;width:390px;height:390px;border:1px solid #eedae5;border-radius:50%;background:radial-gradient(circle,#f5d7e366,transparent 70%)}.orbit:before,.orbit:after{content:"";position:absolute;border:1px dashed #efdee6;border-radius:50%;inset:24px;transform:rotate(22deg)}.orbit:after{inset:-24px;border-style:solid;opacity:.5}.spark{position:absolute;color:#bd93b5;font-size:calc(26px * var(--text-scale,1))}.spark.s1{top:31px;right:54px}.spark.s2{bottom:26px;left:38px;font-size:calc(18px * var(--text-scale,1))}.spark.s3{top:120px;left:3px;font-size:calc(16px * var(--text-scale,1))}.ticket{position:relative;width:290px;background:linear-gradient(145deg,#fff,#fff9fc);border:1px solid #eadbe3;border-radius:15px;box-shadow:0 24px 65px #945b7b18;transform:rotate(-6deg);text-align:center;padding:26px 23px 17px;z-index:1}.ticket:before{content:"";position:absolute;inset:8px;border:1px solid #f1e7ec;border-radius:9px;pointer-events:none}.ticket-kicker{font-size:calc(9px * var(--text-scale,1));letter-spacing:.28em;color:#ac8a9b}.heart-seal{font-size:calc(50px * var(--text-scale,1));line-height:1.5;color:#ce7d9d;display:block;margin:15px auto 0;text-shadow:2px 3px 0 #f4d9e4}.ticket h2{font-family:var(--serif);font-size:calc(24px * var(--text-scale,1));letter-spacing:.1em;margin:5px 0 8px}.ticket p{font-size:calc(10px * var(--text-scale,1));color:var(--muted);line-height:1.9}.ticket-bottom{margin-top:22px;padding-top:13px;border-top:1px dashed #e7d2de;display:flex;justify-content:space-between;text-align:left;font-size:calc(8px * var(--text-scale,1));letter-spacing:.13em;color:#ac8a9b}.ticket-bottom strong{font-size:calc(11px * var(--text-scale,1));display:block;color:var(--deep)}.floating-note{position:absolute;background:white;border:1px solid #eddee5;border-radius:11px;padding:12px 18px;box-shadow:0 10px 25px #a7758c10;font-size:calc(11px * var(--text-scale,1));z-index:2}.floating-note.top{top:48px;left:1px;transform:rotate(-9deg)}.floating-note.bottom{bottom:48px;right:-10px;transform:rotate(6deg)}.floating-note span{color:var(--pink);margin-right:7px}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;gap:30px}.feature{display:flex;gap:14px;align-items:flex-start}.feature-icon{width:37px;height:37px;display:grid;place-items:center;background:#f6e8ef;border-radius:12px;font-size:calc(19px * var(--text-scale,1));flex-shrink:0}.feature:nth-child(2) .feature-icon{background:#eee9f5;color:#a393b3}.feature:nth-child(3) .feature-icon{background:#e9f1ec;color:#82a493}.feature h3{font-size:calc(12px * var(--text-scale,1));margin-bottom:4px}.feature p{font-size:calc(11px * var(--text-scale,1));color:var(--muted)}.footer{margin-top:28px;text-align:center;color:#a5909d;font-size:calc(10px * var(--text-scale,1));line-height:2}.footer .tiny-logo{letter-spacing:.15em;font-size:calc(9px * var(--text-scale,1));color:#bda5b2;margin-top:10px}.backlink{font-size:calc(12px * var(--text-scale,1));color:var(--muted);padding:0;margin-bottom:20px}.intro-header{text-align:center;margin:6px 0 28px}.intro-header h1{font-family:var(--serif);font-size:calc(27px * var(--text-scale,1));margin:10px 0}.intro-header p{color:var(--muted);font-size:calc(12px * var(--text-scale,1))}.profile-layout{max-width:880px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:23px}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px}.profile-card{background:linear-gradient(135deg,#fff,#fff5f9);position:relative;overflow:hidden}.profile-card:after{content:'♡';position:absolute;right:-5px;top:-28px;font-size:calc(120px * var(--text-scale,1));color:#f7e4ed;pointer-events:none}.profile-top{position:relative;z-index:1}.name{font-family:var(--serif);font-size:calc(27px * var(--text-scale,1));margin:12px 0 2px;letter-spacing:.08em}.profile-tag{font-size:calc(11px * var(--text-scale,1));color:var(--muted);margin-bottom:17px}.color-tag{display:inline-flex;align-items:center;gap:6px;font-size:calc(11px * var(--text-scale,1))}.color-tag i{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--c)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.detail-grid dt{font-size:calc(10px * var(--text-scale,1));color:var(--muted)}.detail-grid dd{font-size:calc(12px * var(--text-scale,1));margin:2px 0 0;overflow-wrap:anywhere}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin-top:18px}.skill-top{display:flex;justify-content:space-between;font-size:calc(10px * var(--text-scale,1));margin-bottom:5px}.skill-top b{font-weight:600;color:#ae7392}.bar{height:4px;border-radius:10px;background:#f4eaf0;overflow:hidden}.bar i{height:100%;background:#d99ab6;display:block;border-radius:10px}.skill:nth-child(2n) .bar i{background:#b5a0cb}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-head h2{font-size:calc(14px * var(--text-scale,1))}.steps{display:flex;justify-content:center;gap:24px;color:#ad93a2;font-size:calc(10px * var(--text-scale,1));margin-top:24px}.steps .on{color:var(--pink);font-weight:600}.story-list{list-style:none;margin:14px 0 0;padding:0 0 0 5px}.story-list li{position:relative;border-left:1px solid var(--line);padding:0 0 23px 22px;font-size:calc(12px * var(--text-scale,1));color:#826c78;line-height:2}.story-list li:before{content:'';position:absolute;left:-4px;top:8px;width:7px;height:7px;border-radius:50%;background:#d89ab5;box-shadow:0 0 0 5px #fff}.story-list li:last-child{border:0;padding-bottom:0}.intro-action{text-align:center;margin-top:26px}.intro-action .btn{min-width:290px}.app-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.app-head h1{font-family:var(--serif);font-size:calc(22px * var(--text-scale,1));margin:4px 0}.save-state{font-size:calc(10px * var(--text-scale,1));color:#a28f9c}.app-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:23px;align-items:start}.sidebar{position:sticky;top:20px}.sidebar .card{padding:20px;margin-bottom:15px}.sidebar .name{font-size:calc(23px * var(--text-scale,1));margin-top:6px}.sidebar .profile-tag{margin:0 0 13px}.sidebar .detail-grid{margin-top:12px;gap:9px}.sidebar .detail-grid dd{font-size:calc(11px * var(--text-scale,1))}.status-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.status-metrics span{font-size:calc(10px * var(--text-scale,1));color:var(--muted);display:block}.status-metrics strong{font-size:calc(19px * var(--text-scale,1));line-height:1.6;font-weight:500;font-variant-numeric:tabular-nums}.status-metrics small{font-size:calc(10px * var(--text-scale,1))}.wellbeing{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.wellbeing>div{background:#faf6f9;border-radius:8px;text-align:center;padding:6px 0;font-size:calc(9px * var(--text-scale,1));color:var(--muted)}.wellbeing b{display:block;font-size:calc(12px * var(--text-scale,1));font-weight:500;color:var(--deep)}.playing-top{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:17px}.date-block{display:flex;gap:15px;align-items:center}.age-large{font-family:var(--serif);font-size:calc(30px * var(--text-scale,1));line-height:1.2}.age-large small{font-size:calc(12px * var(--text-scale,1));margin-left:4px}.date-block p{font-size:calc(12px * var(--text-scale,1))}.date-block .muted{font-size:calc(10px * var(--text-scale,1))}.play-button{border:1px solid var(--line);background:#fff8fb;border-radius:10px;padding:9px 13px;font-size:calc(11px * var(--text-scale,1));min-height:42px;min-width:94px}.play-dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#a5b7a9;margin-right:6px;box-shadow:0 0 0 3px #eaf1eb}.paused .play-dot{background:#b8a8b5;box-shadow:none}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:21px}.tabs button{padding:9px 15px 12px;font-size:calc(12px * var(--text-scale,1));position:relative;white-space:nowrap}.tabs button.active{color:var(--pink);font-weight:600}.tabs button.active:after{content:'';position:absolute;bottom:-1px;left:8px;right:8px;height:2px;background:var(--pink)}.timeline-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:calc(12px * var(--text-scale,1))}.timeline-title small{color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.timeline{padding-left:17px;position:relative}.timeline:before{content:'';position:absolute;left:3px;top:20px;bottom:35px;width:1px;background:#eadce5}.event{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:12px;animation:appear .4s ease both}.event:before{content:'';position:absolute;left:-19px;top:26px;width:7px;height:7px;background:#d8b4c7;border-radius:50%;box-shadow:0 0 0 4px var(--bg)}.event:nth-child(2){animation-delay:.05s}.event:nth-child(3){animation-delay:.1s}.event .event-label{font-size:calc(9px * var(--text-scale,1));letter-spacing:.1em;color:#af839b;margin-bottom:6px}.event h3{font-size:calc(13px * var(--text-scale,1));margin-bottom:6px;font-weight:600}.event p{font-size:calc(12px * var(--text-scale,1));line-height:1.9;color:#8b7582}.event.special,.event.ending{background:linear-gradient(120deg,#fbe8f1,#fff8fc);border-color:#e9bfd3}.event.special .event-label,.event.ending .event-label{color:#be6e96}.event.special:after{content:'✦';position:absolute;right:17px;top:12px;color:#dbacc4;font-size:calc(20px * var(--text-scale,1))}.event.bond{background:#fcfaff}.event.fan{background:#fcfdfc}.event.audition{background:#f8f6fc}.event.farewell{background:#fcf8f4}.play-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:var(--muted);font-size:calc(10px * var(--text-scale,1))}.play-foot button{font-size:calc(10px * var(--text-scale,1));text-decoration:underline;text-underline-offset:3px}.month-progress{height:3px;border-radius:5px;background:#f1e6ec;margin:8px 0;overflow:hidden}.month-progress i{display:block;width:0;height:100%;background:#d5a2bd}.muted{color:var(--muted)}.mini-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px}.member-row{display:flex;gap:12px;align-items:center}.member-mark{height:37px;width:37px;background:color-mix(in srgb,var(--c) 15%,white);border:1px solid color-mix(in srgb,var(--c) 40%,white);color:var(--c);border-radius:12px;display:grid;place-items:center;font-family:var(--serif);flex-shrink:0}.member-main{flex:1;min-width:0}.member-main h3{font-size:calc(13px * var(--text-scale,1))}.member-main small{font-size:calc(10px * var(--text-scale,1));color:var(--muted)}.member-right{text-align:right;font-size:calc(12px * var(--text-scale,1))}.member-right small{font-size:calc(9px * var(--text-scale,1));display:block}.member-desc{font-size:calc(11px * var(--text-scale,1));color:var(--muted);margin:9px 0 0;padding-top:9px;border-top:1px solid #f4eaf0}.member-badge{font-size:calc(9px * var(--text-scale,1));border-radius:4px;background:#f8e9f0;padding:2px 5px;color:#b57192;margin-left:5px;white-space:nowrap}.mini-card details{font-size:calc(11px * var(--text-scale,1));margin-top:8px}.mini-card summary{cursor:pointer;color:#b0869e}.mini-card details p{margin-top:8px}.archive-members{margin-top:25px}.history-filter{display:flex;gap:10px;margin-bottom:18px}.history-filter select{border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:white;color:var(--deep);min-width:120px}.history-month{font-size:calc(11px * var(--text-scale,1));color:var(--muted);padding:8px 3px}.history-events .event{margin-left:0}.history-events .event:before{display:none}.group-heading{font-family:var(--serif);font-size:calc(22px * var(--text-scale,1));margin-bottom:12px}.wide-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.metric{background:#faf4f8;border-radius:9px;padding:12px;text-align:center}.metric b{font-size:calc(19px * var(--text-scale,1));display:block;font-weight:500}.metric span{font-size:calc(10px * var(--text-scale,1));color:var(--muted)}.group-trend{height:70px;width:100%;margin:10px 0;overflow:visible}.empty{text-align:center;padding:35px 10px;font-size:calc(12px * var(--text-scale,1));color:var(--muted)}.history-line{padding:12px 0;border-bottom:1px solid #f2e7ed;font-size:calc(11px * var(--text-scale,1))}.history-line time{display:block;font-size:calc(10px * var(--text-scale,1));color:#b192a5}.end-wrap{max-width:760px;margin:auto}.end-heading{text-align:center;margin:15px 0 26px}.end-heading .seal{font-size:calc(35px * var(--text-scale,1));color:#cf8ba9}.end-heading h1{font-family:var(--serif);font-size:calc(28px * var(--text-scale,1));margin:9px 0}.end-heading p{font-size:calc(12px * var(--text-scale,1));color:var(--muted)}.result-card{background:linear-gradient(135deg,#fff,#fff1f8);border:1px solid #e8ccd9;border-radius:20px;padding:32px;text-align:center;position:relative}.result-card:before{content:'';position:absolute;inset:9px;border:1px solid #f1dfe8;border-radius:14px;pointer-events:none}.result-kicker{font-size:calc(10px * var(--text-scale,1));color:#b7849f;letter-spacing:.2em}.result-card h2{font-size:calc(23px * var(--text-scale,1));font-family:var(--serif);margin:18px 0 4px}.result-card .end-title{color:#c4749a;font-family:var(--serif);font-size:calc(25px * var(--text-scale,1));margin:16px 0}.result-card p{font-size:calc(12px * var(--text-scale,1));color:#957a89}.result-ribbon{display:inline-block;background:#f8e1ed;color:#b56b90;padding:3px 15px;font-size:calc(10px * var(--text-scale,1));border-radius:30px;margin:13px 0 4px}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:23px;border-top:1px dashed #e6ccda;padding-top:20px;gap:12px}.result-metrics b{font-size:calc(21px * var(--text-scale,1));font-weight:500;display:block;color:#805a70}.result-metrics span{font-size:calc(10px * var(--text-scale,1));color:#ab869d}.result-narrative{font-family:var(--serif);font-size:calc(14px * var(--text-scale,1));line-height:2.3;padding:25px 12px;color:#89707e}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0 25px}.result-actions .btn{font-size:calc(11px * var(--text-scale,1))}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.result-details>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f1e4eb;padding:11px 0;font-size:calc(11px * var(--text-scale,1))}.result-details span{color:var(--muted)}.result-details b{font-weight:500;text-align:right}.section-gap{margin-top:25px}.replay-box{text-align:center;padding:30px 0 5px}.replay-box p{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-bottom:12px}dialog{border:1px solid var(--line);border-radius:19px;max-width:510px;width:calc(100% - 32px);color:var(--deep);padding:25px;background:#fffafd;max-height:85dvh;overflow:auto}dialog::backdrop{background:#49323e55;backdrop-filter:blur(3px)}dialog .close{position:absolute;right:15px;top:10px;font-size:calc(22px * var(--text-scale,1));padding:5px 10px}dialog h2{font-family:var(--serif);font-size:calc(22px * var(--text-scale,1));margin:8px 0 16px}dialog p,dialog li{font-size:calc(12px * var(--text-scale,1));color:var(--muted);line-height:2}dialog table{width:100%;font-size:calc(11px * var(--text-scale,1));border-collapse:collapse;margin:15px 0}dialog td,dialog th{text-align:left;padding:7px;border-bottom:1px solid var(--line)}dialog img{max-width:100%;border-radius:12px;margin-top:12px}.loading{min-height:60vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.loading strong{font-size:calc(40px * var(--text-scale,1));color:var(--pink);animation:pulse 1.3s infinite}.loading p{font-size:calc(13px * var(--text-scale,1));margin-top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);padding:10px 18px;background:#75566c;color:white;border-radius:12px;box-shadow:0 6px 30px #76546c22;z-index:10;font-size:calc(12px * var(--text-scale,1));opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.save-warning{padding:9px 13px;background:#fff0df;border-radius:8px;font-size:calc(11px * var(--text-scale,1));margin-bottom:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.35}}@media(min-width:1400px){.hero{min-height:620px}.page{padding-top:45px}}@media(max-width:900px){.hero{gap:20px}.hero h1{font-size:calc(32px * var(--text-scale,1))}.hero-art{transform:scale(.9)}.app-grid{grid-template-columns:250px minmax(0,1fr)}.tabs button{padding:9px 11px 12px}}@media(max-width:700px){body{font-size:calc(13px * var(--text-scale,1))}.topbar{height:72px;padding:0 21px}.brand strong{font-size:calc(21px * var(--text-scale,1))}.brand-heart{width:32px;height:32px;font-size:calc(24px * var(--text-scale,1));border-radius:10px}.brand small{font-size:calc(8px * var(--text-scale,1))}.topnav{gap:10px;font-size:calc(10px * var(--text-scale,1))}.topnav .desktop{display:none}.page{padding:23px 20px 40px}.hero{display:flex;flex-direction:column;gap:0;min-height:auto}.hero-copy{text-align:center;padding:14px 0 0}.hero-copy .pill{font-size:calc(9px * var(--text-scale,1));margin-bottom:18px}.hero h1{font-size:calc(29px * var(--text-scale,1));line-height:1.75}.hero-copy>p{font-size:calc(12px * var(--text-scale,1));margin:18px 0 21px;line-height:2}.start-btn{min-width:280px;min-height:49px}.subnote{font-size:calc(9px * var(--text-scale,1));margin-top:10px}.hero-art{height:335px;min-height:335px;width:100%;margin:8px 0 9px;transform:scale(.83);transform-origin:center}.orbit{width:310px;height:310px}.ticket{width:256px;padding:18px 20px 15px}.ticket h2{font-size:calc(23px * var(--text-scale,1))}.heart-seal{margin-top:8px;font-size:calc(42px * var(--text-scale,1))}.ticket-bottom{margin-top:15px}.floating-note{font-size:calc(10px * var(--text-scale,1));padding:10px 13px}.floating-note.top{top:29px;left:-7px}.floating-note.bottom{bottom:15px;right:-8px}.spark.s1{top:0;right:28px}.spark.s2{left:7px;bottom:13px}.spark.s3{left:0;top:100px}.features{gap:18px;padding:23px 0;grid-template-columns:1fr}.feature{gap:15px;align-items:center}.feature-icon{height:33px;width:33px;font-size:calc(17px * var(--text-scale,1))}.feature h3{font-size:calc(11px * var(--text-scale,1));margin:0}.feature p{font-size:calc(10px * var(--text-scale,1))}.footer{font-size:calc(9px * var(--text-scale,1));margin-top:21px}.profile-layout{grid-template-columns:1fr;gap:15px}.intro-header{margin-top:0}.intro-header h1{font-size:calc(23px * var(--text-scale,1))}.intro-header p{font-size:calc(11px * var(--text-scale,1))}.card{padding:20px}.steps{gap:17px;font-size:calc(9px * var(--text-scale,1))}.intro-action{margin-top:20px}.intro-action .btn{width:100%;min-width:0}.app-head{margin-bottom:13px;gap:10px}.app-head h1{font-size:calc(19px * var(--text-scale,1))}.app-head .eyebrow{font-size:calc(9px * var(--text-scale,1))}.save-state{font-size:calc(8px * var(--text-scale,1))}.app-grid{display:block}.sidebar{position:static}.sidebar .profile-card{padding:14px 16px;margin-bottom:12px;border-radius:13px}.sidebar .profile-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar .eyebrow{display:none}.sidebar .name{font-size:calc(19px * var(--text-scale,1));margin:0;white-space:nowrap}.sidebar .profile-tag{font-size:calc(10px * var(--text-scale,1));margin:0;max-width:45%;text-align:right}.sidebar .color-tag{font-size:calc(9px * var(--text-scale,1))}.sidebar .status-metrics{grid-template-columns:1fr 1fr 1fr;margin-top:10px;padding-top:10px;gap:6px}.status-metrics span{font-size:calc(9px * var(--text-scale,1))}.status-metrics strong{font-size:calc(18px * var(--text-scale,1))}.sidebar .detail-grid{display:none}.sidebar .desktop-stats{display:none}.sidebar .skill-grid{grid-template-columns:repeat(3,1fr);gap:9px 14px;margin-top:12px}.sidebar .skill-top{font-size:calc(8px * var(--text-scale,1));margin-bottom:3px}.sidebar .bar{height:3px}.mobile-skill-title{display:none}.sidebar .wellbeing{display:none}.playing-top{padding:12px 14px;margin-bottom:12px;border-radius:12px;position:sticky;top:0;z-index:4;background:#fffcfef2;backdrop-filter:blur(12px)}.age-large{font-size:calc(27px * var(--text-scale,1))}.age-large small{font-size:calc(11px * var(--text-scale,1))}.date-block{gap:12px}.date-block p{font-size:calc(11px * var(--text-scale,1))}.date-block .muted{font-size:calc(9px * var(--text-scale,1))}.play-button{padding:8px 11px;min-width:84px;font-size:calc(10px * var(--text-scale,1));min-height:40px}.tabs{gap:0;justify-content:space-between;margin-bottom:17px}.tabs button{font-size:calc(11px * var(--text-scale,1));padding:9px 11px 11px}.timeline-title{font-size:calc(11px * var(--text-scale,1));margin-bottom:11px}.timeline-title small{font-size:calc(9px * var(--text-scale,1))}.timeline{padding-left:13px}.timeline:before{left:1px}.event{padding:14px 15px;border-radius:12px;margin-bottom:10px}.event:before{left:-16px;width:6px;height:6px}.event h3{font-size:calc(12px * var(--text-scale,1));margin-bottom:5px}.event p{font-size:calc(11px * var(--text-scale,1));line-height:1.9}.event .event-label{font-size:calc(8px * var(--text-scale,1));margin-bottom:4px}.play-foot{font-size:calc(9px * var(--text-scale,1))}.play-foot button{font-size:calc(9px * var(--text-scale,1))}.month-progress{margin-top:10px}.wide-metrics{gap:7px}.metric{padding:10px 5px}.metric b{font-size:calc(17px * var(--text-scale,1))}.metric span{font-size:calc(9px * var(--text-scale,1))}.group-heading{font-size:calc(21px * var(--text-scale,1))}.end-heading{margin-top:4px}.end-heading h1{font-size:calc(23px * var(--text-scale,1))}.result-card{padding:26px 20px}.result-card .end-title{font-size:calc(22px * var(--text-scale,1))}.result-metrics b{font-size:calc(19px * var(--text-scale,1))}.result-metrics span{font-size:calc(9px * var(--text-scale,1))}.result-metrics{gap:7px}.result-narrative{font-size:calc(13px * var(--text-scale,1));padding:20px 4px}.result-details{grid-template-columns:1fr}.result-actions{gap:7px}.result-actions .btn{padding:10px 13px;font-size:calc(10px * var(--text-scale,1))}.result-actions .primary{width:100%}.replay-box .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:350px){.hero h1{font-size:calc(25px * var(--text-scale,1))}.brand strong{font-size:calc(18px * var(--text-scale,1))}.brand small{font-size:calc(7px * var(--text-scale,1))}.topbar{padding:0 15px}.page{padding-left:14px;padding-right:14px}.hero-art{transform:scale(.75)}.start-btn{min-width:250px}}
@media(max-width:700px){.brand small{font-size:calc(6.5px * var(--text-scale,1));letter-spacing:.02em;white-space:nowrap}.brand{gap:8px;flex-shrink:0}.brand strong{font-size:calc(20px * var(--text-scale,1))}.topnav{gap:3px;white-space:nowrap}.topnav button{font-size:calc(10px * var(--text-scale,1));padding:4px 5px;min-height:44px}.topbar{padding-left:18px;padding-right:18px}}
.choice-card{border:1px solid #dfb0c7;border-radius:16px;background:linear-gradient(125deg,#fff3f8,#fffdfd);padding:22px;margin-bottom:24px;box-shadow:0 7px 26px #b47b9710}.choice-card.rare{border-color:#cfbb8f;background:linear-gradient(125deg,#fff9e9,#fff5fa)}.choice-kicker{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:calc(9px * var(--text-scale,1));letter-spacing:.14em;color:#b37796;margin-bottom:13px}.choice-kicker .pill{font-size:calc(9px * var(--text-scale,1));letter-spacing:0;background:#fff9fc;padding:3px 9px}.choice-card h2{font-family:var(--serif);font-size:calc(21px * var(--text-scale,1));margin-bottom:12px}.choice-card>p{font-size:calc(12px * var(--text-scale,1));color:#816575;line-height:2}.choice-person{border-left:2px solid #d7adc4;padding-left:9px;margin:12px 0;font-size:calc(10px * var(--text-scale,1));color:#9b7d8e}.choice-options{display:grid;gap:10px;margin:18px 0 13px}.choice-option{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #e9d4e0;border-radius:12px;background:#fff;padding:13px 14px;min-height:65px;width:100%;transition:background .15s,transform .15s}.choice-option:hover{background:#fcebf3;transform:translateY(-1px)}.choice-option strong{font-size:calc(12px * var(--text-scale,1));line-height:1.65;font-weight:600;display:block}.choice-option small{display:block;font-size:calc(9px * var(--text-scale,1));color:#ad8da0;margin-top:3px}.choice-letter{height:27px;width:27px;display:grid;place-items:center;border-radius:50%;background:#f8eaf2;color:#b87799;font-size:calc(11px * var(--text-scale,1));flex-shrink:0}.choice-arrow{margin-left:auto;color:#bc8fa9;font-size:calc(13px * var(--text-scale,1))}.choice-note{font-size:calc(9px * var(--text-scale,1));color:#a68a9b;display:block;text-align:center}.choice-record{background:#fffafd}.choice-chosen{font-size:calc(11px * var(--text-scale,1));font-weight:600;background:#f6e6ef;border-radius:7px;padding:8px 10px;margin:11px 0 8px;color:#aa658b}.choice-outcome{color:#70586a!important}.effect-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.effect-chip{display:inline-block;border:1px solid #e5d9e4;border-radius:20px;padding:1px 8px;font-size:calc(9px * var(--text-scale,1));color:#93748c;background:#fff}.effect-chip.down{background:#f7f4f8;color:#8b7b90}.choice-record details{margin-top:12px;padding-top:10px;border-top:1px solid #eee2eb;font-size:calc(11px * var(--text-scale,1))}.choice-record summary{cursor:pointer;font-size:calc(10px * var(--text-scale,1));color:#ad7d98}.choice-log-options{padding-left:22px;color:#a38d9b;font-size:calc(10px * var(--text-scale,1))}.choice-log-options .chosen{color:#a85e88;font-weight:600}.choice-scheduled{font-size:calc(10px * var(--text-scale,1))!important;margin-top:8px}.choice-influence{padding:12px;background:#faf5f8;border-radius:8px;margin-top:12px}.choice-influence time{font-size:calc(9px * var(--text-scale,1));color:#ae8b9e}.choice-influence h4{font-size:calc(11px * var(--text-scale,1));margin:5px 0}.choice-influence p{font-size:calc(11px * var(--text-scale,1))}.choice-record:before{background:#ce8aaf}@media(max-width:700px){.choice-card{padding:17px 15px;margin-bottom:18px}.choice-card h2{font-size:calc(19px * var(--text-scale,1))}.choice-card>p{font-size:calc(12px * var(--text-scale,1))}.choice-option{padding:12px 10px;gap:9px}.choice-option strong{font-size:calc(12px * var(--text-scale,1))}.choice-option small{font-size:calc(9px * var(--text-scale,1))}.choice-kicker{letter-spacing:.07em}.choice-record p{font-size:calc(11px * var(--text-scale,1))}.choice-note{font-size:calc(9px * var(--text-scale,1));line-height:1.8}}
.choice-card{scroll-margin-top:85px}.choice-influence h4{font-weight:600}.choice-record .muted{font-size:calc(10px * var(--text-scale,1))}.choice-log-options li{padding:3px 0}
/* Fictional network reactions, collapsed until the reader opens them. */
.network-thread{margin:14px 0;border:1px solid #eedde6;border-radius:18px;background:#fffafd;overflow:hidden;box-shadow:0 8px 20px #ad709312}.network-thread>summary{cursor:pointer;list-style:none;padding:16px;color:#a35c82;font-weight:700;font-size:calc(14px * var(--text-scale,1));display:flex;gap:8px;justify-content:space-between;align-items:center}.network-thread>summary::-webkit-details-marker,.network-more>summary::-webkit-details-marker{display:none}.network-thread>summary span{font-size:calc(11px * var(--text-scale,1));color:#977f8c;font-weight:400;text-align:right;max-width:60%}.network-inner{padding:0 13px 15px}.network-topic{font-size:calc(12px * var(--text-scale,1));color:#8e667d;margin:2px 4px 12px}.network-post{background:white;border:1px solid #f1e2ea;border-radius:12px;padding:11px 12px;margin:7px 0;overflow-wrap:anywhere}.network-post.board{background:#f9f7fb;border-color:#e8e3ee}.network-by{display:flex;align-items:center;gap:7px;font-size:calc(10px * var(--text-scale,1));color:#a67991;flex-wrap:wrap}.network-by b{color:#765469;font-size:calc(12px * var(--text-scale,1))}.network-by time{margin-left:auto;color:#a395a0}.network-post p{font-size:calc(12px * var(--text-scale,1));line-height:1.75;color:#604d5c;margin:6px 0 0;white-space:pre-wrap}.network-more>summary{cursor:pointer;font-size:calc(12px * var(--text-scale,1));color:#a35c82;padding:10px 4px;list-style:none}.network-more .network-post{margin-left:3px}@media(max-width:380px){.network-thread>summary{font-size:calc(13px * var(--text-scale,1));padding:13px}.network-post{padding:10px}.network-post p{font-size:calc(12px * var(--text-scale,1))}}
/* Career records remain usable on narrow phone screens. */
.career-details{margin:20px 0;color:#624851}.career-details h3{font-size:calc(16px * var(--text-scale,1));margin:12px 0}.career-details p{font-size:calc(14px * var(--text-scale,1));line-height:1.8;overflow-wrap:anywhere}.career-details details{min-width:0;max-width:100%;margin:8px 0}.career-details summary{cursor:pointer;font-size:calc(14px * var(--text-scale,1));line-height:1.7;padding:8px 0;overflow-wrap:anywhere}.career-details details details{padding-left:10px;border-left:2px solid #f4dbe3}.career-details .mini-card{background:#fff7f9;border-color:#f4dbe3}dialog{max-width:min(720px,calc(100vw - 24px));box-sizing:border-box}dialog .career-details{max-width:100%}dialog svg{display:block} .sidebar .btn{margin-top:14px;width:100%;white-space:normal}
.speed-control{background:#fff7fa;border:1px solid #f0d6e0;border-radius:14px;padding:12px 16px;margin:12px 0}.speed-control>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:calc(14px * var(--text-scale,1))}.speed-control small{color:var(--muted)}.speed-input{display:flex;align-items:center;gap:12px;margin-top:8px}.speed-input input{flex:1;min-width:0;accent-color:#cc7798;height:36px}.speed-input button{width:44px;height:44px;border-radius:50%;background:white;border:1px solid #edcfdb;font-size:calc(20px * var(--text-scale,1))}.speed-input button:disabled{opacity:.35}.history-year>summary{font-size:calc(16px * var(--text-scale,1));font-weight:600;cursor:pointer;padding:8px 0}.annual-review{padding:12px;background:#fff4f7;border-radius:10px}.annual-review p,.compact-event p{font-size:calc(13px * var(--text-scale,1));line-height:1.8}.compact-event{border-bottom:1px solid #f0e3e8;padding:8px 0}.compact-event summary{font-size:calc(13px * var(--text-scale,1));cursor:pointer}.history-filter{flex-wrap:wrap;gap:12px}.history-filter label{font-size:calc(13px * var(--text-scale,1))}.history-log-month{scroll-margin-top:80px}.history-year{scroll-margin-top:80px}
.debut-page{max-width:540px;margin:12px auto 36px;padding:0 14px}.debut-options{display:flex;justify-content:space-between;align-items:center;font-size:calc(12px * var(--text-scale,1));gap:8px;margin-bottom:10px}.debut-options select{padding:6px;border:1px solid #efd1db;border-radius:8px;background:white}.debut-card{text-align:center;background:radial-gradient(ellipse at top,#ffe5ee,white 70%);border:1px solid #efd3df;border-radius:22px;padding:16px;box-shadow:0 8px 35px #d48ca522}.debut-card h1{font-size:calc(19px * var(--text-scale,1));margin:5px 0 10px}.debut-step{font-size:calc(14px * var(--text-scale,1));margin:7px 0}.debut-step small{display:block;font-size:calc(11px * var(--text-scale,1));color:var(--muted);margin-top:3px}.debut-age{font-size:calc(28px * var(--text-scale,1));color:#c46788;font-weight:bold}.debut-name{font-size:calc(24px * var(--text-scale,1))!important;margin:10px 0!important}.debut-name .color-tag{font-size:calc(10px * var(--text-scale,1));vertical-align:middle}.debut-talent{background:#fff4f6;border-radius:12px;padding:10px}.debut-talent p{font-size:calc(12px * var(--text-scale,1));margin:5px 0;line-height:1.7}.debut-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.debut-badges .pill{font-size:calc(10px * var(--text-scale,1));padding:4px 8px}.debut-skip{font-size:calc(10px * var(--text-scale,1));color:var(--muted)}.debut-actions{position:sticky;bottom:0;padding:10px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(#fffaf9ee,#fffaf9);display:grid;gap:7px;z-index:3}.debut-actions .btn{width:100%;min-height:44px;font-size:calc(14px * var(--text-scale,1))}.debut-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:calc(12px * var(--text-scale,1));color:#ac5475}.debut-links button{min-height:38px}.reveal-normal .debut-step{animation:debut-reveal .4s both;animation-delay:calc(var(--step)*.45s)}.reveal-fast .debut-step{animation:debut-reveal .15s both;animation-delay:calc(var(--step)*.045s)}.reveal-skipped .debut-step,.reveal-off .debut-step{animation:none!important}.debut-card:before{content:'♡ ✧ ♡';display:block;color:#df8ba9;letter-spacing:18px;font-size:calc(12px * var(--text-scale,1))}@keyframes debut-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.debut-step{animation:none!important}}
.rare-debut{border-color:#dfab78;box-shadow:0 0 25px #f4c7a766;background:radial-gradient(ellipse at top,#ffead8,#fff5f8 55%,white)}.rare-debut .debut-badges{color:#9b632e}
/* Story-first game layout */
:root{--deep:#49343d;--muted:#75616b;--pink:#bd426e;--line:#efdae2;--bg:#fffafb}
.game-page{max-width:820px;padding-top:20px}.idol-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:12px;scroll-margin-top:12px}.summary-date{display:flex;align-items:center;gap:14px}.summary-date>b{font-size:calc(30px * var(--text-scale,1));color:var(--pink);line-height:1.3}.summary-date small{font-size:calc(13px * var(--text-scale,1));margin-left:3px}.summary-date time{font-weight:700;font-size:calc(16px * var(--text-scale,1))}.summary-date .save-state{margin-left:auto;color:var(--muted)}.summary-name{margin:6px 0 12px}.summary-name h1{font-size:calc(21px * var(--text-scale,1));display:inline;margin-right:14px}.summary-name>span{font-size:calc(12px * var(--text-scale,1))}.summary-metrics{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:9px;font-size:calc(12px * var(--text-scale,1))}.summary-metrics b{font-size:calc(21px * var(--text-scale,1));margin:0 4px;font-variant-numeric:tabular-nums}.game-controls{position:sticky;top:0;z-index:5;padding:8px 12px;background:#fffafcf5;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #6333470a;backdrop-filter:blur(8px)}.transport{display:flex;gap:8px;align-items:center}.transport>span{margin-left:auto;font-size:calc(11px * var(--text-scale,1));color:var(--muted)}.transport button{min-height:44px;padding:6px 12px;border-radius:9px}.transport .play-button{background:var(--pink);color:white;min-width:112px;font-size:calc(13px * var(--text-scale,1))}.step-button{border:1px solid var(--line);font-size:calc(12px * var(--text-scale,1));background:#fff}.game-controls .speed-control{border:0;background:none;padding:2px 0 0;margin:0;display:flex;align-items:center;gap:10px}.game-controls .speed-control>div:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}.game-controls .speed-control small{font-size:calc(10px * var(--text-scale,1))}.game-controls .speed-input{flex:1;min-width:0;gap:4px}.game-controls .speed-input input{min-width:0;width:100%}.game-controls .speed-input button{min-width:44px;min-height:44px}.main-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:12px 0 14px;gap:0;background:#fff;border-radius:10px}.main-tabs button{padding:12px 0;min-height:48px;font-size:calc(13px * var(--text-scale,1))}.main-tabs .active{background:#fceaf0;border-radius:9px 9px 0 0}.life-switch{display:flex;gap:8px;margin-bottom:16px;scroll-margin-top:120px}.life-switch button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;font-size:calc(12px * var(--text-scale,1));background:white}.life-switch .selected{color:var(--pink);border-color:var(--pink);font-weight:700}.month-highlight{padding:16px 18px;background:#fff0f4;border:1px solid #e4a7bc;border-left:4px solid var(--pink);border-radius:12px;margin-bottom:18px}.month-highlight summary{font-weight:700;font-size:calc(16px * var(--text-scale,1));padding:8px 0;cursor:pointer}.month-highlight p{font-size:calc(14px * var(--text-scale,1));padding-bottom:8px}.game-page .timeline-title h2{font-size:calc(16px * var(--text-scale,1))}.monthly-events{border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 16px}.daily-line{padding:12px 0;border-bottom:1px solid var(--line);font-size:calc(14px * var(--text-scale,1))}.daily-line:last-child{border:0}.daily-line b{font-size:calc(14px * var(--text-scale,1));font-weight:600}.daily-line p{font-size:calc(13px * var(--text-scale,1));line-height:1.65;color:var(--muted);margin-top:3px}.log-detail{padding:10px 0;border-bottom:1px solid var(--line)}.log-detail summary{cursor:pointer;font-size:calc(14px * var(--text-scale,1));font-weight:600;min-height:30px}.log-detail>p{padding:6px 0;font-size:calc(13px * var(--text-scale,1))}.log-detail .event:before{display:none}.monthly-changes{margin:16px 0}.monthly-changes h3{font-size:calc(13px * var(--text-scale,1));margin-bottom:8px}.monthly-changes>div{display:flex;flex-wrap:wrap;gap:7px}.change{font-size:calc(12px * var(--text-scale,1));border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:white}.change b{margin-left:4px}.change.positive b{color:#a83460}.change.negative b{color:#5b5976}.game-page .play-foot{font-size:calc(12px * var(--text-scale,1));padding:10px 0}.view-heading{margin:12px 0 20px}.view-heading h2{font-size:calc(20px * var(--text-scale,1))}.view-heading p{font-size:calc(13px * var(--text-scale,1));color:var(--muted);margin-top:5px}.view-section{border:1px solid var(--line);background:white;border-radius:12px;margin:10px 0}.view-section>summary{padding:15px;font-size:calc(14px * var(--text-scale,1));font-weight:600;cursor:pointer}.view-section-body{padding:0 15px 15px}.view-section-body>.card{padding:14px}.game-page .mini-card{padding:14px}.game-page .mini-card summary,.game-page .career-details summary{color:var(--deep);font-size:calc(13px * var(--text-scale,1));min-height:30px;cursor:pointer}.game-page .mini-card>summary{min-height:32px}.game-page .mini-card p,.game-page .career-details p{font-size:calc(13px * var(--text-scale,1))}.game-page .history-filter{flex-wrap:wrap;gap:10px}.game-page .history-filter label{font-size:calc(12px * var(--text-scale,1))}.history-log-month{border-top:1px solid var(--line);margin-top:12px}.history-log-month .history-month{font-size:calc(13px * var(--text-scale,1));font-weight:700;color:var(--deep)}.history-log-month .daily-line{padding:7px 0}.history-log-month .daily-line p{font-size:calc(12px * var(--text-scale,1))}.history-year{scroll-margin-top:120px}.game-page .history-year>summary{font-size:calc(15px * var(--text-scale,1));font-weight:700}.game-page .annual-review{background:#fff4f7;padding:10px;border-radius:8px}.album-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.album-entry{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;width:100%}.album-entry>b{font-size:calc(18px * var(--text-scale,1))}.album-entry>strong{font-size:calc(15px * var(--text-scale,1))}.album-entry>span{font-size:calc(13px * var(--text-scale,1))}.game-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:15px;text-align:center}.game-bottom button{min-height:44px;font-size:calc(12px * var(--text-scale,1));color:var(--muted)}.rival-note{padding:12px;background:#fff0f4;border-radius:9px;margin-bottom:14px}.game-page .network-thread summary{font-size:calc(13px * var(--text-scale,1))}.game-page .network-post p{font-size:calc(14px * var(--text-scale,1))}.game-page .choice-card{scroll-margin-top:120px}.game-page .choice-card p{font-size:calc(14px * var(--text-scale,1))}.game-page #tabContent{min-width:0;overflow-wrap:anywhere}.game-page .member-desc{font-size:calc(12px * var(--text-scale,1))}.game-page .member-main small{font-size:calc(11px * var(--text-scale,1))}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}summary{touch-action:manipulation}.game-page .group-heading{overflow-wrap:anywhere}
@media(max-width:600px){.game-page{padding:12px 12px 35px}.idol-summary{padding:12px 14px}.summary-date{gap:10px}.summary-date time{font-size:calc(14px * var(--text-scale,1))}.summary-date .save-state{font-size:calc(10px * var(--text-scale,1))}.summary-name h1{font-size:calc(19px * var(--text-scale,1))}.summary-name>span{display:block;font-size:calc(12px * var(--text-scale,1));margin-top:2px}.summary-metrics{gap:12px;justify-content:space-between}.summary-metrics b{font-size:calc(19px * var(--text-scale,1))}.game-controls{padding:5px 8px}.game-controls .speed-control>div:first-child{font-size:calc(11px * var(--text-scale,1))}.game-controls #speedSeconds{display:none}.main-tabs button{font-size:calc(12px * var(--text-scale,1))}.game-page .history-filter select{min-width:0;padding:8px}.album-list{grid-template-columns:1fr}.view-section-body{padding:0 10px 10px}.game-page .wide-metrics{gap:5px}.game-page .metric{padding:9px 5px}.game-page .footer{font-size:calc(10px * var(--text-scale,1))}.game-page .member-row{gap:7px}.game-page .member-mark{display:none}.game-page .member-right{flex-shrink:0}.game-page .timeline-title{margin-bottom:10px}.month-highlight summary{font-size:calc(15px * var(--text-scale,1))}.game-page .life-switch{gap:6px}.game-page .life-switch button{padding:8px 11px}.game-page .speed-control label{white-space:nowrap}}
/* Strawberry milk × nostalgic idol palette. Character member colors remain individual. */
:root{--bg:#FFF9FC;--pink:#F35B93;--bright:#FF91B6;--soft:#FFE2EC;--deep:#654550;--muted:#795963;--mint:#FFE2EC;--line:#F5CDDC;--pink-ink:#A53059}
body{background:var(--bg);color:var(--deep)}
.primary,.transport .play-button{background:var(--bright);color:#654550;box-shadow:0 5px 16px #FF91B633}
.primary:hover,.transport .play-button:hover{background:#FFA5C3}
a,.eyebrow,.tabs button.active,.life-switch .selected,.summary-date>b,.hero h1 span,.debut-age{color:var(--pink-ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--pink)}
.brand-heart,.feature-icon,.feature:nth-child(2) .feature-icon,.feature:nth-child(3) .feature-icon,.choice-letter,.choice-chosen,.member-badge{background:var(--soft);color:var(--pink-ink)}
.hero-copy .pill,.main-tabs .active,.debut-talent,.annual-review,.game-page .annual-review,.rival-note,.metric,.wellbeing>div,.career-details .mini-card,.network-post.board,.effect-chip.down,.choice-influence{background:#FFE2EC;color:var(--deep);border-color:var(--line)}
.hero h1,.ticket h2,.career-details,.network-post p,.choice-outcome{color:var(--deep)!important}
.hero-copy>p,.event p,.choice-card>p,.network-by b,.choice-note,.choice-option small,.mini-card summary,.footer,.footer .tiny-logo,.network-by time,.network-by,.network-topic,.network-thread>summary span{color:var(--muted)}
.ticket,.profile-card,.result-card,.choice-card,.event.special,.event.ending,.debut-card{background:linear-gradient(145deg,#FFF9FC,#FFE2EC);border-color:#FFBBD2;box-shadow:0 8px 28px #FF91B61A}
.ticket:before{border-color:var(--soft)}.heart-seal,.spark,.debut-card:before,.event.special:after{color:var(--pink)}
.orbit{background:radial-gradient(circle,#FFE2EC,transparent 70%);border-color:#FFD0E0}.orbit:before,.orbit:after{border-color:#FFD0E0}
.event.bond,.event.audition,.event.fan,.event.farewell,.network-thread,.choice-record,.speed-control{background:#FFF9FC;border-color:var(--line)}
.bar,.month-progress{background:var(--soft)}.bar i,.skill:nth-child(2n) .bar i,.month-progress i,.event:before,.choice-record:before{background:var(--bright)}
.skill-top b,.choice-kicker,.choice-chosen,.choice-log-options .chosen,.network-thread>summary,.network-more>summary,.change.positive b,.debut-links,.end-title{color:var(--pink-ink)}
.change.negative b,.effect-chip.down,.choice-outcome{color:var(--deep)}
.speed-input input{accent-color:var(--pink)}.tabs button.active:after{background:var(--pink)}
.game-controls{background:#FFF9FCF5}.debut-actions{background:linear-gradient(#FFF9FCEE,#FFF9FC)}
.month-highlight{background:var(--soft);border-color:#FF91B6;border-left-color:var(--pink)}
.choice-card.rare,.rare-debut{background:linear-gradient(135deg,#FFF0DF,#FFE2EC,#FFF9FC);border-color:#E9B184}
.group-trend polyline,.career-details svg polyline{stroke:var(--pink)}
/* Kyurukyuru candy stationery: presentation only, no game behavior changes. */
:root{--serif:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-family:"Hiragino Maru Gothic ProN",-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif}
body{background-color:#FFF9FC;background-image:radial-gradient(#FF91B628 1px,transparent 1px);background-size:16px 16px}
.topbar{border-bottom:2px dotted #F5CDDC}.brand strong{font-weight:800;text-shadow:0 2px white;letter-spacing:.02em}.brand-heart{border:2px solid white;border-radius:15px;background:linear-gradient(#fff,#FFE2EC);box-shadow:0 3px 0 #F5CDDC,0 5px 12px #FF91B628}.topnav button{border-radius:20px;background:#FFFFFFAA}
.hero h1{font-weight:800;letter-spacing:-.025em;line-height:1.7;text-shadow:2px 3px white}.hero h1 span{color:#D83F79}.hero-copy .pill{border:1px dashed #FF91B6;box-shadow:0 0 0 4px #fff;background:#FFE2EC;transform:rotate(-2deg)}
.btn{border-radius:24px;letter-spacing:.01em}.primary,.transport .play-button{border:2px solid #fff;background:linear-gradient(180deg,#FFC3D8 0%,#FF91B6 62%,#FFA8C5 100%);box-shadow:0 4px 0 #E86C98,0 7px 15px #FF91B62B;text-shadow:0 1px #ffffff80;font-weight:800}.primary:hover,.transport .play-button:hover{background:linear-gradient(#FFD7E5,#FF9ABD);transform:translateY(-1px)}.primary:active,.transport .play-button:active{transform:translateY(2px);box-shadow:0 1px 0 #E86C98}.secondary,.step-button{border:1px solid #F3BDD0;background:linear-gradient(#fff,#FFF4F8);box-shadow:0 3px 0 #F8DFE8}.secondary:hover{background:#FFEAF2}
.ticket{border-radius:32px 32px 20px 20px;border:3px solid #fff;outline:1px solid #FFBED5;box-shadow:8px 12px 0 #FFE2EC80,0 20px 50px #F35B931A;background:linear-gradient(160deg,#fff 25%,#FFE2EC)}.ticket:before{border:2px dotted #FFBED5;border-radius:24px 24px 14px 14px;inset:10px}.heart-seal{width:82px;height:82px;border-radius:50%;border:3px double #FF91B6;background:linear-gradient(#fff,#FFE2EC);text-shadow:0 2px white;box-shadow:0 4px 0 #F8CEDD}.ticket h2{font-weight:800;font-size:calc(28px * var(--text-scale,1))}.ticket-bottom{border-color:#FF91B6}.floating-note{border-radius:22px;border:2px solid white;outline:1px solid #F5CDDC;background:#FFF9FC;box-shadow:0 4px 0 #FFE2EC}.orbit{border:2px dotted #FFBED5;background:radial-gradient(circle,#FFE2EC 0%,#FFF9FC00 70%)}.spark{font-weight:bold;text-shadow:0 2px white}
.features{border-top:2px dotted #F5CDDC;border-bottom:2px dotted #F5CDDC}.feature-icon{border:2px solid white;box-shadow:0 3px 0 #F5CDDC;border-radius:14px;transform:rotate(-6deg)}
.card,.mini-card,.view-section,.idol-summary,.monthly-events,.network-thread{border-radius:20px;border-color:#F5CDDC;box-shadow:0 4px 0 #FFE2EC66;background-color:#fff}.idol-summary{border:2px solid white;outline:1px solid #F5CDDC;background:linear-gradient(115deg,#fff 45%,#FFF0F6);position:relative}.summary-name h1{font-weight:800}.summary-date>b{color:#C63F73;text-shadow:1px 2px #FFE2EC}.summary-metrics{border-top-style:dashed}.summary-metrics b{color:#A53059}.save-state{border-radius:12px;background:#FFF9FC;padding:2px 6px}
.game-controls{border-radius:18px;border-color:#F3BED1;box-shadow:0 4px 0 #FFE2EC80;background:#FFF9FCF5}.speed-input button{background:linear-gradient(#fff,#FFF0F6);box-shadow:0 2px 0 #F5CDDC;border-color:#F5CDDC}.transport .play-button{border-radius:18px}.main-tabs{border:1px solid #F5CDDC;padding:4px;gap:3px;border-radius:22px;box-shadow:0 3px 0 #FFE2EC66}.main-tabs button{border-radius:17px}.main-tabs button.active{border-radius:17px;background:linear-gradient(#FFE2EC,#FFBBD3);color:#85334F;box-shadow:inset 0 1px white,0 2px 0 #EFA6C0}.tabs button.active:after{display:none}.life-switch button{background:#fff;border-style:dashed}.life-switch .selected{background:#FFF0F6;border-style:solid;box-shadow:0 2px 0 #FFE2EC}
.month-highlight{position:relative;border:2px solid #FFB5CE;border-radius:20px;background:linear-gradient(120deg,#FFE2EC,#FFF9FC);box-shadow:0 4px 0 #FFE2EC80;padding-top:18px}.month-highlight:before{content:"";position:absolute;top:-6px;right:20px;width:40px;height:18px;background:linear-gradient(90deg,#FF91B6,#F35B93,#FF91B6);clip-path:polygon(0 0,43% 32%,50% 22%,57% 32%,100% 0,90% 50%,100% 100%,57% 68%,50% 78%,43% 68%,0 100%,10% 50%);pointer-events:none}.month-highlight .eyebrow{background:#fff;border-radius:10px;padding:3px 8px;letter-spacing:.07em}.timeline-title h2{font-weight:800}.daily-line{border-bottom-style:dashed}.monthly-changes h3{color:#A53059}.change{border-radius:14px;background:linear-gradient(#fff,#FFF6F9)}
.choice-card,.debut-card,.result-card{border:3px solid white;outline:1px solid #F5B9D0;border-radius:28px;box-shadow:0 6px 0 #FFE2EC,0 12px 30px #FF91B61A;background:linear-gradient(150deg,#fff,#FFE2EC)}.choice-card h2,.debut-card h1{font-weight:800}.choice-option{border-radius:18px;box-shadow:0 3px 0 #F8DFE8;border-color:#F5CDDC}.choice-option:hover{background:#FFF0F6}.choice-letter{border:2px solid white;box-shadow:0 2px 0 #F5CDDC;font-weight:800}.choice-card.rare,.rare-debut{outline-color:#E5B08B}.debut-talent{border:2px dotted white;box-shadow:0 0 0 1px #F5CDDC;border-radius:18px}.debut-badges .pill,.pill{border-radius:15px}.debut-name{font-weight:800}.debut-actions{gap:10px;padding-left:2px;padding-right:2px}.debut-card:before{font-size:calc(16px * var(--text-scale,1));text-shadow:0 2px white}
.network-post{border-radius:16px}.network-by>span{background:#FFE2EC;padding:2px 6px;border-radius:10px}.view-section>summary,.game-page .mini-card>summary{font-weight:600}.career-details .mini-card{border-radius:16px}.bar{height:6px;border:1px solid #FFE2EC}.bar i{background:linear-gradient(90deg,#FFB6CF,#FF91B6)}.skill:nth-child(2n) .bar i{background:linear-gradient(90deg,#FFC6D9,#F35B93)}.wellbeing>div,.metric{border:2px solid white;border-radius:15px}.result-ribbon{background:#FFE2EC;border-top:2px dotted white;border-bottom:2px dotted white}.footer{border-top:1px dashed #F5CDDC;padding-top:18px}dialog{border-radius:26px;border-color:#F5CDDC;box-shadow:0 20px 80px #65455030;background:#FFF9FC}.close{background:#FFE2EC;border-radius:50%;color:#654550}
@media(max-width:600px){.main-tabs{gap:1px;padding:3px}.main-tabs button{font-size:calc(11px * var(--text-scale,1))}.game-controls{border-radius:16px}.hero h1{letter-spacing:-.04em}.month-highlight:before{right:16px}.game-page .mini-card{border-radius:17px}.choice-card{border-width:2px}.debut-card{border-width:2px}.summary-date .save-state{padding:1px 4px}.game-controls .transport .play-button{padding:5px 10px}}
.game-page .choice-card{padding:18px 18px 14px;margin-bottom:16px;border-radius:20px}.game-page .choice-card h2{font-size:calc(22px * var(--text-scale,1));line-height:1.3;margin:5px 0 8px;color:#654550}.game-page .choice-card>p{font-size:calc(13px * var(--text-scale,1));line-height:1.6;margin:0}.game-page .choice-person{margin:8px 0 0}.game-page .choice-options{gap:7px;margin:14px 0 9px}.game-page .choice-option{min-height:48px;padding:8px 11px;border-radius:12px;gap:10px}.game-page .choice-option strong{font-size:calc(13px * var(--text-scale,1));line-height:1.4}.game-page .choice-letter{width:25px;height:25px}.game-page .choice-note{font-size:calc(10px * var(--text-scale,1));line-height:1.45}.game-page .choice-kicker{margin-bottom:7px}
.game-page .policy-card{padding:15px 16px 14px}.game-page .policy-card h2{font-size:calc(18px * var(--text-scale,1));margin:3px 0}.game-page .policy-card .choice-options{gap:6px;margin:10px 0}.game-page .policy-card .choice-option{min-height:41px;padding:7px 10px;box-shadow:0 2px 0 #f8dfe8}.game-page .policy-card .choice-letter{width:22px;height:22px;font-size:calc(14px * var(--text-scale,1))}.policy-random{display:block;width:100%;min-height:42px;border:1px solid #f18bac;border-radius:12px;background:#fff;color:#aa2d63;font-weight:700;font-size:calc(13px * var(--text-scale,1))}.policy-random:hover{background:#fff0f5}.network-peek{margin:10px 0 15px;border-left:3px solid #f35b93;background:#fff9fc;padding:8px 10px;border-radius:0 12px 12px 0}.network-peek-head{font-weight:800;color:#a53059;font-size:calc(13px * var(--text-scale,1));display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.network-peek-head small{font-size:calc(11px * var(--text-scale,1));font-weight:400;color:#654550}.network-peek .network-post{margin:5px 0;padding:7px 9px;border-radius:9px}.network-peek .network-post p{font-size:calc(12px * var(--text-scale,1));line-height:1.45;margin-top:3px}.network-peek .network-by time{display:none}.network-peek .network-more>summary{padding:5px 0;font-size:calc(11px * var(--text-scale,1))}.decision-result{border:1px solid #f3c7d7;background:white;border-radius:12px;padding:9px 12px;margin:8px 0;color:#654550;font-size:calc(12px * var(--text-scale,1))}.decision-result b{color:#aa2d63}.decision-result p{margin:3px 0 0;line-height:1.5}
/* Font-independent centered hearts; compact, uncluttered mobile welcome. */
.brand-heart,.heart-seal,.feature:last-child .feature-icon{font-size:0;line-height:1;display:grid;place-items:center;flex-shrink:0}
.brand-heart:before,.heart-seal:before,.feature:last-child .feature-icon:before{content:"";display:block;width:64%;height:64%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 27C13 24 4 18 4 11a6.5 6.5 0 0 1 12-3 6.5 6.5 0 0 1 12 3c0 7-9 13-12 16Z' fill='none' stroke='%23D64C83' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.heart-seal{margin-left:auto;margin-right:auto}.brand-heart{align-self:center}
@media(max-width:700px){
.page:has(.hero){padding:18px 20px 30px}.hero-copy{padding:5px 0 0;width:100%;max-width:400px}.hero-copy .pill{transform:none;font-size:calc(10px * var(--text-scale,1));letter-spacing:0;margin-bottom:14px;padding:4px 12px;box-shadow:none}.hero h1{font-size:clamp(23px,6.4vw,28px);line-height:1.6;letter-spacing:-.03em;white-space:normal}.hero-copy>p{font-size:calc(12px * var(--text-scale,1));line-height:1.9;margin:14px 0 18px}.hero .start-btn{width:100%;min-width:0;max-width:340px;font-size:calc(13px * var(--text-scale,1));padding:11px 18px}.hero-copy .backlink{display:block;margin:10px auto 0;min-height:40px;padding:6px 12px}.hero-copy .subnote{margin-top:5px;font-size:calc(10px * var(--text-scale,1))}.hero-art{height:270px;min-height:270px;transform:none;margin:12px 0 10px;max-width:360px}.hero-art .floating-note{display:none}.hero-art .orbit{width:230px;height:230px}.hero-art .orbit:after{inset:-12px}.hero-art .ticket{width:218px;padding:17px 18px 14px;transform:rotate(-3deg);border-radius:24px;box-shadow:5px 7px 0 #FFE2EC80,0 12px 25px #F35B9312}.hero-art .ticket:before{inset:7px;border-radius:18px}.hero-art .ticket-kicker{font-size:calc(8px * var(--text-scale,1));letter-spacing:.16em}.hero-art .heart-seal{width:52px;height:52px;margin-top:9px;margin-bottom:7px;font-size:0}.hero-art .ticket h2{font-size:calc(23px * var(--text-scale,1));margin:4px 0 6px}.hero-art .ticket p{font-size:calc(10px * var(--text-scale,1));line-height:1.7}.hero-art .ticket-bottom{margin-top:12px;padding-top:9px;font-size:calc(7px * var(--text-scale,1))}.hero-art .ticket-bottom strong{font-size:calc(9px * var(--text-scale,1))}.hero-art .spark.s1{top:23px;right:24px}.hero-art .spark.s2{bottom:23px;left:24px}.hero-art .spark.s3{display:none}.features{padding:18px 0;gap:16px}.brand-heart{font-size:0;width:32px;height:32px}.feature:last-child .feature-icon{font-size:0}
}
.brand-heart,.heart-seal,.feature:last-child .feature-icon{position:relative}
.brand-heart:before,.heart-seal:before,.feature:last-child .feature-icon:before{position:absolute;inset:18%;width:auto;height:auto}
/* A game title screen, scoped away from the simulation UI. */
.title-screen{min-height:100svh;padding:28px 20px 20px;text-align:center;background:radial-gradient(ellipse at 50% 36%,#fff 0%,#FFF9FC 33%,#FFE2EC 100%);position:relative;isolation:isolate;overflow:hidden}
.title-screen:before{content:"";position:absolute;inset:10px;border:2px dotted #FFBBD2;border-radius:28px;pointer-events:none;z-index:-1}
.title-game{width:100%;max-width:520px;margin:auto}.title-logo-wrap{position:relative;display:table;margin:8px auto 12px;padding:20px 25px 0}.title-kicker{font-size:calc(9px * var(--text-scale,1));letter-spacing:.24em;font-weight:700;color:#A53059}.title-logo{font-family:"Hiragino Maru Gothic ProN","Arial Rounded MT Bold",sans-serif;font-weight:900;font-size:calc(82px * var(--text-scale,1));letter-spacing:-.07em;line-height:1.25;color:#F35B93;-webkit-text-stroke:1.5px white;paint-order:stroke fill;text-shadow:0 3px 0 #fff,3px 0 0 #fff,-3px 0 0 #fff,0 -3px 0 #fff,0 6px 0 #E68CAE,0 9px 0 #FFD4E4;transform:rotate(-3deg)}.title-logo>span{display:inline-block;font-size:.86em;margin-left:3px;transform:rotate(10deg)}
.logo-spark{position:absolute;color:#F35B93;font-size:calc(27px * var(--text-scale,1));text-shadow:0 2px white}.logo-spark.left{left:-9px;top:44px;transform:rotate(-12deg)}.logo-spark.right{right:-12px;top:67px;font-size:calc(33px * var(--text-scale,1))}.logo-heart{position:absolute;left:8px;top:8px;color:#D64C83;font-size:calc(22px * var(--text-scale,1));transform:rotate(-18deg)}.logo-bow{position:absolute;top:-1px;right:35px;width:53px;height:29px;background:linear-gradient(90deg,#FF91B6,#F35B93,#FF91B6);clip-path:polygon(0 0,42% 30%,50% 20%,58% 30%,100% 0,92% 50%,100% 100%,58% 70%,50% 80%,42% 70%,0 100%,8% 50%);transform:rotate(13deg)}
.title-copy{margin:19px 0 0}.title-copy h2{font-size:calc(19px * var(--text-scale,1));color:#654550;font-weight:700;line-height:1.7}.title-copy p{font-size:calc(13px * var(--text-scale,1));color:#8B5369;margin-top:3px}.title-stage{position:relative;max-width:460px;margin:6px auto 10px}.title-stage img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 12px #F35B9312)}.stage-twinkle{position:absolute;pointer-events:none;color:#F35B93;text-shadow:0 0 8px #fff;font-size:calc(24px * var(--text-scale,1));animation:title-glint 3.6s ease-in-out infinite}.t1{top:34%;left:12%}.t2{top:18%;right:14%;animation-delay:1.2s;color:#D4A153}.t3{bottom:27%;right:22%;animation-delay:2.4s;font-size:calc(17px * var(--text-scale,1))}@keyframes title-glint{0%,100%{opacity:.25;transform:scale(.65) rotate(-10deg)}50%{opacity:1;transform:scale(1.15) rotate(10deg)}}
.title-menu{max-width:390px;margin:auto;padding:0 5px}.title-start{display:block;width:100%;min-height:62px;border:3px solid white;border-radius:32px;background:linear-gradient(#FFC8DD 0%,#FF91B6 55%,#FFAFCB 100%);box-shadow:0 5px 0 #E36998,0 7px 0 white,0 12px 22px #F35B9325;color:#762C49;font-size:calc(18px * var(--text-scale,1));font-weight:800;letter-spacing:.01em;text-shadow:0 1px #fff8;transition:transform .15s,box-shadow .15s}.title-start:hover{transform:translateY(-2px);background:linear-gradient(#FFD7E6,#FF91B6)}.title-start:active{transform:translateY(3px);box-shadow:0 2px 0 #E36998,0 4px 0 white}.title-submenu{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;margin:22px 0 3px}.title-submenu button{min-height:44px;font-size:calc(12px * var(--text-scale,1));border:1px solid #F4BED2;border-radius:15px;background:#FFFFFFB0;color:#79505F;box-shadow:0 2px 0 #F8D5E2}.title-submenu button:disabled{opacity:.45;cursor:default;box-shadow:none}.title-candidates{font-size:calc(11px * var(--text-scale,1));color:#79505F;min-height:40px;padding:8px 10px}.title-footnote{font-size:calc(10px * var(--text-scale,1));line-height:1.9;color:#795963;margin-top:3px}.title-screen .footer{max-width:490px;margin:16px auto 0;padding-top:12px;font-size:calc(9px * var(--text-scale,1))}.title-screen .footer .tiny-logo{font-size:calc(8px * var(--text-scale,1))}
@media(max-width:600px){.title-screen{padding:20px 18px 18px}.title-screen:before{inset:7px;border-radius:22px}.title-logo-wrap{margin:3px auto 10px;padding:16px 18px 0}.title-logo{font-size:clamp(57px,17vw,73px)}.title-kicker{font-size:calc(8px * var(--text-scale,1));letter-spacing:.16em}.logo-spark.left{left:-6px;top:37px;font-size:calc(22px * var(--text-scale,1))}.logo-spark.right{right:-9px;top:53px;font-size:calc(27px * var(--text-scale,1))}.logo-bow{width:44px;height:25px;right:26px;top:-3px}.logo-heart{font-size:calc(18px * var(--text-scale,1));left:7px;top:0}.title-copy{margin-top:17px}.title-copy h2{font-size:clamp(13px,3.9vw,16px);white-space:nowrap}.title-copy p{font-size:calc(11px * var(--text-scale,1))}.title-stage{max-width:370px;margin:6px auto 8px}.title-start{min-height:56px;font-size:clamp(13px,4vw,16px);border-width:2px}.title-submenu{gap:5px;margin-top:19px}.title-submenu button{font-size:calc(11px * var(--text-scale,1))}.title-footnote{font-size:calc(9px * var(--text-scale,1))}.title-screen .footer{margin-top:12px}.title-menu{padding:0 3px}}
@media(prefers-reduced-motion:reduce){.stage-twinkle{animation:none;opacity:.8}.title-start{transition:none}}
.mode-row{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.mode-chip{min-height:34px;padding:6px 11px;border:1px solid #f1bfd0;border-radius:999px;background:#fff;color:#654550;font:inherit;font-size:calc(12px * var(--text-scale,1))}.mode-chip.active{background:#ff91b6;color:#fff;border-color:#f35b93;font-weight:700}.speed-control>small{display:block;padding:5px 0;color:#654550}
/* Idol diary redesign: scoped to gameplay and debut; the title screen is untouched. */
.game-page{--ink:#503946;--rose:#bd4778;--blush:#ffedf3;--gold:#b28b4f;color:var(--ink);max-width:860px;background:linear-gradient(180deg,#fff9fc 0%,#fff 300px)}
.game-page .idol-summary{background:#fff;border:1px solid #ead9e1;outline:0;border-radius:18px 18px 8px 8px;box-shadow:none;padding:13px 18px 12px;position:relative;overflow:hidden}
.game-page .idol-summary:before{content:'OFFICIAL PROFILE  ♡';display:block;color:#a87387;font-size:calc(9px * var(--text-scale,1));font-weight:800;letter-spacing:.22em;margin-bottom:9px}
.game-page .idol-summary:after{content:'✦';position:absolute;right:18px;top:22px;font-size:calc(23px * var(--text-scale,1));color:#eeb96d}
.game-page .summary-date{display:flex;align-items:baseline;gap:9px}.game-page .summary-date>b{font-size:calc(26px * var(--text-scale,1));color:var(--rose);text-shadow:none}.game-page .summary-date time{font-weight:700;color:var(--ink)}
.game-page .summary-name{margin:3px 0}.game-page .summary-name h1{font-size:calc(21px * var(--text-scale,1));letter-spacing:.03em}.game-page .summary-metrics{margin-top:10px;padding-top:9px;border-top:1px solid #eee0e6}.game-page .summary-metrics b{color:#ad376e}
.game-page .game-controls{position:sticky;top:0;z-index:20;background:#fff;border:1px solid #edcbd8;border-radius:0 0 15px 15px;box-shadow:0 6px 18px #54314012;padding:8px 12px;margin-top:0}
.game-page .transport{display:flex;align-items:center;gap:8px}.game-page .transport>span{margin-left:auto;font-size:calc(11px * var(--text-scale,1));color:#795767}.game-page .transport .play-button{border-radius:11px;background:linear-gradient(180deg,#ff8faf,#e75d8c);box-shadow:0 3px 0 #be4874;color:white;min-height:38px}.game-page .transport .step-button{border-radius:11px;min-height:38px}
.game-page .speed-control{margin-top:7px;padding-top:7px;border-top:1px solid #f3e1e8}.game-page .mode-chip{border-radius:9px;min-height:32px}.game-page .mode-chip.active{background:#754d63;border-color:#754d63}
.game-page .main-tabs{display:flex;gap:2px;margin:13px 0 8px;border:0;border-bottom:1px solid #ebdae2;border-radius:0;box-shadow:none;background:transparent;padding:0;overflow-x:auto}.game-page .main-tabs button{min-height:41px;flex:1;white-space:nowrap;border-radius:0!important;color:#735967}.game-page .main-tabs button.active{background:#fff;color:#ad376e;box-shadow:inset 0 -3px #e96d98;font-weight:800}
.game-page .life-switch{margin:7px 0 9px}.game-page .life-switch button{border-radius:999px;border:1px solid #e8c7d4;background:#fff;box-shadow:none;padding:6px 12px}.game-page .life-switch .selected{background:#754d63;color:white;border-color:#754d63}
.month-issue{background:#fff;border:1px solid #efdce4;border-radius:16px;overflow:hidden;box-shadow:0 9px 26px #7654610d;margin-bottom:9px}.issue-masthead{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff3f7;border-bottom:1px solid #f3dce6;padding:10px 15px;color:#9f4269;font-size:calc(11px * var(--text-scale,1));letter-spacing:.09em}.issue-masthead strong{color:#614452;font-size:calc(12px * var(--text-scale,1));letter-spacing:0}
.issue-cover{margin:12px 13px 7px;padding:17px 17px 10px;background:linear-gradient(135deg,#fff0f5,#fff9fb 55%,#fff);border-left:4px solid #e85f91;border-radius:4px 15px 15px 4px;position:relative}.issue-cover:after{content:'✧';position:absolute;right:13px;top:8px;color:#cc9b55;font-size:calc(22px * var(--text-scale,1))}.issue-label{font-size:calc(10px * var(--text-scale,1));font-weight:800;color:#ae4771;letter-spacing:.09em}.issue-cover h2{font-size:calc(20px * var(--text-scale,1));line-height:1.35;color:#713950;margin:7px 18px 5px 0}.issue-cover>p{font-size:calc(13px * var(--text-scale,1));line-height:1.65;margin:0 0 7px;color:#503946}.issue-calm{padding:15px 18px}.issue-calm span{display:block;color:#af6a87;font-size:calc(11px * var(--text-scale,1))}.issue-calm strong{display:block;margin:5px 0;color:#614452}.issue-calm p{font-size:calc(12px * var(--text-scale,1));margin:0;color:#725f68}
.issue-notes{padding:6px 17px 10px}.issue-notes h3{font-size:calc(12px * var(--text-scale,1));color:#8e5270;letter-spacing:.06em;margin:0 0 4px}.issue-notes h3 small{font-weight:400}.issue-notes details{border-bottom:1px solid #f2e6ea}.issue-notes details:last-child{border:0}.issue-notes summary{list-style:none;cursor:pointer;padding:8px 0;font-size:calc(13px * var(--text-scale,1));font-weight:600}.issue-notes summary::-webkit-details-marker{display:none}.issue-notes summary:before{content:'◇';margin-right:8px;color:#dd789b}.issue-notes details[open] summary:before{content:'◆'}.issue-notes p{font-size:calc(12px * var(--text-scale,1));line-height:1.6;margin:0 0 8px 19px;color:#654d59}
.month-issue .monthly-changes{margin:0 13px 12px;padding:10px 12px;background:#fbf6f8;border:0;border-radius:9px}.month-issue .monthly-changes h3{font-size:calc(11px * var(--text-scale,1));margin:0 0 6px}.month-issue .change{box-shadow:none;border:1px solid #efdde5;background:white;border-radius:8px}
.month-issue .network-peek{margin:7px 0 0;padding:8px 0 0;border:0;border-top:1px dashed #e7b5c7;background:transparent;border-radius:0}.month-issue .network-peek .network-post{background:#fff;padding:5px 8px;border:1px solid #f1dce4;margin:5px 0}.month-issue .network-post.board{background:#f7f2f5}.month-issue>.network-peek{margin:0 13px 13px;padding:9px}
.month-issue>.choice-card{margin:13px;border-radius:13px}.month-issue .decision-result{margin:8px 13px}.game-page .card,.game-page .mini-card,.game-page .view-section{box-shadow:none;border-color:#ead9e2;background:#fff}.game-page .view-heading{margin-top:10px}
.debut-page .debut-card{box-shadow:0 9px 27px #c97d9b20;border-radius:18px;background:linear-gradient(160deg,#fff,#fff1f6);border:1px solid #efcbd9;outline:0}.debut-page .debut-card:before{color:#c787ab}.debut-page .debut-talent{background:#fff;border:1px solid #f0d8e1;box-shadow:none}
@media(max-width:600px){.game-page{padding:8px 10px 30px}.game-page .idol-summary{padding:10px 13px}.game-page .summary-name h1{font-size:calc(18px * var(--text-scale,1))}.game-page .game-controls{top:0;padding:6px 9px}.game-page .mode-row{flex-wrap:nowrap;overflow-x:auto}.game-page .mode-chip{flex:0 0 auto;font-size:calc(11px * var(--text-scale,1));padding:5px 7px}.game-page .main-tabs button{font-size:calc(11px * var(--text-scale,1));padding:9px 5px}.game-page .summary-date .save-state{margin-left:auto}.issue-cover h2{font-size:calc(18px * var(--text-scale,1))}.issue-cover{margin:10px 10px 5px;padding:14px 13px 9px}.issue-notes{padding:5px 13px 9px}.game-page .transport>span{font-size:calc(10px * var(--text-scale,1))}.game-page .transport .play-button,.game-page .transport .step-button{font-size:calc(12px * var(--text-scale,1));padding:5px 9px}}
.issue-note .network-peek{margin:0 0 8px 19px}.issue-topic{margin:0 13px 13px;border-top:1px solid #f1e2e8;padding-top:8px}.issue-topic>span{font-size:calc(11px * var(--text-scale,1));color:#8e5270}.issue-topic .network-peek{margin:3px 0 0}

/* A separate, compact stage for the optional quick play mode. */
.mode-pick{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.mode-pick button{border:2px solid #f4c4d5;border-radius:18px;background:#fff;color:#654550;padding:12px 8px;font-weight:800;min-height:65px}.mode-pick button.selected{border-color:#f35b93;background:#ffe2ec;box-shadow:0 4px 0 #e590af}.mode-pick small{display:block;font-size:calc(11px * var(--text-scale,1));font-weight:500;margin-top:3px}.quick-game{min-height:100dvh;background:radial-gradient(circle at 50% 14%,#fff 0,#fff2f7 45%,#ffe2ec 100%);padding:20px 15px 45px;color:#654550}.quick-stage{position:relative;overflow:hidden;max-width:620px;margin:16px auto 8px;min-height:min(75dvh,650px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(150deg,#fff,#fff6fa 60%,#ffe4ef);border:2px solid #ffc1d5;border-radius:32px;box-shadow:0 12px 0 #f9bfd3,0 24px 36px #bd558536;padding:28px 19px}.quick-stage:before{content:'';position:absolute;inset:10px;border:1px dashed #f7b5ca;border-radius:24px;pointer-events:none}.quick-spark{position:absolute;top:18px;color:#f35b93;font-size:calc(23px * var(--text-scale,1));letter-spacing:2em;white-space:nowrap;animation:quickShine .7s ease-out both}.quick-date{font-size:calc(19px * var(--text-scale,1));font-weight:800;margin:20px 0 2px}.quick-stage>small{font-size:calc(12px * var(--text-scale,1))}.quick-feature{width:100%;margin:30px 0 22px;animation:quickReveal .55s ease-out both}.quick-label{display:inline-block;border-radius:30px;background:#ffe2ec;padding:7px 16px;color:#be3b70;font-size:calc(11px * var(--text-scale,1));font-weight:900;letter-spacing:.1em}.quick-feature h1{color:#b52e66;font-size:clamp(23px,6vw,40px);line-height:1.35;margin:17px 0 9px}.quick-feature p{font-size:calc(15px * var(--text-scale,1));line-height:1.65;margin:0 auto;max-width:32em}.quick-deltas{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;min-height:45px}.quick-deltas span{background:white;border:1px solid #ffd0df;border-radius:20px;padding:10px 13px;font-size:calc(12px * var(--text-scale,1))}.quick-deltas b{font-size:calc(16px * var(--text-scale,1));color:#d83f79;margin-left:5px}.quick-actions{display:flex;gap:10px;justify-content:center;margin-top:25px;width:100%}.quick-actions .btn{min-height:48px}.quick-actions .primary{flex:1;max-width:260px}.quick-state{margin-top:14px;color:#855f6e}.quick-special{background:radial-gradient(circle at 50% 20%,#fff,#ffe1ed 65%,#ffd0e3);border-color:#ff91b6}.quick-special .quick-feature h1{text-shadow:0 2px 0 white}.quick-stage.moment-scandal,.quick-stage.moment-disband{background:linear-gradient(#fff,#f2ebf1);border-color:#bfaab9}.quick-detail,.quick-footer button{display:block;margin:9px auto;background:none;color:#986477;text-decoration:underline;font-size:calc(12px * var(--text-scale,1));padding:8px}.quick-end{min-height:85dvh;max-width:620px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:25px;background:radial-gradient(circle,#fff,#ffe2ec);color:#654550}.quick-end>span{color:#d83f79;letter-spacing:.15em;font-size:calc(12px * var(--text-scale,1))}.quick-end h1{font-size:clamp(26px,7vw,42px);color:#b52e66}.quick-end-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.quick-end-grid div{border:1px solid #ffc9da;background:#fff;border-radius:17px;padding:16px;font-size:calc(12px * var(--text-scale,1))}.quick-end-grid b{display:block;font-size:calc(21px * var(--text-scale,1));color:#c93c73;margin-top:5px}.quick-end .btn{width:100%;max-width:340px}@keyframes quickReveal{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}@keyframes quickShine{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.quick-stage *{animation:none!important;transition:none!important}}@media(max-width:380px){.quick-actions{flex-direction:column}.quick-actions .primary{max-width:none}.quick-stage{padding:25px 14px}}
.quick-stage .choice-card{width:100%;text-align:left;box-shadow:none;margin:18px 0 0;padding:16px;border-radius:20px}.quick-stage .choice-card h2{font-size:calc(20px * var(--text-scale,1))}.quick-stage .choice-card p{font-size:calc(13px * var(--text-scale,1));line-height:1.5}.quick-stage .choice-options{gap:7px}.quick-stage .choice-option{min-height:48px;padding:8px 12px;font-size:calc(13px * var(--text-scale,1))}.quick-stage .choice-kicker{font-size:calc(11px * var(--text-scale,1))}.quick-stage:has(.choice-card){justify-content:flex-start;min-height:0}.quick-stage:has(.choice-card) .quick-feature{display:none}
.title-mode{max-width:600px;margin:25px auto 12px;text-align:center;color:#654550}.title-mode h2{font-size:calc(17px * var(--text-scale,1));margin:0 0 10px;color:#ae3a6b}.title-mode .mode-pick{text-align:left;margin:0}.title-mode .mode-pick button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;min-height:145px}.title-mode .mode-pick b{font-size:calc(15px * var(--text-scale,1))}.title-mode .mode-pick strong{color:#c83d77;font-size:calc(12px * var(--text-scale,1))}.title-mode .mode-pick small{line-height:1.5;font-size:calc(11px * var(--text-scale,1))}.title-mode>p{font-size:calc(10px * var(--text-scale,1));line-height:1.5;margin:10px 0;color:#805a69}.debut-mode-label{text-align:center;font-weight:800;color:#ba4075;font-size:calc(12px * var(--text-scale,1));margin:14px 0 4px}@media(max-width:380px){.title-mode .mode-pick{grid-template-columns:1fr}.title-mode .mode-pick button{min-height:0}}
.member-memory{margin-top:12px;border-top:1px dashed #f0b6cd;padding-top:9px}.member-memory summary{font-weight:800;color:#bf4779;cursor:pointer}.member-memory p{font-size:calc(11px * var(--text-scale,1));line-height:1.5;margin:8px 0}.quick-memories{width:100%;border-radius:18px;background:#fff8fb;padding:13px;border:1px solid #f7c4d6;text-align:left}.quick-memories p{margin:6px 0;font-size:calc(12px * var(--text-scale,1))}
/* A separate, reversible choice before any new profile is generated. */
.mode-select-page{min-height:calc(100dvh - 76px);display:grid;place-items:center;padding:14px 16px 28px;background:radial-gradient(circle at 50% 12%,#fff 0,#fff4f8 48%,#ffe0eb 100%);color:#654550}.mode-select-panel{width:min(100%,760px);padding:12px 4px}.mode-back{color:#9f4569;background:#fff;border:1px solid #fac7d8;border-radius:50px;padding:9px 15px;font-weight:700;min-height:40px}.mode-select-heading{text-align:center;margin:10px 0 16px}.mode-select-heading span{color:#f35b93;letter-spacing:1em}.mode-select-heading h1{font-size:clamp(21px,5.4vw,32px);margin:7px 0;color:#c33168}.mode-select-heading p{margin:0;font-size:calc(13px * var(--text-scale,1))}.mode-select-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mode-option{background:linear-gradient(#fff,#fffafd);border:2px solid #f5c0d1;border-radius:25px;padding:17px;box-shadow:0 6px 0 #f5bfd1;display:flex;flex-direction:column;gap:7px}.mode-option-quick{background:linear-gradient(145deg,#fff,#ffe5ef);border-color:#ff91b6}.mode-option-top{display:flex;justify-content:space-between;align-items:center;gap:5px;color:#c63d70;font-weight:900}.mode-option-top b{font-size:calc(11px * var(--text-scale,1));white-space:nowrap;background:#ffe2ec;padding:5px 8px;border-radius:30px}.mode-option h2{font-size:calc(17px * var(--text-scale,1));line-height:1.35;margin:1px 0}.mode-option p{font-size:calc(13px * var(--text-scale,1));line-height:1.5;margin:0;min-height:2.8em}.mode-option small{font-size:calc(11px * var(--text-scale,1));color:#845966}.mode-option-button{width:100%;min-height:48px;border:1px solid #ed6799;border-radius:999px;background:linear-gradient(#ffb3cd,#ff70a5);box-shadow:0 5px 0 #d94f82,inset 0 2px 2px #fff9;color:#592b40;font-weight:900;margin-top:auto;padding:8px}.mode-select-note{text-align:center;font-size:calc(11px * var(--text-scale,1));color:#805666;margin:17px 0 0}
@media(max-width:620px){.mode-select-page{padding:10px 15px 25px;align-items:center}.mode-select-heading{margin:5px 0 12px}.mode-select-options{grid-template-columns:1fr;gap:10px}.mode-option{padding:12px 14px;gap:4px;border-radius:20px}.mode-option h2{font-size:calc(16px * var(--text-scale,1))}.mode-option p{font-size:calc(12px * var(--text-scale,1));min-height:0}.mode-option-button{min-height:44px}.mode-select-note{margin-top:12px}}
.quick-stage.quick-song{background:radial-gradient(circle at 50% 0,#fff,#fff2f7 55%,#ffd8e9)}.quick-stage.quick-live{background:radial-gradient(circle at 50% 0,#fff,#fff0f7 50%,#fbd8e7);border-color:#f393bb}.quick-stage.quick-rank{background:radial-gradient(circle at 50% 0,#fff9e9,#fff0f6 60%,#ffe1e8)}.quick-stage.quick-farewell{background:linear-gradient(150deg,#fff,#fff7f8,#f3e7ef)}.quick-stage.quick-daily{background:linear-gradient(150deg,#fff,#fffafc,#ffe9f1)}.quick-stage.quick-song .quick-label,.quick-stage.quick-rank .quick-label{box-shadow:0 3px 0 #f6abc6}.quick-stage.quick-live .quick-spark{font-size:calc(27px * var(--text-scale,1))}.quick-stage.quick-farewell .quick-spark{color:#9e738c}.quick-dialogue,.quick-sidebeat{width:100%;max-width:32em;margin:0 auto 13px;background:#fff9;border:1px solid #f9c7d8;border-radius:16px;padding:9px 14px;text-align:left;animation:quickReveal .55s ease-out both}.quick-dialogue>span,.quick-sidebeat b{color:#bd4074;font-size:calc(12px * var(--text-scale,1));font-weight:900}.quick-dialogue>span small{color:#82616d;font-weight:500;margin-left:6px}.quick-dialogue p{font-size:calc(14px * var(--text-scale,1));line-height:1.45;margin:4px 0}.quick-side-context,.quick-sidebeat span{display:block;color:#765362;font-size:calc(11px * var(--text-scale,1));line-height:1.5;margin-top:4px}.quick-teaser{font-size:calc(12px * var(--text-scale,1));line-height:1.5;color:#9a476c;margin:2px auto 14px}.quick-stage .quick-feature{margin:16px 0 12px}.quick-stage .quick-feature h1{margin:10px 0 7px}.quick-stage .quick-feature p{font-size:calc(14px * var(--text-scale,1))}.quick-stage .quick-actions{margin-top:15px}@media(max-height:700px){.quick-stage{min-height:0;padding:18px 16px}.quick-date{margin:9px 0 2px}.quick-stage .quick-feature{margin:11px 0 9px}}
@media(prefers-reduced-motion:reduce){.mode-option-button,.quick-dialogue,.quick-sidebeat{animation:none!important;transition:none!important}}
.debut-roulette{max-width:540px;margin:24px auto;padding:24px 18px;text-align:center;border-radius:28px;background:linear-gradient(145deg,#fff,#ffe3ed);box-shadow:0 8px 0 #e6a9bd,0 14px 30px #eaa9bd44}.debut-roulette h2{font-size:1.1rem}.roulette-window{display:grid;place-items:center;min-height:130px;padding:14px;border-radius:20px;background:#fff;box-shadow:inset 0 4px 8px #edd0db;font-size:clamp(1.4rem,6vw,2rem);font-weight:900;color:#b42c65;overflow-wrap:anywhere}.debut-roulette ol{padding:0;list-style:none;text-align:left;min-height:7em;font-size:.9rem}.debut-roulette li{margin:8px 0}.debut-roulette button{min-height:44px;border:0;border-radius:16px;padding:10px 22px;color:#943359;background:#ffd4e4;box-shadow:0 4px 0 #dba4b8}.roulette-hit{animation:roulette-pop .25s ease-out}@keyframes roulette-pop{from{transform:scale(.9)}60%{transform:scale(1.035)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.roulette-hit{animation:none}}
.result-story{max-width:650px;margin:auto}.result-hero{padding:24px 18px;border-radius:28px;background:linear-gradient(#fff6fa,#ffdce9);box-shadow:0 7px 0 #dca1b8;text-align:center}.result-hero h1{font-size:clamp(1.5rem,6vw,2.5rem);line-height:1.4;animation:roulette-pop .5s ease-out}.result-hero blockquote{font-weight:800;font-size:1.6em;line-height:1.6;margin:24px 0;overflow-wrap:anywhere;white-space:pre-wrap}.result-hero .btn{margin:6px;max-width:100%}.result-facts p{animation:roulette-pop .6s ease-out}.theme-gold .result-hero{background:linear-gradient(#fffbe6,#f8dfa2)}.theme-quiet .result-hero{background:linear-gradient(#faf8fc,#dfd8e5)}.theme-storm .result-hero{background:linear-gradient(#fff0f5,#d7b0d1)}.theme-late .result-hero{background:linear-gradient(#f8efff,#ddd1f5)}.result-more{margin-top:25px}.result-more summary{padding:16px;font-weight:bold;cursor:pointer}.result-more .page{padding:0}#farewellInput{display:block;width:100%;min-height:130px;font:inherit;margin:12px 0}.motion-off *{animation:none!important}@media(prefers-reduced-motion:reduce){.result-story *{animation:none!important}}
.result-hero blockquote{animation:roulette-pop .45s .25s both}.result-facts p:nth-child(1){animation-delay:.45s;animation-fill-mode:both}.result-facts p:nth-child(2){animation-delay:.6s;animation-fill-mode:both}.result-facts p:nth-child(3){animation-delay:.75s;animation-fill-mode:both}
.result-story .result-hero{position:relative;overflow:hidden;padding:30px clamp(15px,4vw,32px);color:#55334f;animation:ending-arrive .65s both}.ending-eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.16em;color:#b35a91}.result-story .result-hero h1{font-size:clamp(1.85rem,7vw,3.2rem);line-height:1.3;margin:8px 0 12px;text-wrap:balance;overflow-wrap:anywhere}.ending-line{font-size:clamp(1.04rem,3.8vw,1.25rem);line-height:1.65;font-weight:700}.ending-duration{font-size:clamp(1.2rem,4.5vw,1.75rem);font-weight:900;color:#a64d86;margin:15px 0}.ending-identity{font-size:.9rem;color:#876c81;overflow-wrap:anywhere}.ending-reason,.ending-comment{margin:20px 0;padding:15px;border-radius:17px;background:#ffffffb8;border:1px solid #e5b9d2;text-align:left;line-height:1.65}.ending-reason b,.ending-comment b{color:#974b80}.ending-reason p{margin:6px 0;font-weight:750;overflow-wrap:anywhere}.ending-reason small{display:block;color:#776574}.result-story .ending-comment blockquote{font-size:1.05rem;margin:8px 0 0;font-weight:650;animation:none}.result-story .result-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;text-align:left;margin:18px 0}.result-story .result-facts span{padding:10px;border-radius:12px;background:#fff9fc;border:1px solid #f0dce9;font-size:.85rem;font-weight:750}.result-story .ending-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.result-story .ending-actions .btn{margin:2px;min-height:42px;font-size:.88rem}.ending-gold .result-hero{background:linear-gradient(145deg,#fffbea,#f7dfaa 65%,#f9dbea)}.ending-quiet .result-hero,.ending-long .result-hero{background:linear-gradient(145deg,#fffafd,#e8ddec)}.ending-disband .result-hero{background:linear-gradient(150deg,#fbe7f1,#c5a4cb)}.ending-sudden .result-hero{background:linear-gradient(145deg,#fbe6f2,#d8b6d9)}.ending-shock .result-hero{background:linear-gradient(145deg,#f4d6ef,#ae78bb 55%,#f6d5e9);box-shadow:0 8px 0 #834b8d;animation:ending-shock 1.3s both}.ending-shock .result-hero h1{color:#6a266a;text-shadow:0 2px 0 #fff,0 5px 12px #773c7088}.ending-shock .ending-duration{color:#69236d}.ending-impact{display:inline-block;border-radius:100px;padding:4px 20px;background:#fff8fd;border:3px solid #ba66a5;color:#982c89;font-size:clamp(2.2rem,11vw,4rem);font-weight:1000;line-height:1.2;box-shadow:0 6px 0 #8b5197,0 10px 20px #63376855;animation:ending-pop .75s ease-out both}.ending-gold .result-hero:before,.ending-graduation .result-hero:before{content:'✦  ♡  ✧';display:block;color:#db83b6;font-size:1.15rem;letter-spacing:1.3em;pointer-events:none}@keyframes ending-arrive{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ending-pop{0%{transform:scale(.55) translateY(18px);opacity:.6}50%{transform:scale(1.14);opacity:1}75%{transform:scale(.96)}100%{transform:scale(1)}}@keyframes ending-shock{0%{background:#694071;transform:translateX(-5px)}12%{transform:translateX(5px)}22%{transform:translateX(-2px)}35%{transform:none}100%{transform:none}}.motion-off,.motion-off *{animation:none!important}@media(max-width:400px){.result-story .result-facts{grid-template-columns:1fr 1fr}.result-story .result-facts span{font-size:.76rem;padding:8px}}@media(prefers-reduced-motion:reduce){.result-story,.result-story *{animation:none!important}}

.policy-card .choice-option{min-height:54px;padding:8px 12px;background:linear-gradient(#fff,#fff0f8);box-shadow:inset 0 1px #fff,0 3px 0 #dcb3cd}.policy-card .choice-option:nth-child(even){background:linear-gradient(#fff,#f3edff)}.policy-card .choice-option:active{transform:translateY(3px) scale(.99);box-shadow:inset 0 1px 2px #cfa9c1}.policy-card .choice-option strong{font-size:calc(14px * var(--text-scale,1));line-height:1.3;min-width:0}.policy-card .policy-summary{font-size:calc(10px * var(--text-scale,1));line-height:1.25;font-weight:500;margin-top:3px}.policy-card .choice-options{gap:8px;margin:10px 0}
.member-color-picker{margin:12px auto 18px;padding:13px;border:1px solid #e7bfd4;border-radius:18px;background:linear-gradient(145deg,#fff9fc,#f9efff);box-shadow:0 5px 0 #e6c6db}.member-color-picker h2{font-size:16px;margin:0 0 8px;color:#8d4d73}.color-mode{display:flex;align-items:center;gap:10px;font-size:11px;color:#966c84}.color-mode button{border:1px solid #dab1ca;border-radius:20px;background:white;padding:7px 12px;color:#9f5880}.color-mode button.active{background:#f7d9e9;box-shadow:inset 0 2px 3px #b484a244}.color-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.color-options button{display:flex;align-items:center;gap:4px;border:1px solid #edd5e3;border-radius:20px;background:white;padding:5px 8px;min-height:32px;font-size:11px;color:#79536b}.color-options button.selected{border-color:#a85288;box-shadow:0 2px 0 #ce91b3;background:#fff0f8}.color-options i{width:15px;height:15px;border-radius:50%;background:var(--swatch);border:1px solid #9d8a98;box-shadow:inset 0 1px 2px #fff7}
/* Make the debut color choice explicit: current color, random mode, then choices. */
.member-color-picker{padding:14px 13px 13px}.member-color-picker .color-help{margin:0 0 10px;font-size:calc(12px * var(--text-scale,1));line-height:1.45;color:#79566b}.color-current{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #efd3e2;border-radius:14px;background:#fff;margin-bottom:8px}.color-current-swatch{width:30px;height:30px;flex:none;border-radius:50%;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #b99aaa,inset 0 1px 2px #fff9}.color-current>span:nth-child(2){display:flex;flex-direction:column;gap:1px}.color-current small{font-size:10px;color:#966c84}.color-current b{font-size:14px;color:#60394e}.color-current em{margin-left:auto;font-size:10px;font-style:normal;font-weight:800;color:#9a4b76;background:#ffedf5;border-radius:20px;padding:5px 8px;white-space:nowrap}.color-random{display:block;width:100%;min-height:40px;border:1px solid #d9b4ca;border-radius:13px;background:#fff;color:#8d4c70;font-weight:800;font-size:calc(12px * var(--text-scale,1));box-shadow:0 3px 0 #ead4e0}.color-random.active{background:#f8e1ed;border-color:#c97ba3;color:#783b60;box-shadow:inset 0 2px 3px #bd8aa344}.color-grid-label{font-size:11px;font-weight:800;color:#80516c;margin:13px 0 7px}.color-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:0}.color-options button{position:relative;min-width:0;min-height:52px;justify-content:center;flex-direction:column;gap:3px;padding:5px 2px;border-radius:13px;font-size:10px;box-shadow:0 2px 0 #f1e1e9}.color-options i{width:19px;height:19px;flex:none}.color-options button.selected{outline:2px solid #a85288;outline-offset:1px;background:#fff0f8;box-shadow:0 3px 0 #ce91b3}.color-options button.selected>b{position:absolute;right:4px;top:3px;width:15px;height:15px;border-radius:50%;background:#a85288;color:#fff;font-size:9px;line-height:15px}.color-options button.random-current{border-style:dashed;border-color:#c5a0b5;background:#fffafd}.color-options button:focus-visible,.color-random:focus-visible{outline:3px solid #87456a;outline-offset:2px}@media(max-width:360px){.member-color-picker{padding:12px 10px}.color-options{gap:5px}.color-options button{font-size:9px}}
.debut-color-row{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:6px auto 12px;padding:7px 8px;border:1px solid #efc7dc;border-radius:14px;background:#fff7fb;line-height:1.3}.debut-color-row>span:first-child{font-size:calc(11px * var(--text-scale,1));font-weight:800;color:#87526f}.debut-color-value{display:inline-flex;align-items:center;gap:5px;font-size:calc(12px * var(--text-scale,1));white-space:nowrap}.debut-color-value i{display:block;width:19px;height:19px;flex:none;border-radius:50%;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #aa8da0}.debut-color-row button{padding:4px 9px;min-height:32px;border:1px solid #cd82a9;border-radius:10px;background:linear-gradient(#fff,#ffe5f0);box-shadow:0 2px 0 #d9a3bf;color:#8b3e69;font-size:calc(11px * var(--text-scale,1));font-weight:900;white-space:nowrap}.debut-color-row button:active{transform:translateY(2px);box-shadow:none}dialog:has(.member-color-picker){width:min(420px,calc(100vw - 22px));padding:38px 12px 12px;max-height:calc(100dvh - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overscroll-behavior:contain}dialog .member-color-picker{margin:0;box-shadow:none}dialog .member-color-picker h2{padding-right:22px}@media(max-width:360px){.debut-color-row{gap:5px}.debut-color-row>span:first-child{font-size:10px}dialog:has(.member-color-picker){padding-left:8px;padding-right:8px}}
.choice-option .rest-summary{display:block;margin-top:3px;font-size:calc(10px * var(--text-scale,1));line-height:1.4;color:#8b6177;font-weight:500}
.share-preview{max-width:490px;margin:auto;color:#583852}.share-preview h2{font-size:22px;text-align:center}.share-preview img{display:block;width:min(100%,330px);max-height:48vh;object-fit:contain;margin:12px auto;border-radius:18px;box-shadow:0 8px 22px #87547738}.share-switch{display:flex;gap:7px;justify-content:center;margin:12px 0}.share-switch button{flex:1;border:1px solid #edc5df;border-radius:16px;background:#fff8fd;color:#7d456d;padding:9px 4px;font-size:13px;font-weight:800}.share-switch button.selected{background:#d961a5;color:white;box-shadow:0 4px 0 #a94382}.share-preview label{display:block;font-weight:800;margin-top:12px}.share-preview textarea{box-sizing:border-box;width:100%;min-height:88px;border:2px solid #ebcce2;border-radius:14px;padding:10px;font:inherit;color:#483149;background:#fff}.share-preview small{display:block;text-align:right;color:#80687b}.share-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.share-controls .btn{font-size:13px;padding:10px 4px;min-height:42px}.share-controls [data-action="shareNative"]{grid-column:1/-1}.share-note{font-size:12px;line-height:1.5;color:#796b7b}

/* Help and terms dialog */
dialog:has(.help-panel){width:min(690px,calc(100vw - 20px));max-height:min(88dvh,820px);overflow-y:auto;overscroll-behavior:contain;padding:18px clamp(14px,4vw,30px) 26px;scrollbar-gutter:stable;}
dialog:has(.help-panel)>.close{position:sticky;top:0;z-index:5;float:right;width:44px;height:44px;min-width:44px;margin:0 -8px -44px 0;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 3px 12px rgba(94,42,91,.18);}
.help-tabs{display:flex;gap:8px;padding:4px 52px 12px 0;clear:both;position:sticky;top:0;z-index:3;background:linear-gradient(#fff9fd 80%,rgba(255,249,253,0));}
.help-tabs button{flex:1;min-height:42px;border:1px solid #e7c5dc;border-radius:999px;background:#fff;color:#75516f;font:inherit;font-size:13px;font-weight:700;box-shadow:0 2px 0 #eed8e8;}
.help-tabs button.active{color:#fff;border-color:#bf71a3;background:linear-gradient(135deg,#d98cba,#a875c7);box-shadow:0 3px 0 #9962a1;}
.help-panel{color:#503c53;line-height:1.65;}
.help-panel h2{margin:8px 0 6px;text-align:center;font-size:clamp(20px,5vw,27px);color:#784b7b;}
.help-lead{text-align:center;margin:0 0 14px;color:#7a637c;font-size:14px;font-weight:700;}
.help-steps{list-style:none;padding:0;margin:0;display:grid;gap:9px;}
.help-steps li{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;padding:11px 13px;border:1px solid #f0d9e9;border-radius:17px;background:linear-gradient(135deg,#fff,#fff5fb);box-shadow:0 3px 0 rgba(210,157,195,.22);}
.help-steps li>b{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#e69ac3,#ac83cd);font-size:13px;box-shadow:inset 0 2px 2px #ffffff8a,0 2px 3px #c692be66;}
.help-steps h3{margin:0 0 2px;font-size:15px;color:#6f4676;}
.help-steps p{margin:0;font-size:13px;line-height:1.55;color:#665568;}
.help-terms{font-size:13px;line-height:1.75;}
.help-terms>p{margin:8px 0 14px;}
.help-terms section{margin:12px 0;padding:13px 14px;border:1px solid #f0d9e9;border-radius:16px;background:linear-gradient(145deg,#fff,#fff8fc);}
.help-terms section h3{margin:0 0 6px;font-size:15px;color:#75497b;}
.help-terms section p{margin:6px 0;}
.help-terms ul{margin:4px 0;padding-left:1.4em;}
@media(max-width:480px){dialog:has(.help-panel){width:calc(100vw - 14px);max-height:90dvh;padding:12px 12px 20px}.help-tabs{gap:6px;padding-bottom:10px}.help-tabs button{font-size:12px;min-height:42px}.help-steps{gap:7px}.help-steps li{padding:9px 10px;grid-template-columns:38px 1fr;gap:8px}.help-steps li>b{width:34px;height:34px}.help-steps h3{font-size:14px}.help-steps p{font-size:12.5px}.help-terms{font-size:12.5px}.help-terms section{padding:11px 12px;margin:9px 0}}
