/* First Stage — quiet blue, ivory and champagne game chrome. */
:root{--ink:#405e7d;--muted:#8296ae;--gold:#bba77d;--line:#bacadb;--paper:#f7f8ef}button{transition:background .18s,box-shadow .18s,transform .18s}button:focus:not(:focus-visible){outline:none}button:focus-visible{outline:2px solid #aabed4;outline-offset:3px}.room-brand>span{color:#4d6781;text-shadow:0 1px 9px #fff9}.room-brand:after{content:'';display:block;width:45px;height:1px;background:linear-gradient(90deg,#b9a77c,transparent);margin-top:8px}.dialogue{background:linear-gradient(105deg,#f9faf2f0,#eaf2f8ed);border:1px solid #b9c9d9;box-shadow:0 8px 30px #2f4c6817,inset 0 0 0 4px #ffffff6b;border-radius:5px}.dialogue:before,.dialogue:after{content:'';position:absolute;width:12px;height:12px;border-color:#bba77d;pointer-events:none}.dialogue:before{top:7px;left:7px;border-top:1px solid;border-left:1px solid}.dialogue:after{right:7px;bottom:7px;border-right:1px solid;border-bottom:1px solid}.speaker{background:#617c99;color:#f5f7ed;border:1px solid #b6c8d9;border-radius:2px;box-shadow:0 2px 5px #38516b20;letter-spacing:1px}.schedule-main{background:linear-gradient(115deg,#66819d,#7995af);border:1px solid #bcc9cf;border-radius:3px;box-shadow:inset 0 0 0 3px #fff2,0 5px 17px #304d6a24;letter-spacing:1.5px}.schedule-main:before,.schedule-main:after{content:'';display:inline-block;width:5px;height:5px;transform:rotate(45deg);border:1px solid #e0d7bb;margin:0 14px;vertical-align:3px}.schedule-main:hover{background:linear-gradient(115deg,#748fac,#8ca6ba);box-shadow:inset 0 0 0 3px #fff3,0 6px 20px #3c5a7933}.profile-heading{border-color:#bacbd9!important;background:linear-gradient(125deg,#f9fbf1c9,#edf4f5a8)!important;box-shadow:inset 0 -2px 0 #b7a77c30,0 4px 20px #405c7410!important;border-radius:3px!important}.name-menu{color:#496583}.budget{background:linear-gradient(120deg,#fafbf2c9,#eaf1f5a3)!important;border:1px solid #b7c9d57d!important;border-radius:3px!important;box-shadow:inset 0 0 0 3px #fff3!important}.calendar{background:#f8fbf1b5!important;border-color:#bdcbd5aa!important;border-radius:3px!important;box-shadow:inset 0 0 0 3px #ffffff40!important}.compact-date{color:#5c7895}.compact-date span{color:#9a946f}.stats-disclosure{background:#f7faf0c7!important;border-color:#bdcbd5a8!important;border-radius:3px!important;box-shadow:inset 0 0 0 3px #fff3!important}.stats-disclosure summary{color:#627e9a}.stats-disclosure[open]{background:linear-gradient(135deg,#f8faf3f5,#eaf2f8f5)!important;box-shadow:0 10px 35px #2d4a6c22!important}.settings-launcher{background:#f4f8efc4;border-color:#becdd8;border-radius:5px;color:#68839f;box-shadow:inset 0 0 0 3px #fff3}.phone-case{border-color:#6c8196;outline-color:#bdcbd5;box-shadow:inset 0 0 0 2px #d7e4ef,0 4px 12px #405c7b25}
/* Destination choice as a little illustrated ticket. */
.month-outing-dialog{position:relative;isolation:isolate;background:linear-gradient(145deg,#fcfbf3,#f1f5f6 65%,#eaf1f7);border:1px solid #b6c9d8;border-radius:7px;box-shadow:0 22px 90px #1d365a4a,inset 0 0 0 5px #fff8;padding:30px 27px}.month-outing-dialog::before{content:'';position:absolute;inset:10px;border:1px solid #c1b18c70;border-radius:2px;pointer-events:none;z-index:-1}.month-outing-dialog::after{content:'✧';position:absolute;top:20px;right:26px;font-family:Georgia,serif;font-size:35px;color:#b8a57a;font-weight:400;pointer-events:none}.month-outing-dialog>.eyebrow{color:#9a8d70;font-size:9px;letter-spacing:3px;padding-left:19px;position:relative}.month-outing-dialog>.eyebrow:before{content:'';position:absolute;left:0;top:3px;width:6px;height:6px;border:1px solid #b3a17b;transform:rotate(45deg)}.month-outing-dialog>h1{color:#435f7f;margin-top:14px}.month-outing-dialog>p{color:#7e91a7}.month-outing-dialog .outing-choices{counter-reset:outing;position:relative;gap:14px;margin-top:22px}.month-outing-dialog .outing-choices button{counter-increment:outing;position:relative;isolation:isolate;overflow:hidden;border:1px solid #bdcddd;border-radius:4px;background:linear-gradient(110deg,#fbfcf6f5,#e7eff7e8);box-shadow:inset 0 0 0 3px #ffffff9c,0 4px 12px #4264840a;padding:18px 15px 18px 17px;transition:transform .18s,box-shadow .18s,border-color .18s}.month-outing-dialog .outing-choices button:before{content:counter(outing,decimal-leading-zero);position:absolute;right:13px;top:9px;font-family:Georgia,serif;font-size:10px;letter-spacing:1px;color:#a89b7f;z-index:1}.month-outing-dialog .outing-choices button:after{content:'';position:absolute;right:0;top:0;bottom:0;width:38%;z-index:-1;background:linear-gradient(90deg,#edf3f7ee,#edf3f77a),url('assets/school.jpg') center/cover;opacity:.45;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000)}.month-outing-dialog .outing-choices button[data-outing=city]:after{background-image:linear-gradient(90deg,#edf3f7ee,#edf3f76b),url('assets/city.jpg')}.month-outing-dialog .outing-choices button[data-outing=audition]:after{background-image:linear-gradient(90deg,#edf3f7ee,#edf3f76b),url('assets/events/audition_waiting.jpg')}.month-outing-dialog .outing-choices button:hover{transform:translateY(-2px);border-color:#8da9c1;box-shadow:inset 0 0 0 3px #fff,0 8px 20px #3c5e7b1c}.month-outing-dialog .outing-choices button:active{transform:translateY(1px);box-shadow:inset 0 0 0 3px #fff7}.month-outing-dialog .outing-choices button>.icon-wrap{color:#7996b1;filter:drop-shadow(0 1px 0 #fff)}.month-outing-dialog .outing-choices strong{color:#4b698b;line-height:1.5;font-weight:400}.month-outing-dialog .outing-choices small{color:#8a9db2;letter-spacing:-.3px}.month-outing-dialog .outing-choices strong:after{content:'›';position:absolute;right:14px;top:43%;font-family:Georgia,serif;font-size:24px;color:#a99c7c;font-weight:400}.month-outing-dialog .outing-choices strong{padding-right:15px}.month-outing-dialog::backdrop{background:#2b425e66;backdrop-filter:blur(7px)}
@media(max-width:700px) and (orientation:portrait){.month-outing-dialog{padding:29px 23px 25px;width:calc(100vw - 32px);border-radius:7px}.month-outing-dialog>h1{font-size:29px;margin:16px 0 8px;letter-spacing:-.5px}.month-outing-dialog>p{font-size:14px;margin:0 0 20px}.month-outing-dialog>.eyebrow{font-size:8px;letter-spacing:2px}.month-outing-dialog .outing-choices button{min-height:98px;padding:19px 14px 16px;grid-template-columns:23px minmax(0,1fr);column-gap:9px;row-gap:9px}.month-outing-dialog .outing-choices strong{font-size:clamp(14px,4.5vw,18px);letter-spacing:-.4px;padding-right:10px}.month-outing-dialog .outing-choices small{font-size:clamp(9px,2.65vw,11px);line-height:1.7}.month-outing-dialog .outing-choices button:before{font-size:8px;top:7px;right:10px}.month-outing-dialog .outing-choices strong:after{font-size:20px;right:9px}.month-outing-dialog .outing-choices button>.icon-wrap{font-size:22px}.month-outing-dialog::after{font-size:29px;right:23px;top:21px}.dialogue{border-radius:4px}.schedule-main{border-radius:4px;letter-spacing:1px;font-size:18px}.schedule-main:before,.schedule-main:after{margin:0 10px;vertical-align:3px}}
@media(max-width:700px) and (orientation:portrait) and (max-height:650px){.month-outing-dialog{padding:24px 21px 22px}.month-outing-dialog>h1{font-size:26px;margin-top:13px}.month-outing-dialog>p{font-size:13px;margin-bottom:15px}.month-outing-dialog .outing-choices{gap:11px;margin-top:17px}.month-outing-dialog .outing-choices button{min-height:85px;padding:16px 13px 13px}}
@media(prefers-reduced-motion:reduce){.month-outing-dialog .outing-choices button{transition:none}.month-outing-dialog .outing-choices button:hover{transform:none}}
/* Framed identity and paper-ticket motifs, without enlarging the home HUD. */
.profile-heading:before{content:'';display:block;width:32px;height:32px;flex-shrink:0;margin-right:8px;border-radius:50%;border:1px solid #b5a17d;outline:2px solid #ffffff75;box-shadow:0 0 0 3px #8098ac45;background:#e7eff1 url('assets/child-sprites.png') calc(-1 * var(--portrait-x,28px)) calc(-1 * var(--portrait-y,64px))/384px 256px no-repeat}.profile-heading{align-items:center}.profile-heading h1{gap:6px}.stats-disclosure summary{border-bottom-color:#c7d1db}.stats-disclosure summary:before{content:'';display:inline-block;width:5px;height:5px;border:1px solid #ad9b79;transform:rotate(45deg);flex-shrink:0;margin-right:1px}.stats-disclosure summary>span:first-of-type{margin-right:auto}.destination-screen header{border:1px solid #bfcdd6;border-radius:3px;box-shadow:inset 0 0 0 4px #ffffff55,0 5px 20px #34516d12;background:linear-gradient(125deg,#fafaf1ee,#eef4f7e6);position:relative}.destination-screen header:after{content:'';position:absolute;inset:6px;border:1px solid #bfae8b45;pointer-events:none}.destination-options>button{border:1px solid #bacbd9;border-radius:3px;background:linear-gradient(115deg,#fbfcf4f2,#eaf2f7ed);box-shadow:inset 0 0 0 3px #ffffff70,0 5px 16px #3555710c;position:relative}.destination-options>button:before{content:'';position:absolute;left:7px;top:9px;bottom:9px;width:2px;background:linear-gradient(0deg,transparent,#b9a78088,transparent)}.destination-options>button>span{color:#ab9b7c}.destination-back{border:1px solid #c2cdd6;background:#f9fbf1dc;border-radius:3px;box-shadow:inset 0 0 0 3px #ffffff60;color:#68839f}.destination-result{border-color:#bdcbd6;border-radius:4px;box-shadow:inset 0 0 0 4px #ffffff70;background:linear-gradient(125deg,#fafbf2f2,#edf4f8ed)}
@media(max-width:700px) and (orientation:portrait){.profile-heading{padding:6px 9px}.profile-heading:before{width:28px;height:28px;margin-right:7px}.profile-heading h1 .name-menu{font-size:22px}.profile-heading h1>span{font-size:9px}.destination-screen{padding-top:calc(16px + env(safe-area-inset-top));padding-left:13px;padding-right:13px}.destination-screen header{margin-top:29dvh;padding:14px 16px;width:100%;margin-bottom:13px}.destination-screen header small{font-size:8px;letter-spacing:2px}.destination-screen header h1{font-size:24px;line-height:1.4;white-space:nowrap;margin:8px 0}.destination-screen header p{font-size:13px;line-height:1.6;margin:0;letter-spacing:-.35px}.destination-options{gap:9px}.destination-options>button{min-height:71px;padding:13px 31px 13px 17px}.destination-options strong{font-size:18px;line-height:1.45;white-space:nowrap;letter-spacing:-.4px}.destination-options small{font-size:10px;line-height:1.6;letter-spacing:-.25px;margin-top:6px}.destination-options>button>span{top:22px;right:13px;font-size:15px}.destination-back{min-height:39px;margin-top:13px;padding:8px 13px;font-size:12px}.destination-has-scene .destination-options{margin-top:43dvh}.destination-result{padding:19px}.destination-result h2{font-size:22px;line-height:1.5;margin-bottom:10px}.destination-result p{font-size:17px;line-height:1.85;margin:10px 0}.destination-result small{font-size:11px}.destination-result button{font-size:13px;min-height:44px;margin-top:18px}}
@media(max-width:700px) and (orientation:portrait) and (max-height:720px){.destination-screen header{margin-top:24dvh;padding:12px 15px;margin-bottom:11px}.destination-screen header h1{font-size:22px}.destination-screen header p{font-size:12px}.destination-options>button{min-height:66px;padding:11px 29px 11px 16px}.destination-options strong{font-size:17px}.destination-options small{font-size:9px}.destination-options{gap:8px}}
/* Schedule targets must stay in normal flow; the rhythm marker is track-only. */
.planner-slots{display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:row;overflow:visible}.plan-slot,.plan-slot.target{position:relative;inset:auto;left:auto;top:auto;right:auto;bottom:auto;width:100%;height:auto;min-width:0;min-height:64px;overflow:hidden;display:flex;flex-shrink:0}.slot-main{min-width:0;flex:1 1 0;width:0}.slot-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.slot-tools{flex:0 0 auto}.slot-tools button{white-space:nowrap}.plan-slot:not(.filled) .slot-main{width:auto;flex:1 1 auto}
@media(max-width:700px) and (orientation:portrait){.plan-slot,.plan-slot.target{min-height:65px}.slot-main{padding:11px 10px}.slot-main strong{font-size:16px}.slot-tools{gap:4px;padding-right:8px}.slot-tools button{min-width:32px;min-height:36px;padding:5px;font-size:10px}}
.social-phone-dialog{width:min(390px,calc(100vw - 36px));max-height:83dvh;padding:0 19px 18px;border:1px solid #a8bdd3;border-radius:20px;background:linear-gradient(145deg,#fcfcf5,#edf3f9);box-shadow:0 20px 90px #19385355,inset 0 0 0 4px #ffffff70;overflow:auto;scrollbar-width:thin}.social-phone-dialog::backdrop{background:#203b5b73;backdrop-filter:blur(8px)}.phone-popup-top{display:flex;align-items:center;justify-content:space-between;padding:13px 0 9px;border-bottom:1px solid #cbd7e4}.phone-popup-top>span{font-size:10px;color:#8c9fb5;letter-spacing:1px}.phone-popup-top>button{padding:6px;border:0;background:transparent;color:#718aa8;width:33px;height:33px;font-size:15px}.phone-popup-tabs{display:flex;gap:6px;margin:17px 0 22px;padding:4px;background:#e1eaf3;border:1px solid #d1ddec;border-radius:9px}.phone-popup-tabs button{flex:1;border:0;background:transparent;border-radius:6px;padding:9px;font-size:13px;min-height:37px;color:#8b9cb4}.phone-popup-tabs .active{background:#fafcf5;color:#577797;box-shadow:0 2px 7px #58749417}.social-profile{display:flex;align-items:center;gap:14px;margin-bottom:21px}.social-avatar{width:53px;height:53px;border-radius:50%;border:1px solid #b7a47f;outline:3px solid #e6edf1;flex-shrink:0;background:#dce8ed url('assets/child-sprites.png') calc(-1 * var(--social-x)) calc(-1 * var(--social-y))/384px 256px no-repeat}.social-profile small{font-size:7px;letter-spacing:2px;color:#a3967a}.social-profile h1{font-family:Diphylleia,serif;font-size:20px;margin:5px 0 3px;color:#4f6d8d;line-height:1.5}.social-profile span{font-size:10px;color:#8d9fb4}.social-numbers{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(110deg,#e4edf6,#eeeaf4);padding:18px 12px;border:1px solid #d5dfeb;border-radius:7px;margin-bottom:16px}.social-numbers>div{text-align:center}.social-numbers>div+div{border-left:1px solid #c6d4e2}.social-numbers small{font-size:10px;color:#879cb7;display:block}.social-numbers strong{font-family:Georgia,serif;font-size:29px;font-weight:400;color:#536e90;display:block;margin-top:7px;font-variant-numeric:tabular-nums}.social-numbers strong span{font-family:system-ui;font-size:10px;color:#93a4ba;margin-left:5px}.social-game-hint{display:flex;gap:9px;align-items:center;border-bottom:1px dashed #ccd7e3;padding:0 1px 16px}.social-hint-mark{color:#a6997b;font-size:18px;flex-shrink:0}.social-game-hint p{font-size:11px;color:#8a9eb6;line-height:1.8;margin:0}.social-feed-heading{font-family:Diphylleia,serif;font-size:17px;margin:19px 0 12px;color:#5b779a}.social-feed-list article{border:1px solid #e0e7ef;background:#fafbf5ce;border-radius:5px;padding:13px;margin-bottom:9px}.social-feed-list article small{font-family:Georgia,serif;font-size:10px;color:#b0a386;letter-spacing:1px}.social-feed-list article p{font-size:12px;line-height:1.85;color:#758ba7;margin:7px 0 0}.social-empty{text-align:center;color:#99a9bf;font-size:12px;line-height:1.9;padding:25px 5px}.social-phone-home{width:70px;height:3px;background:#aebfd2;border-radius:4px;margin:23px auto 0}@media(max-width:700px) and (orientation:portrait){.social-phone-dialog{width:calc(100vw - 40px);max-height:82dvh;padding:0 17px 17px;border-radius:19px}.social-profile h1{font-size:19px}.social-avatar{width:48px;height:48px}.social-feed-heading{font-size:17px}.social-numbers strong{font-size:28px}}
/* Monthly planner: a ring-bound, tabbed little diary. */
.planner-title .eyebrow{color:#aa9874;letter-spacing:2px}.planner-paper{position:relative;isolation:isolate;background:linear-gradient(95deg,#e6edf1 0 12px,#fcfbf3 12px 100%);border:1px solid #b7c9d7;border-radius:5px 15px 15px 5px;padding:22px 18px 20px 29px;box-shadow:4px 4px 0 #dde5ec,7px 7px 0 -1px #afc2d255,0 10px 30px #41658612;overflow:visible}.planner-paper:before{content:'';position:absolute;left:-7px;top:75px;width:15px;height:calc(100% - 110px);background:repeating-linear-gradient(180deg,transparent 0 15px,#91a7b9 15px 19px,#eef4f8 19px 21px,transparent 21px 66px);border-radius:5px;pointer-events:none;z-index:2}.planner-paper:after{content:'DIARY';position:absolute;right:15px;top:-12px;background:#afbdd2;border:1px solid #94abc2;padding:5px 15px;color:#f6f9f1;font:9px system-ui;letter-spacing:2px;border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 2px #ffffff3d}.planner-month{font-family:Diphylleia,serif;color:#667f9d;padding-bottom:13px;border-bottom:1px solid #cabf9d70}.planner-month>span{color:#ac9c7a}.planner-calendar{background:#f6f8f5;border:1px solid #dce3e7;border-radius:6px;padding:7px}.planner-day{background:#edf2f3;border-color:#dfe6eb;border-radius:3px}.planner-day.is-filled{box-shadow:inset 0 0 0 2px #ffffff4d}.planner-slots{position:relative;gap:12px;margin-top:22px}.plan-slot,.plan-slot.target{border-radius:3px 8px 8px 3px;border:1px solid color-mix(in srgb,var(--ink) 38%,white);background:linear-gradient(100deg,#ffffff30,var(--segment));box-shadow:inset 0 0 0 3px #ffffff4d,0 3px 8px #506c8510}.plan-slot:before{content:'';display:block;position:absolute;top:9px;bottom:9px;left:7px;border-left:1px dashed #ffffffad;pointer-events:none}.plan-slot.target{outline:1px solid #b8a17a;outline-offset:3px}.slot-main{padding:14px 12px 13px 18px}.slot-main small{font-size:9px!important;letter-spacing:1px}.slot-main strong{font-family:Diphylleia,serif;font-size:18px}.slot-tools{padding-right:9px;gap:5px}.slot-tools button{background:#fbfcf260;border:1px solid #ffffff7d;border-radius:3px;color:var(--ink)}.planner-paper>.help{border-top:1px dashed #d1c5a77a;padding-top:15px;margin-top:18px;color:#9aa8b8;font-size:11px}.planner-confirm{border-radius:4px;border:1px solid #b7cbdc;background:linear-gradient(120deg,#e9f1f8,#f5f7f0);box-shadow:inset 0 0 0 3px #ffffff5c}.planner-confirm strong{color:#607e9e}.planner-confirm button{border:1px solid #bcc9d2;box-shadow:inset 0 0 0 3px #ffffff30;background:linear-gradient(110deg,#6685a5,#829bb5);border-radius:3px}.planner-catalog.picker-open{border-radius:14px 14px 0 0;border-color:#b9cbd9;background:linear-gradient(130deg,#f9faf2,#eaf2f8)}.planner-catalog>h3{border-bottom:1px solid #cabd9f66;padding-bottom:14px}.planner-activities>button{border-radius:4px;background:linear-gradient(115deg,#fffef8,#edf4f9);border-color:#cfdae3;box-shadow:inset 0 0 0 2px #fff8}.plan-group-heading{color:#a28f70;font-size:18px}.plan-act-icon{border-radius:7px;border-color:#c2d2e0;box-shadow:inset 0 0 0 2px #ffffff70}.plan-act-cost{font-family:Georgia,serif;font-size:19px;color:#8f846c}
/* Activity playback becomes an illustrated card over the home. */
.month-playback{background:#29446275;backdrop-filter:blur(9px);padding:18px;isolation:isolate}.month-stage.lesson-art-stage{width:min(420px,calc(100vw - 32px));height:auto;max-height:94dvh;min-height:0;position:relative;display:flex;flex-direction:column;gap:16px;padding:26px 20px 18px;background:linear-gradient(145deg,#fbfbf3,#edf3f7);border:1px solid #b3c7d8;border-radius:7px;box-shadow:0 20px 75px #19375545,inset 0 0 0 5px #ffffff7a;overflow:hidden;align-self:center;justify-self:center}.month-stage.lesson-art-stage:before{content:'';position:absolute;inset:9px;border:1px solid #c4b59266;pointer-events:none;z-index:0}.lesson-art-stage .month-heading{position:relative;inset:auto;padding:0 2px 13px;width:100%;background:none;border:0;border-radius:0;order:0;flex-shrink:0;text-align:center;z-index:1;transform:none}.lesson-art-stage .month-heading small{font:10px system-ui;letter-spacing:1px;color:#91a2b7;white-space:nowrap}.lesson-art-stage .month-heading h1{font-family:Diphylleia,serif;font-size:27px;font-weight:400;line-height:1.5;letter-spacing:.5px;margin:9px 0 11px;color:#526f91;white-space:nowrap}.activity-step-dots{display:flex;justify-content:center;align-items:center;gap:22px}.activity-step-dots span{width:21px;height:21px;position:relative;display:grid;place-items:center;font:9px Georgia,serif;letter-spacing:.5px;color:#a3b1c1;border:1px solid #ced8e3;transform:rotate(45deg);background:#f8faf5}.activity-step-dots span:after{content:'';position:absolute;left:25px;width:14px;height:1px;top:-5px;background:#cbd6e1;transform:rotate(-45deg)}.activity-step-dots span:last-child:after{display:none}.activity-step-dots .current{color:#fff;background:#839cb7;border-color:#7c94ac;box-shadow:0 0 0 3px #dce6ef}.activity-step-dots .done{background:#dee8e4;color:#80998e;border-color:#baccc6}.lesson-art-stage .lesson-art{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;border:5px solid #fffdf5;outline:1px solid #bfcedb;border-radius:2px;box-shadow:0 5px 15px #33516d17;margin:0;transform:none;order:1;flex-shrink:0;z-index:1}.lesson-art-stage .scene-caption{position:relative;inset:auto;transform:none;background:none;padding:5px 2px 10px;margin:0;width:100%;font-family:Diphylleia,serif;font-size:17px;line-height:1.7;letter-spacing:-.3px;text-align:center;white-space:normal;color:#6f89a4;order:2;flex-shrink:0;z-index:1;border-bottom:1px solid #c7b79655}.lesson-art-stage .month-progress{position:relative;inset:auto;order:3;width:100%;height:3px;margin:0;background:#d4dfea;flex-shrink:0;z-index:1;border-radius:3px}.lesson-art-stage .month-progress i{background:linear-gradient(90deg,#90a9c2,#bdb08e)}.lesson-art-stage>button{position:relative;inset:auto;width:100%;min-height:35px;padding:6px 10px;margin:0;order:4;background:transparent;border:0;box-shadow:none;border-radius:0;color:#91a0b3;font-size:10px;letter-spacing:.5px;flex-shrink:0;z-index:1}.lesson-art-stage>button:hover{background:#dfe9f240;transform:none;color:#6783a4}
/* Monthly report: stat rows, a little stamp and a tidy ledger. */
.growth-report-dialog{position:relative;width:min(420px,calc(100vw - 32px));padding:30px 24px 21px;max-height:90dvh;overflow:auto;border:1px solid #b1c5d6;border-radius:6px;background:linear-gradient(145deg,#fcfbf2,#f0f5f6);box-shadow:0 20px 90px #233b5a4d,inset 0 0 0 5px #ffffff8c;isolation:isolate}.growth-report-dialog:before{content:'';position:absolute;inset:9px;border:1px solid #b8a98566;pointer-events:none;z-index:-1}.report-ribbon{position:relative;display:inline-block;left:-31px;background:#829bb5;color:#f8faf2;font-size:8px;letter-spacing:2px;padding:8px 17px;box-shadow:inset 0 0 0 2px #ffffff21;margin-bottom:17px}.report-ribbon:after{content:'';position:absolute;right:-9px;top:0;border-top:12px solid #829bb5;border-bottom:12px solid #829bb5;border-right:9px solid transparent}.report-heading{padding:0 46px 20px 0;border-bottom:1px solid #c7b99580}.report-heading small{font:11px Georgia,serif;color:#ad9e7f;letter-spacing:2px}.report-heading h1{font-family:Diphylleia,serif;font-size:27px;margin:9px 0 7px;line-height:1.45;color:#4a6688;white-space:nowrap}.report-heading p{font-family:Diphylleia,serif;font-size:13px;color:#92a2b5;margin:0}.report-seal{position:absolute;top:77px;right:22px;width:49px;height:49px;border:2px solid #ae997c70;outline:1px solid #ae997c44;outline-offset:3px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aa9677a3;transform:rotate(12deg);pointer-events:none}.report-seal span{font-size:8px;letter-spacing:.2px}.report-seal b{font:22px Georgia,serif;line-height:1;margin-top:2px}.report-stat-list{padding:17px 0 10px}.report-stat{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #dce3e780}.report-stat-symbol{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid #cad9e5;border-radius:50%;background:#e7f0f6;box-shadow:inset 0 0 0 2px #fff8;color:#8aa1bb;font-size:17px}.report-stat-main{flex:1;min-width:0}.report-stat-main label{display:flex;justify-content:space-between;font-size:12px;color:#6b85a3;margin-bottom:7px}.report-stat-main small{font-size:9px;color:#a0aebf}.report-stat-track{height:4px;background:#dce5ec;border-radius:4px;overflow:hidden}.report-stat-track i{display:block;height:100%;background:linear-gradient(90deg,#87a3bf,#b8cbd8);border-radius:4px;animation:report-grow .7s ease-out}.report-stat>strong{width:50px;text-align:right;font:20px Georgia,serif;color:#a89573;font-variant-numeric:tabular-nums}.report-ledger{margin-top:17px;padding:14px;background:#eaf0f480;border:1px solid #d7e0e6;border-radius:3px}.report-ledger>div{display:flex;align-items:center;justify-content:space-between;font-size:10px;line-height:2;color:#8b9db3}.report-ledger b{font-weight:400;color:#6c88a7;font-variant-numeric:tabular-nums}.report-ledger .report-balance{padding-top:7px;margin-top:5px;border-top:1px dashed #c5d0dc;font-size:12px;color:#6986a7}.report-balance b{font-family:Georgia,serif;font-size:18px;color:#647f9d}.report-memory{display:flex;align-items:center;justify-content:center;gap:8px;color:#a59980;margin:17px 0;font-size:12px}.report-memory>span{font-size:17px}.report-memory p{font-size:11px;margin:0;color:#94a3b5}.report-memory b{font-weight:500;color:#7e91ac}.growth-report-dialog>.primary{width:100%;min-height:45px;padding:11px 15px;font-family:Diphylleia,serif;font-size:17px;letter-spacing:.5px;border:1px solid #9fb5c9;border-radius:3px;background:linear-gradient(110deg,#6b88a6,#8aa3bb);box-shadow:inset 0 0 0 3px #ffffff2e;text-align:center}.growth-report-dialog>.primary span{margin-left:12px;color:#e1d7bc}.report-bottom-line{width:40px;height:1px;background:#c2b593;margin:18px auto 0}.report-rest{font-family:Diphylleia,serif;font-size:16px;color:#8b9db2;line-height:1.9}.growth-report-dialog::backdrop{background:#30476365;backdrop-filter:blur(8px)}@keyframes report-grow{from{transform:scaleX(.2);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@media(max-width:700px) and (orientation:portrait){.planner-paper{padding:19px 13px 16px 24px;border-radius:4px 12px 12px 4px}.planner-paper:before{top:63px;height:calc(100% - 93px)}.planner-paper:after{font-size:8px;padding:5px 12px;right:13px}.planner-month{font-size:26px;padding-bottom:9px;margin-bottom:10px}.planner-calendar{padding:5px;gap:3px}.planner-slots{gap:11px;margin-top:18px}.slot-main{padding:12px 10px 12px 17px}.slot-main strong{font-size:16px}.slot-main small{font-size:9px!important}.planner-activities>button{border-radius:4px}.month-playback{padding:16px}.month-stage.lesson-art-stage{width:100%;max-height:92dvh;padding:23px 17px 15px;gap:13px;border-radius:6px}.lesson-art-stage .month-heading{padding:0 0 11px}.lesson-art-stage .month-heading h1{font-size:26px;margin:9px 0 12px}.lesson-art-stage .month-heading small{font-size:10px;letter-spacing:.5px}.lesson-art-stage .lesson-art{width:100%;height:auto;max-height:52dvh;aspect-ratio:1;object-fit:cover;flex-basis:auto}.lesson-art-stage .scene-caption{font-size:16px;padding:4px 0 11px;white-space:normal}.lesson-art-stage>button{min-height:32px;padding:5px;font-size:10px}.growth-report-dialog{padding:26px 22px 19px;width:calc(100vw - 34px)}.report-ribbon{left:-29px;font-size:7px;padding:8px 16px}.report-heading{padding-right:44px;padding-bottom:17px}.report-heading h1{font-size:25px}.report-heading p{font-size:12px}.report-heading small{font-size:10px}.report-seal{top:74px;right:21px;width:43px;height:43px}.report-seal b{font-size:20px}.report-seal span{font-size:7px}.report-stat-list{padding-top:12px}.report-stat{padding:10px 0;gap:9px}.report-stat-main label{font-size:12px}.report-stat>strong{font-size:19px;width:45px}.report-ledger{margin-top:13px;padding:12px}.growth-report-dialog>.primary{font-size:16px;min-height:45px}}
@media(max-width:700px) and (orientation:portrait) and (max-height:700px){.month-stage.lesson-art-stage{padding:20px 15px 12px;gap:10px}.lesson-art-stage .month-heading h1{font-size:22px;margin:7px 0 9px}.lesson-art-stage .month-heading small{font-size:9px}.lesson-art-stage .lesson-art{width:min(100%,45dvh);height:45dvh;max-height:45dvh;margin:0 auto;aspect-ratio:1}.lesson-art-stage .scene-caption{font-size:14px;line-height:1.6;padding:1px 0 9px}.activity-step-dots span{width:18px;height:18px;font-size:8px}.growth-report-dialog{padding-top:22px}.report-heading h1{font-size:23px}.report-stat{padding:8px 0}.report-memory{margin:12px 0}.report-seal{top:69px}.report-stat-symbol{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.report-stat-track i{animation:none}}
.planner-category-tabs{display:flex;gap:5px;padding:4px;background:#dfe8f099;border:1px solid #cbd9e4;border-radius:5px;margin:0 0 13px;flex-shrink:0}.planner-category-tabs button{flex:1;min-height:35px;padding:7px 9px;border:1px solid transparent;border-radius:3px;background:transparent;font-family:Diphylleia,serif;font-size:14px;color:#91a1b5}.planner-category-tabs button.active{background:linear-gradient(120deg,#fffdf4,#f3f7f8);border-color:#c5d3df;color:#5b789c;box-shadow:0 2px 7px #52708a15}.planner-catalog>h3{font-size:20px;padding-bottom:12px;margin-bottom:12px}.planner-activities{gap:7px}.planner-activities>button{padding:10px 9px;min-height:59px;gap:10px}.planner-activities strong{font-size:13px}.planner-activities small{font-size:9px!important;margin-top:4px}.planner-activities .plan-act-icon{width:31px;height:31px;flex-shrink:0;border-radius:5px}.planner-activities .plan-act-icon .game-icon{width:21px;height:21px}.planner-activities .plan-act-cost{font-size:16px;min-width:56px;white-space:nowrap}
@media(max-width:700px) and (orientation:portrait){.planner-catalog.picker-open{max-height:70dvh;padding:25px 16px calc(17px + env(safe-area-inset-bottom));border-radius:13px 13px 0 0}.planner-catalog>h3{font-size:20px;margin-top:3px;padding-bottom:11px;margin-bottom:12px;letter-spacing:-.4px}.planner-category-tabs{margin-bottom:12px}.planner-category-tabs button{font-size:14px;min-height:36px;padding:6px}.planner-catalog .planner-activities{max-height:calc(70dvh - 157px - env(safe-area-inset-bottom));overflow:auto;gap:8px;padding-bottom:7px}.planner-activities>button{min-height:62px;padding:10px 9px;gap:9px}.planner-activities strong{font-size:14px;line-height:1.45}.planner-activities small{font-size:9px!important;line-height:1.6;margin-top:3px;max-width:165px}.planner-activities .plan-act-icon{width:31px;height:31px}.planner-activities .plan-act-cost{font-size:16px;min-width:55px}.planner-picker-close{top:16px;right:7px;width:36px;height:36px;font-size:17px}.planner-catalog:before{width:32px;height:3px;top:9px;left:calc(50% - 16px)}}
/* Compact story book: three shelves instead of a long menu. */
#modal.profile-book-dialog{width:min(360px,calc(100vw - 36px));max-height:85dvh;overflow:auto;padding:27px 23px 20px;border:1px solid #b7c8d5;border-radius:12px;background:radial-gradient(ellipse at top right,#e5eaf5a6,transparent 65%),repeating-linear-gradient(0deg,#b7ad8e06 0 1px,transparent 1px 4px),#fbfaf2;box-shadow:0 20px 70px #243c5b50,inset 0 0 0 5px #ffffffb3,inset 0 0 0 6px #c7b99475;position:relative}
#modal.profile-book-dialog .profile-modal-head{text-align:center;padding:0 0 17px;margin:0;border-bottom:1px solid #c6b8927a}#modal.profile-book-dialog .profile-modal-head:before{content:'◇ ── ◇';display:block;color:#b6a17a;font-size:11px;letter-spacing:4px;margin-bottom:12px}#modal.profile-book-dialog .profile-modal-head small{font-size:8px;letter-spacing:3px;color:#98a9bf}#modal.profile-book-dialog .profile-modal-head h1{font-size:25px;line-height:1.4;margin:9px 0 8px;color:#405c7d}#modal.profile-book-dialog .profile-modal-head p{font-size:11px;line-height:1.5;margin:0;color:#8c9bb0}
.profile-book-tabs{display:flex;gap:5px;margin:17px 0 14px;padding:3px;border:1px solid #c5d0db;border-radius:7px;background:#e7edf2}.profile-book-tabs button{flex:1;min-height:35px;padding:7px;font-size:13px;border:1px solid transparent;background:transparent;border-radius:4px;color:#899ab0}.profile-book-tabs button[aria-selected=true]{background:linear-gradient(#fffdf4,#f1efe4);border-color:#c7b997;color:#4d6c90;box-shadow:0 2px 4px #47658116}
#modal.profile-book-dialog .profile-actions{display:grid;gap:9px;margin:0;min-height:121px;align-content:start}#modal.profile-book-dialog .profile-actions button{display:flex;align-items:center;gap:12px;min-height:55px;padding:11px 14px;font-size:14px;border:1px solid #c0ccdb;border-radius:5px;background:linear-gradient(110deg,#edf3f9,#f7f6f1);box-shadow:inset 0 0 0 3px #ffffff80;color:#496687}#modal.profile-book-dialog .profile-actions button>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #bfb58e65;border-radius:50%;background:#fffaf0;color:#8d9fb7;font-size:16px}#modal.profile-book-dialog .profile-actions .game-icon{width:18px;height:18px}#modal.profile-book-dialog .profile-actions b{margin-left:auto;font-size:14px;font-weight:400;color:#a7b5c4}#modal.profile-book-dialog .menu-back{display:block;margin:19px auto 0;padding:7px 12px;min-height:30px;font-size:11px;background:transparent;border:0;color:#8194aa}
/* Home collection: porcelain, ribbon, engraved brass and stationery. */
.game-room{--home-brass:#b8a17b;--home-edge:#a9bdd0}
.game-room .room-brand>span{letter-spacing:2px;text-shadow:0 2px 12px #fff,0 0 24px #fff}.game-room .room-brand:after{width:160px;height:22px;margin-top:0;background:url('assets/ui/home-ornament.svg') center/contain no-repeat;opacity:.85}
.game-room .calendar{border:1px solid var(--home-edge)!important;background:linear-gradient(125deg,#fffdf5f2,#e7edf4ec)!important;box-shadow:0 4px 14px #3a526329,inset 0 0 0 3px #fff9,inset 0 0 0 4px #bfad8550!important;border-radius:8px 8px 15px 3px!important}.game-room .calendar-year{background:#7891ab;color:#fffdf1;border-bottom:2px solid #cbb890;letter-spacing:1px}.game-room .calendar-main{color:#55718e;text-shadow:0 2px #fff}.game-room .calendar-foot{border-top:1px solid #c6b38c80;background:#edf1ed}
.game-room .profile-heading{border:1px solid #b9a77d!important;border-radius:5px 16px 5px 16px!important;background:linear-gradient(120deg,#fffdf4ef,#e3edf4ed)!important;box-shadow:inset 0 0 0 3px #fff8,inset 0 0 0 4px #c4b58955,0 4px 18px #314d6a20!important}.game-room .profile-heading h1>span{border:1px solid #c9b58e;background:#f8f1df;color:#8c7d63;border-radius:12px}.game-room .name-menu{color:#466487;text-shadow:0 1px #fff}.game-room .profile-star{color:#ae9871;text-shadow:0 1px #fff}
.game-room .budget{border:1px solid #b9aa88!important;border-radius:3px 3px 12px 12px!important;background:repeating-linear-gradient(45deg,#b9a67d05 0 2px,transparent 2px 5px),linear-gradient(#fffdf3f0,#eef1e9ed)!important;box-shadow:inset 0 0 0 3px #ffffff7d,0 4px 12px #4c607520!important}.game-room .budget>span{color:#8d806b}.game-room .budget>strong{color:#4c6789}.game-room .budget>strong:before{content:'';display:inline-block;width:8px;height:8px;border:2px solid #c6af7b;border-radius:50%;margin-right:6px;background:#eee1b7;box-shadow:inset 0 0 0 1px #fff8}
.game-room .stats-disclosure{border:1px solid #a8bdd0!important;border-radius:3px 11px 11px 3px!important;background:linear-gradient(110deg,#fdfcf3f0,#e0eaf4ee)!important;box-shadow:inset 0 0 0 3px #ffffff85,0 4px 13px #465f7b22!important}.game-room .stats-disclosure summary{border-left:3px solid #bda77f;border-radius:2px;letter-spacing:.4px}.game-room .stats-disclosure .stat label>span:before{content:'';display:inline-block;width:5px;height:5px;transform:rotate(45deg);background:#b5a080;margin-right:8px}.game-room .stats-disclosure .bar{height:6px;background:#dce4eb;border:1px solid #c5d1dc;border-radius:6px;box-shadow:inset 0 1px 2px #617c9420}.game-room .stats-disclosure .bar i{background:linear-gradient(90deg,#8da9bd,#b2c7d5);border-radius:5px;box-shadow:inset 0 1px #ffffff85}.game-room .stat-music .bar i{background:linear-gradient(90deg,#a296bb,#c7bfda)}.game-room .stat-dance .bar i{background:linear-gradient(90deg,#85a9a2,#bdd1ba)}.game-room .stat-creative .bar i{background:linear-gradient(90deg,#ba98aa,#d8c0cd)}
.game-room .phone-case{border:2px solid #728aa1;outline:2px solid #d8e2e8;background:linear-gradient(145deg,#e9e7f6,#c3dce5 70%,#f6f1dc);box-shadow:0 5px 13px #3e59713a,inset 0 0 0 3px #fff8;border-radius:13px}.game-room .phone-apps i{background:#fbfaf1c9;border:1px solid #ffffffd9;box-shadow:0 2px 4px #5870871a;border-radius:5px;color:#7d91b1}.game-room .phone-time{color:#5a7795}
.game-room .dialogue{border:1px solid #afbed0;background:linear-gradient(115deg,#fffdf5f5,#e8eff7f2);box-shadow:inset 0 0 0 4px #ffffff9c,inset 0 0 0 5px #c9b99366,0 7px 24px #3f56742b;border-radius:5px 17px 5px 17px}.game-room .speaker{border:1px solid #c5b28b;border-radius:2px 8px 2px 8px;padding-left:15px;padding-right:15px;background:linear-gradient(#8b9eb9,#637f9f);box-shadow:inset 0 0 0 2px #ffffff30,0 3px 7px #445d7a22}.game-room .dialogue-next{color:#b49b72}
.game-room .schedule-main{background:linear-gradient(110deg,#7899b3,#6686aa 50%,#829cb6);border:1px solid #b9a67e;border-radius:7px 19px 7px 19px;box-shadow:inset 0 0 0 3px #ffffff33,inset 0 0 0 4px #d8c8a877,0 5px 17px #354f733d;text-shadow:0 1px 2px #3e5c7d;letter-spacing:1.5px}.game-room .schedule-main:before,.game-room .schedule-main:after{width:9px;height:9px;background:#eee1b144;box-shadow:0 0 0 3px #e1d0ae20}.game-room .schedule-main:active{transform:translateY(2px);box-shadow:inset 0 2px 7px #35527055}
.game-room .room-location{border:1px solid #bda88166;background:#fcfaf0d9;border-radius:3px 9px 3px 9px;box-shadow:inset 0 0 0 2px #fff8}.game-room .save-caption{color:#8d826e;letter-spacing:.5px}
@media(max-width:700px) and (orientation:portrait){.game-room .room-brand>span{font-size:17px;letter-spacing:1px}.game-room .room-brand:after{width:135px;height:15px}.game-room .calendar{padding:10px 11px 10px 14px;border-left:3px solid #b6a481!important}.game-room .compact-date{font-size:11px}.game-room .compact-date span{font-size:10px}.game-room .profile-heading{padding:7px 11px}.game-room .stats-disclosure summary{font-size:12px;padding:9px 10px}.game-room .dialogue{padding-left:21px;padding-right:21px}.game-room .dialogue:after{width:60px;height:16px;border:0;background:url('assets/ui/home-ornament.svg') center/contain no-repeat;right:11px;bottom:5px}.game-room .schedule-main{font-size:17px}.game-room .budget>span,.game-room .budget>strong,.game-room .budget>strong small{font-size:12px!important}}
/* Illustrated stationery edition — ribbon silhouettes, lace and floral seals. */
.game-room .profile-heading{overflow:visible!important;border:0!important;border-radius:0!important;background:linear-gradient(100deg,#a9bcd3,#d5dce9 55%,#a6b9d0)!important;box-shadow:inset 0 2px #f6f1dd,inset 0 -2px #f6f1dd,0 5px 8px #33465d30!important;padding:12px 20px!important;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}.game-room .profile-heading h1 .name-menu{color:#385373;text-shadow:0 1px #ffffffb5}.game-room .profile-heading h1>span{background:#fff9e9;border:1px solid #b9a17c}.game-room .profile-heading>div>small{color:#556c88;letter-spacing:2px}.game-room .profile-heading:before{border:2px solid #eee3c7!important;box-shadow:0 0 0 1px #bca47e,0 3px 5px #50668135!important}
.game-room .budget{border:1px solid #b5a17e!important;border-radius:0 0 23px 23px!important;background:repeating-linear-gradient(90deg,#c1ad7908 0 1px,transparent 1px 5px),#fff9ebed!important;box-shadow:inset 0 0 0 4px #fffdf5,inset 0 0 0 5px #d9c7a4,0 6px 10px #48617c24!important;padding-bottom:17px!important}.game-room .budget:after{content:'';position:absolute;bottom:2px;left:20%;width:60%;height:12px;background:url('assets/ui/home-ornament.svg') center/contain no-repeat}
.game-room .calendar{overflow:visible!important;border-radius:2px!important;border:1px solid #aebfd1!important;background:linear-gradient(90deg,#b7c3d51a 1px,transparent 1px) 0 0/7px 7px,#fff9ebef!important;box-shadow:inset 4px 0 #acbcd2,inset 6px 0 #fefaf0,0 5px 0 -2px #ede3d0,0 6px 0 -2px #c3b393,0 9px 12px #435c7529!important}.game-room .calendar:after{content:'';display:block!important;position:absolute;left:0;right:0;top:auto;bottom:-14px;width:100%;height:16px;background:url('assets/ui/lace.svg') repeat-x!important;border:0;border-radius:0}.game-room .compact-date{font-weight:500}
.game-room .stats-disclosure{border-radius:2px 15px 15px 2px!important;background:linear-gradient(90deg,#a6bad0 0 5px,#fdf9ed 5px 9px,#cbd5e4 9px 11px,#edf1f7 11px)!important;box-shadow:0 4px 0 -1px #fff7e9,0 5px 0 -1px #b4a889,0 8px 13px #41577225!important}.game-room .stats-disclosure summary{border:0;padding-left:20px!important}.game-room .stats-disclosure[open]{background:repeating-linear-gradient(0deg,transparent 0 30px,#aab9c51c 30px 31px),#fffaf0!important}.game-room .phone-case{transform:rotate(-7deg);border-color:#e7d9b9;outline:1px solid #9eaec2;box-shadow:0 0 0 4px #fff6,0 8px 15px #3b56773b}.game-room .home-phone:after{content:'';position:absolute;width:27px;height:31px;right:-13px;bottom:-7px;background:url('assets/ui/rose.svg') center/contain no-repeat;pointer-events:none}
.game-room .dialogue{overflow:visible;border-radius:4px!important;border:1px solid #ae9d7b!important;background:repeating-linear-gradient(0deg,#c7bca00a 0 1px,transparent 1px 5px),linear-gradient(120deg,#fffaf0f7,#edf1f7f5)!important;box-shadow:inset 0 0 0 5px #fffaf0,inset 0 0 0 6px #cdbb94,0 6px 20px #31465e30!important}.game-room .dialogue:before{content:'';position:absolute;width:67px;height:67px;left:-20px;top:-28px;border:0;background:url('assets/ui/rose.svg') center/contain no-repeat;z-index:2}.game-room .dialogue:after{content:'';position:absolute;left:0;right:0;bottom:-13px;width:100%!important;height:16px!important;border:0;background:url('assets/ui/lace.svg') repeat-x!important}.game-room .speaker{left:37px;border-radius:0!important;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);padding:6px 22px!important;background:linear-gradient(90deg,#9babc7,#c0ccdf,#92a7c4)!important;color:#3e5879;text-shadow:0 1px #fff8;border:0;box-shadow:inset 0 1px #f2e5c8,inset 0 -1px #f2e5c8}
.game-room .schedule-main{overflow:visible;border-radius:50% / 18%!important;border:1px solid #b7a17b;background:linear-gradient(0deg,#96afc8,#d4e3ed 51%,#edf4f7 52%,#b3cadc)!important;color:#3e5e80;text-shadow:0 1px #fff;box-shadow:inset 0 0 0 3px #f8f3e5,inset 0 0 0 4px #b4a483,inset 0 -7px 12px #718fac33,0 5px 0 -1px #7e95af,0 8px 15px #344b6b30!important}.game-room .schedule-main:before,.game-room .schedule-main:after{border-color:#ac9977;background:#faf5df;box-shadow:0 0 0 3px #fff8;transform:rotate(45deg);width:6px;height:6px}.game-room .room-brand:after{height:23px}
.planner-paper{border-radius:7px 22px 22px 7px!important;background:repeating-linear-gradient(0deg,transparent 0 29px,#a9b8ce18 29px 30px),#fffbef!important;box-shadow:-9px 0 #9eafca,-12px 0 #c9bb9c,3px 3px #e9e0cf,5px 5px #b9ab8c,0 12px 25px #425b7526!important}.planner-month{color:#6c809f;border-bottom:3px double #c5b492}.planner-month:after{content:'';display:block;position:absolute;right:7px;top:20px;width:55px;height:55px;background:url('assets/ui/rose.svg') center/contain no-repeat;opacity:.8;pointer-events:none}.planner-category-tabs,.profile-book-tabs{border:0;background:transparent;padding:0;gap:5px}.planner-category-tabs button,.profile-book-tabs button{border:1px solid #b6a98e;background:#dce3ed;border-radius:8px 8px 0 0;box-shadow:inset 0 0 0 2px #ffffff6b}.planner-category-tabs button.active,.profile-book-tabs button[aria-selected=true]{background:#fff6e4;border-color:#b5a17b;box-shadow:inset 0 3px #b9a4c0}.plan-slot{border:1px solid #beab8c!important;border-radius:0 12px 12px 0!important;box-shadow:inset 0 0 0 3px #fff6,0 3px 5px #5b6f8920!important}.slot-main small{letter-spacing:1px}.plan-slot.segment-0{background:linear-gradient(110deg,#b9d0df,#e1eaf1)!important}.plan-slot.segment-1{background:linear-gradient(110deg,#c6bbd7,#e7e0ef)!important}.plan-slot.segment-2{background:linear-gradient(110deg,#bdcfbc,#e4ecdf)!important}.planner-catalog{border:1px solid #b9a685!important;background:repeating-linear-gradient(45deg,#c5b08d06 0 2px,transparent 2px 6px),#fffaf0!important}.planner-catalog>h3{border-bottom:3px double #c4b18c;color:#536d8c}.planner-activities>button{border-radius:3px 12px 3px 12px;background:linear-gradient(115deg,#fffcf3,#edf0f5);border-color:#c5b79c;box-shadow:inset 0 0 0 3px #fff8}.planner-confirm{border-top:3px double #c8b58f;background:#f5f2e7!important}
#modal.profile-book-dialog:after,.month-outing-dialog:after,.growth-report-dialog:after{content:'';position:absolute;top:-1px;right:5px;width:58px;height:58px;background:url('assets/ui/rose.svg') center/contain no-repeat;pointer-events:none}.month-outing-dialog,.growth-report-dialog,#modal.profile-book-dialog{border-radius:3px 18px 3px 18px!important;border-color:#b5a17e!important;background:repeating-linear-gradient(45deg,#baab8708 0 1px,transparent 1px 5px),linear-gradient(130deg,#fffaf0,#eaf0f6)!important;box-shadow:inset 0 0 0 5px #fffaf0,inset 0 0 0 6px #c6b38d,0 20px 70px #263c5c55!important}.month-outing-dialog .outing-choices button{border-radius:2px 14px 2px 14px;border-color:#bdad91;box-shadow:inset 0 0 0 3px #fff8,0 4px 0 -1px #ded7c9}.growth-report-dialog .report-ribbon{background:linear-gradient(90deg,#a3b7d0,#7f99bb);box-shadow:inset 0 2px #d9c9a4,inset 0 -2px #d9c9a4}.profile-book-dialog .profile-actions button{border-radius:2px 12px 2px 12px!important;border-color:#c1af8e!important}
@media(max-width:700px) and (orientation:portrait){.game-room .profile-heading{padding:8px 15px!important;right:12px}.game-room .budget{top:calc(max(17px,env(safe-area-inset-top)) + 105px);right:18px;padding:10px 12px 19px!important}.game-room .calendar{padding:9px 10px 9px 13px!important}.game-room .stats-disclosure{top:calc(max(17px,env(safe-area-inset-top)) + 104px)}.game-room .home-phone{top:calc(max(17px,env(safe-area-inset-top)) + 161px)}.game-room .dialogue{padding-top:23px;padding-bottom:14px}.game-room .dialogue:before{width:56px;height:56px;left:-12px;top:-24px}.game-room .speaker{font-size:12px!important;top:-15px!important}.game-room .schedule-main{height:47px!important;left:30px;right:30px;width:calc(100% - 60px);bottom:calc(55px + env(safe-area-inset-bottom));font-size:17px}.planner-month:after{width:38px;height:38px;right:3px;top:21px}.planner-paper{padding-right:16px!important}.planner-catalog.picker-open{border-radius:17px 17px 0 0!important}.game-room .room-brand:after{height:17px}.profile-book-dialog .profile-modal-head h1{font-size:24px!important}}
/* Clear the portrait: light floating controls, stats in their own dialog. */
.game-room .room-brand{display:none!important}.game-room .profile-heading{background:linear-gradient(100deg,#d2dfed85,#f7f9ef8c)!important;backdrop-filter:blur(9px);box-shadow:inset 0 1px #fff9,inset 0 -1px #fff9,0 3px 12px #37516c15!important}.game-room .budget{background:#fffaf080!important;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 3px #ffffff38,0 4px 12px #40597515!important;border-color:#ffffff9c!important}.game-room .calendar{background:#fffaf080!important;backdrop-filter:blur(8px);box-shadow:inset 3px 0 #9fb3cb88,0 3px 9px #40597519!important}.game-room .calendar:after,.game-room .budget:after,.game-room .home-phone:after{display:none!important}.game-room .dialogue{background:linear-gradient(115deg,#fffaf0c9,#eaf0f7bd)!important;backdrop-filter:blur(8px);box-shadow:inset 0 0 0 4px #ffffff40,inset 0 0 0 5px #c9bb9860,0 6px 20px #31465e22!important}.game-room .dialogue:before{display:none}.game-room .dialogue:after{opacity:.4}.home-stats-icon{position:absolute;z-index:5;left:25px;top:160px;width:45px;height:45px;padding:9px;display:grid;place-items:center;background:#f8fbf19c;border:1px solid #fffafa;border-radius:50%;box-shadow:0 3px 12px #3c567628,inset 0 0 0 3px #b6c6d636;color:#617f9f;backdrop-filter:blur(8px)}.home-stats-icon svg{width:27px;height:27px}.game-room.panel-open .home-stats-icon{display:none}body:has(dialog[open]) .home-stats-icon{visibility:hidden}
#modal.home-stats-dialog{width:min(360px,calc(100vw - 36px));max-height:85dvh;overflow:auto;padding:24px;background:linear-gradient(135deg,#fffdf5f5,#eaf1f8f5);border:1px solid #c3b395;border-radius:12px;box-shadow:inset 0 0 0 4px #fff9,0 15px 60px #233e614d}.stats-popup-head{position:relative;padding-bottom:13px;border-bottom:1px solid #c5b797}.stats-popup-head small{font-size:8px;letter-spacing:2px;color:#8e9fb6}.stats-popup-head h2{font-size:23px;margin:8px 0;color:#4c6887}.stats-popup-head button{position:absolute;right:-7px;top:-8px;width:35px;height:35px;padding:0;border:0;background:transparent;font-size:26px;color:#7e93ad}.home-stats-dialog .room-stats{display:grid;gap:13px;margin-top:18px}.home-stats-dialog .stat label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.home-stats-dialog .stat label strong{font-size:12px}.home-stats-dialog .stat label small{font-size:9px;color:#96a7bb}.home-stats-dialog .bar{height:7px;background:#dce4ed;border-radius:5px;overflow:hidden}.home-stats-dialog .bar i{display:block;height:100%;background:linear-gradient(90deg,#8aa6c5,#bccddc);border-radius:5px}
@media(max-width:700px) and (orientation:portrait){.game-room .calendar{top:calc(max(14px,env(safe-area-inset-top)) + 6px);left:16px}.game-room .profile-heading{top:calc(max(14px,env(safe-area-inset-top)) + 3px);right:10px;padding:7px 12px!important}.game-room .budget{top:calc(max(14px,env(safe-area-inset-top)) + 61px);right:14px;padding:9px 11px!important;border-radius:5px!important}.game-room .profile-heading:before{display:none!important}.game-room .profile-heading h1 .name-menu{font-size:22px}.game-room .home-stats-icon{left:20px;top:calc(max(14px,env(safe-area-inset-top)) + 63px);width:43px;height:43px}.game-room .home-phone{top:calc(max(14px,env(safe-area-inset-top)) + 121px);left:22px;transform:scale(.8);transform-origin:top left}.game-room .character{--sprite-height:99dvh;left:calc(50% - 18.5625dvh);bottom:calc(130px + env(safe-area-inset-bottom));z-index:1}.game-room .dialogue{z-index:3}.game-room .speaker{left:18px}.game-room .budget>span,.game-room .budget>strong,.game-room .budget>strong small{font-size:11px!important}}
@media(max-width:700px) and (orientation:portrait) and (max-height:720px){.game-room .character{--sprite-height:95dvh;left:calc(50% - 17.8125dvh);bottom:calc(130px + env(safe-area-inset-bottom))}}
/* No floral decorations. */
.game-room .dialogue:before,.game-room .home-phone:after,.planner-month:after,#modal.profile-book-dialog:after,.month-outing-dialog:after,.growth-report-dialog:after{display:none!important;background-image:none!important}
/* Dialogue: dusk-blue glass and warm beige lettering. */
.game-room .dialogue{background:linear-gradient(115deg,#233044df,#1c2738d9)!important;border:1px solid #d5c39d70!important;border-radius:10px!important;box-shadow:inset 0 0 0 3px #d9c8a00a,0 8px 24px #12203338!important;backdrop-filter:blur(10px);color:#ecdfc5!important}.game-room .dialogue p{color:#ecdfc5!important;text-shadow:0 1px 2px #10192640}.game-room .dialogue:before,.game-room .dialogue:after{display:none!important}.game-room .dialogue .speaker{background:#344259f0!important;color:#ecdfc5!important;clip-path:none!important;border:1px solid #d5c39d60!important;border-radius:5px!important;box-shadow:none!important;text-shadow:none;padding:5px 17px!important}.game-room .dialogue-next{color:#d6bf91!important}
/* One quiet dialogue panel, with the speaker inside the text flow. */
.game-room .dialogue{background:linear-gradient(110deg,#253345cc,#263449ad)!important;border:0!important;border-left:2px solid #d5c5a18c!important;border-radius:3px 10px 10px 3px!important;box-shadow:0 7px 22px #18273824!important;padding:15px 20px 16px!important;backdrop-filter:blur(12px)}.game-room .dialogue .speaker{position:static!important;display:block;width:fit-content;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0 0 7px!important;color:#d4bf96!important;font-family:system-ui,sans-serif;font-size:11px!important;font-weight:500;letter-spacing:1px;line-height:1.4}.game-room .dialogue p{margin:0!important;padding:0 14px 0 0!important;color:#f0e8d7!important;font-size:17px;line-height:1.65!important;word-break:keep-all;overflow-wrap:break-word;text-shadow:none!important}.game-room .dialogue-next{right:13px;bottom:12px;font-size:12px;opacity:.65}
@media(max-width:700px) and (orientation:portrait){.game-room .dialogue{left:18px;right:18px;width:auto;min-height:0!important;bottom:calc(120px + env(safe-area-inset-bottom));padding:13px 16px 14px!important}.game-room .dialogue p{font-size:14px!important;line-height:1.7!important;letter-spacing:-.2px}.game-room .dialogue .speaker{font-size:10px!important;margin-bottom:6px!important}}
/* Reference dialogue: open cinematic band, fine champagne rules. */
.game-room .dialogue{isolation:isolate;overflow:visible!important;background:linear-gradient(90deg,transparent,#332d37a6 13%,#332d37ad 82%,transparent)!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:20px 35px!important;color:#f2eadb!important}.game-room .dialogue .speaker{display:none!important}.game-room .dialogue:before,.game-room .dialogue:after{content:''!important;display:block!important;position:absolute!important;left:0!important;right:0!important;width:100%!important;height:1px!important;border:0!important;background:linear-gradient(90deg,transparent,#d2bd83 14%,#ead9ab 50%,#d2bd83 86%,transparent)!important;opacity:.9!important;pointer-events:none}.game-room .dialogue:before{top:0!important;bottom:auto!important}.game-room .dialogue:after{bottom:0!important;top:auto!important}.game-room .dialogue p{color:#f3eadb!important;font-size:17px;line-height:1.8!important;padding-right:10px!important;text-shadow:0 1px 3px #21192355!important}.game-room .dialogue-next{color:#e4cf98!important;right:24px;bottom:9px;font-size:10px;opacity:.7}
@media(max-width:700px) and (orientation:portrait){.game-room .dialogue{left:0;right:0;width:100%;bottom:calc(119px + env(safe-area-inset-bottom));padding:17px 35px 20px!important;min-height:78px!important;display:flex;align-items:center}.game-room .dialogue p{font-size:14px!important;line-height:1.8!important;letter-spacing:0;max-width:100%;word-break:keep-all}}
/* Exact centering: equal padding and shared control axis. */
.game-room .home-stats-icon{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:8px;line-height:0;aspect-ratio:1;border-radius:50%}.game-room .home-stats-icon svg{display:block;width:100%;height:100%;flex:none;transform:translateY(-1px)}
@media(max-width:700px) and (orientation:portrait){.game-room .home-stats-icon{left:22px;width:44px;height:44px}.game-room .home-phone{left:22px}.game-room .calendar{left:22px}}
/* Planner: calm glass, restrained champagne lines, three clear segments. */
.content-overlay .content-window:has(.planner-layout){background:linear-gradient(135deg,#edf2f6f0,#e4ebf2e8);backdrop-filter:blur(16px)}.planner-paper{background:#fffdf5bd!important;border:1px solid #b8aa8b!important;border-radius:5px!important;box-shadow:0 6px 20px #354e7015!important}.planner-paper:before,.planner-paper:after,.planner-month:after{display:none!important}.planner-month{border-bottom:1px solid #baa780!important}.planner-catalog{background:#fffdf4d4!important;border-color:#baa987!important}.planner-title .eyebrow{font-size:8px;letter-spacing:2px}.planner-title h2{font-size:25px}.planner-title p{font-size:12px}.planner-slots{gap:10px}.plan-slot{border-radius:4px!important;border:1px solid #b2bdcb!important;box-shadow:none!important}.plan-slot.segment-0,.plan-slot.segment-1,.plan-slot.segment-2{background:#eff3f6c7!important}.plan-slot.filled{border-left:3px solid #899db9!important}.plan-slot.target{border-color:#b5a27b!important;background:#fff9eac9!important}.slot-main{min-height:65px}.slot-main strong{font-size:16px}.slot-main small{font-size:10px!important}.planner-category-tabs button{border-radius:4px!important;background:#e6ecf2!important;border-color:#c3cbd5!important}.planner-category-tabs button.active{background:#fff9e8!important;border-color:#baa984!important;box-shadow:none!important}.planner-confirm{border-top:1px solid #baa984;background:#edf1f5ed!important}.planner-confirm>div>strong{font-size:17px}.planner-confirm .primary{background:linear-gradient(110deg,#526c8b,#7188a2);color:#f2e6cf;border:1px solid #c3ad82;border-radius:4px;box-shadow:inset 0 0 0 3px #ffffff12}.planner-activities>button{border-radius:4px!important;box-shadow:none!important;background:#fafbf7c9!important}
/* Monthly planner, rebuilt as a compact three-part timeline. */
.content-window:has(.planner-layout){--plan-ink:#eee5d2;--plan-muted:#b2bfd0;background:linear-gradient(150deg,#29394aef,#172637ef)!important;color:var(--plan-ink);border:1px solid #b6a17a66;box-shadow:0 20px 80px #13203755;backdrop-filter:blur(18px)}.content-window:has(.planner-layout) .window-top{background:transparent;color:#b9c8d9;border-bottom:1px solid #c6b48c55}.content-window:has(.planner-layout) .window-top button{color:#e6d9bf}.content-window:has(.planner-layout) #content{background:transparent!important;color:var(--plan-ink)}.planner-title{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #c6b48c66}.planner-title h2{color:#f0e5cc;font-size:25px;margin:8px 0}.planner-title .eyebrow{color:#acb9ca;font-size:8px;letter-spacing:2px}.planner-title p{color:#b9c6d4;font-size:11px;margin:0}.planner-budget{background:transparent!important;border:0!important;box-shadow:none;padding:0!important;font-size:10px!important;color:#afbdd0!important;white-space:nowrap;text-align:right}.planner-budget b{display:block;font-size:25px;color:#e6d2a7;font-weight:400;line-height:1.6}.monthly-income{font-size:9px!important;color:#a4b5c8!important}.planner-paper{padding:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}.planner-month{font-size:28px;color:#e6d2ab;border-color:#b9a78066!important;margin-bottom:14px}.planner-month span{color:#adbbce;font-size:9px;letter-spacing:2px}.planner-month small{color:#c6d1dd;font-size:10px}.planner-calendar{background:transparent!important;border:0!important;gap:3px!important;padding:0!important}.planner-calendar>b{color:#91a6be;font-size:9px}.planner-calendar .planner-day{border:0!important;background:#ffffff07!important;color:#a8b7ca!important;border-radius:2px!important;box-shadow:none!important;font-size:10px}.planner-calendar .planner-day.is-filled{background:#aebfd029!important;color:#e9dfc8!important}.planner-calendar .planner-day.target-segment{background:#d6c1941f!important;color:#e6d1a6!important}.planner-slots{counter-reset:plan;gap:12px!important;margin-top:19px}.planner-slots .plan-slot{counter-increment:plan;position:relative;padding-left:38px!important;background:#ffffff06!important;border:1px solid #bdc9d02b!important;border-radius:5px!important;box-shadow:none!important;min-height:74px}.planner-slots .plan-slot:before{content:'0' counter(plan);position:absolute;left:12px;top:50%;transform:translateY(-50%);font:18px Georgia,serif;color:#bca983}.planner-slots .plan-slot.target{border-color:#cbb78c9c!important;background:#d7be8e0c!important}.planner-slots .plan-slot.filled{border-left:1px solid #b9c8d35c!important}.slot-main{padding:12px 9px!important;min-height:72px}.slot-main small{color:#a5b5c9!important;font-size:9px!important;letter-spacing:.7px}.slot-main strong{font-size:16px!important;color:#ede3cd!important;line-height:1.5}.slot-tools{gap:4px;padding-right:7px}.slot-tools button{background:#ffffff0a!important;color:#bcc9d8!important;border:1px solid #ffffff16;border-radius:3px!important;font-size:10px;padding:6px;min-width:29px;min-height:30px}.planner-paper>.help{color:#a3b3c6;font-size:10px;line-height:1.7;margin-top:16px}.planner-confirm{background:#1d2c3ef5!important;border:0!important;border-top:1px solid #c8b38d66!important;box-shadow:0 -8px 20px #1020331c;padding:15px 20px!important}.planner-confirm>div>strong{font-size:15px;color:#e8d6b5}.planner-confirm small{font-size:10px;color:#adbfd0}.planner-confirm .primary{background:linear-gradient(120deg,#ccb995,#e2d1ac)!important;color:#29394a!important;border:1px solid #e5d6b5!important;box-shadow:inset 0 0 0 3px #fff2!important;font-size:14px;min-height:44px}.planner-confirm .primary:disabled{opacity:.35}.planner-catalog{background:linear-gradient(140deg,#2b3d51,#1e2e40)!important;border-color:#bdaa8666!important;color:#eadeca}.planner-catalog>h3{color:#eee1c6!important;border-color:#bba88266!important}.planner-category-tabs button{background:#ffffff08!important;color:#9eb1c8!important;border:1px solid #a6b9ce30!important}.planner-category-tabs button.active{background:#d2be9630!important;color:#e8d8b8!important;border-color:#d0b98a88!important}.planner-activities>button{background:#ffffff06!important;border-color:#b9c7d333!important;color:#eee1ca}.planner-activities strong{color:#eee1ca!important}.planner-activities small{color:#a8b9cc!important}.planner-activities .plan-act-cost{color:#ddc69b!important}.planner-activities .plan-act-icon{background:#ffffff0b!important;border-color:#abbcd33d!important;color:#b1c4d9!important}.planner-picker-close{color:#cbd5df!important}
@media(max-width:700px) and (orientation:portrait){.content-window:has(.planner-layout) .window-top{padding:11px 18px;min-height:40px}.content-window:has(.planner-layout) #content{padding:20px 18px 150px!important}.planner-title{margin-bottom:0;padding-bottom:14px;display:flex!important;flex-direction:row!important;align-items:start!important;gap:8px}.planner-title>div{flex:1;min-width:0}.planner-title h2{font-size:22px!important;margin:8px 0!important;letter-spacing:-.7px;white-space:nowrap}.planner-title .eyebrow{font-size:6px!important;letter-spacing:1.4px!important}.planner-title p{font-size:10px!important;line-height:1.7}.planner-budget{width:75px!important;flex:none;margin:0!important;padding:0!important;font-size:9px!important;line-height:1.5}.planner-budget b{font-size:24px!important;line-height:1.4}.monthly-income{font-size:7px!important;letter-spacing:-.4px;white-space:normal;margin-top:5px}.planner-layout{display:block!important;margin-top:0!important}.planner-paper{padding:14px 0 0!important}.planner-month{display:none!important}.planner-calendar{gap:2px!important;margin-bottom:14px}.planner-calendar .planner-day{min-height:17px!important;height:17px!important;padding:1px 3px!important;font-size:8px!important;line-height:1.5!important}.planner-calendar .planner-day i{display:none}.planner-calendar>b{font-size:8px;padding:0 0 4px}.planner-slots{margin-top:0!important;gap:9px!important}.planner-slots .plan-slot{min-height:65px}.slot-main{min-height:63px;padding:10px 7px!important}.slot-main strong{font-size:15px!important}.planner-paper>.help{margin:12px 0 0;font-size:9px!important}.planner-confirm{padding:12px 18px calc(14px + env(safe-area-inset-bottom))!important;border-radius:0!important;left:0!important;right:0!important;width:auto!important;bottom:0!important;gap:10px!important}.planner-confirm>div>strong{font-size:14px!important}.planner-confirm small{font-size:10px!important;margin-top:5px}.planner-confirm .primary{min-height:43px!important;font-size:13px!important;margin-top:7px!important}.planner-catalog.picker-open{max-height:73dvh}.planner-catalog .planner-activities{max-height:calc(73dvh - 160px)}body:has(.content-overlay.is-open) .settings-launcher{display:none!important}}
/* Confirmation belongs after all three slots, never over the planner. */
.content-window .planner-confirm{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:22px 0 0!important;box-sizing:border-box;z-index:auto!important;flex-shrink:0}.content-window #content:has(.planner-layout){padding-bottom:24px!important}.planner-confirm:before,.planner-confirm:after{display:none!important}
@media(max-width:700px) and (orientation:portrait){.content-window:has(.planner-layout) #content{padding:20px 18px 26px!important}.content-window .planner-confirm{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;margin-top:20px!important;padding:16px 0 calc(12px + env(safe-area-inset-bottom))!important;background:transparent!important;border-radius:0!important}.planner-confirm .primary{width:100%!important}}
/* Home schedule CTA matches the cinematic dialogue. */
.game-room .schedule-main{display:flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(110deg,#26374bd9,#3a4b61d9,#25364bd9)!important;border:1px solid #d3bf936e!important;border-radius:6px!important;color:#eee2c8!important;box-shadow:inset 0 0 0 3px #d4c2990d,0 5px 15px #182b4429!important;backdrop-filter:blur(10px);text-shadow:none!important;letter-spacing:2px;font-weight:400}.game-room .schedule-main:before,.game-room .schedule-main:after{content:'';display:block;flex:none;width:5px;height:5px;margin:0!important;border:1px solid #dbc495;background:transparent!important;box-shadow:none!important;transform:rotate(45deg)}.game-room .schedule-main:hover{background:linear-gradient(110deg,#354a62e8,#4a5f78e8,#354a62e8)!important}.game-room .schedule-main:active{transform:translateY(1px);box-shadow:inset 0 2px 7px #14263a40!important}
@media(max-width:700px) and (orientation:portrait){.game-room .schedule-main{left:25px;right:25px;width:calc(100% - 50px);height:46px!important;font-size:16px;bottom:calc(56px + env(safe-area-inset-bottom))}}
/* Outings share the quiet evening-glass navigation system. */
.destination-screen{background:#1a2939!important;color:#eee3cb}.destination-screen .destination-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1624330a,#16243355 35%,#1a2939ed 80%,#1a2939)}.destination-screen header{background:linear-gradient(110deg,#263548cc,#26354896)!important;border:0!important;border-top:1px solid #cbb68b77!important;border-bottom:1px solid #cbb68b77!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:blur(9px);padding:22px 25px!important}.destination-screen header:before,.destination-screen header:after{display:none!important}.destination-screen header small{color:#bdc8d6!important;font-size:9px;letter-spacing:3px}.destination-screen header h1{color:#eee1c6!important;font-size:30px;margin:12px 0!important;text-shadow:none}.destination-screen header p{color:#c3cbd5!important;font-size:14px;line-height:1.7}.destination-options{counter-reset:destination;gap:11px}.destination-options>button{counter-increment:destination;position:relative;background:linear-gradient(110deg,#34465cce,#283a50b8)!important;backdrop-filter:blur(10px);border:1px solid #c7b38c55!important;border-radius:5px!important;box-shadow:none!important;padding:19px 42px 19px 51px!important;min-height:90px;color:#eee2cb}.destination-options>button:before{content:counter(destination,decimal-leading-zero)!important;position:absolute;left:16px;top:22px;font:15px Georgia,serif;color:#c0ad85;display:block;width:auto;height:auto;border:0;background:none!important}.destination-options>button:after{display:none!important}.destination-options strong{color:#eee2cb!important;font-size:21px!important;font-weight:400;text-shadow:none;line-height:1.5}.destination-options small{color:#b5c3d3!important;font-size:11px!important;line-height:1.6;margin-top:6px}.destination-options>button>span{color:#d0bb8e!important;right:17px;top:27px}.destination-options>button:hover{background:#4c6079cc!important;border-color:#d2be98a8!important}.destination-options>button:disabled{opacity:.4}.destination-back{border:0!important;border-bottom:1px solid #c4b08866!important;background:transparent!important;color:#cfc1a5!important;border-radius:0!important;box-shadow:none!important;font-size:13px;padding:10px 2px!important}.destination-result{background:#24364bdd!important;border:1px solid #c7b38c55!important;color:#eee2cb;border-radius:6px;backdrop-filter:blur(10px)}.destination-result h2{color:#eee2cb!important}.destination-result p{color:#e1dcd0!important}.destination-result small{color:#b8c5d4!important}.destination-result .primary{background:#d4c19b!important;border:1px solid #ebd9b3!important;color:#2d3d50!important;box-shadow:none;border-radius:4px}
@media(max-width:700px) and (orientation:portrait){.destination-screen{padding:18px 18px calc(20px + env(safe-area-inset-bottom))!important}.destination-screen header{margin-top:22dvh!important;padding:18px 17px!important;margin-bottom:16px!important}.destination-screen header h1{font-size:25px!important;margin:9px 0!important}.destination-screen header small{font-size:8px!important;letter-spacing:2px}.destination-screen header p{font-size:12px!important;margin:0!important}.destination-options{gap:9px}.destination-options>button{padding:14px 29px 14px 39px!important;min-height:74px!important}.destination-options>button:before{left:12px;top:19px;font-size:12px}.destination-options strong{font-size:17px!important;letter-spacing:-.3px;white-space:normal!important}.destination-options small{font-size:9px!important;line-height:1.7;margin-top:5px}.destination-options>button>span{right:12px;top:20px;font-size:14px}.destination-back{margin-top:15px!important;min-height:35px;font-size:12px!important}.destination-result h2{font-size:22px!important}.destination-result p{font-size:15px!important}.destination-has-scene header{margin-top:15dvh!important}}
/* Home actions: quiet typography and a single clean silhouette. */
.game-room .schedule-main{background:#24364ac4!important;border:1px solid #f1e2bf85!important;border-radius:3px!important;box-shadow:0 3px 14px #24364a1f!important;color:#f3e9d5!important;font-family:Diphylleia,serif;font-size:18px;font-weight:400;letter-spacing:3px;text-shadow:none!important;backdrop-filter:blur(8px);padding:10px 24px!important}.game-room .schedule-main:before,.game-room .schedule-main:after{content:none!important;display:none!important}.game-room .schedule-main:hover{background:#344b63db!important;border-color:#f2e3c1!important}.game-room .schedule-main:active{transform:translateY(1px);background:#26394fed!important}.settings-launcher{display:grid;place-items:center;box-sizing:border-box;width:36px!important;height:36px!important;padding:8px!important;background:none!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline-offset:1px;color:#415b76!important;backdrop-filter:none!important;filter:drop-shadow(0 1px 2px #fff9);opacity:.85}.settings-launcher svg{display:block;width:20px!important;height:20px!important;stroke-width:1.5}.settings-launcher:before,.settings-launcher:after{display:none!important}.settings-launcher:hover{opacity:1;color:#273e59!important}
@media(max-width:700px) and (orientation:portrait){.game-room .schedule-main{left:calc(50% - 100px);right:auto;width:200px;height:43px!important;bottom:calc(58px + env(safe-area-inset-bottom));font-size:17px}.settings-launcher{right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}}
.settings-launcher{aspect-ratio:1!important;flex-shrink:0!important;transform:none!important}.settings-launcher svg{width:22px!important;height:22px!important;min-width:22px;min-height:22px;aspect-ratio:1;flex-shrink:0;transform:none!important;overflow:visible}
/* The main action is a bespoke engraved plaque, not a stock rectangle. */
.game-room .schedule-main{width:300px;height:66px!important;min-height:0!important;padding:0 48px!important;border:0!important;border-radius:0!important;background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;color:#f4e8ca!important;box-shadow:none!important;filter:drop-shadow(0 5px 7px #18283c55);backdrop-filter:none!important;font-family:Diphylleia,serif;font-size:20px;font-weight:400;letter-spacing:4px;text-shadow:0 2px 2px #0c1a2d;transition:filter .2s,transform .2s}.game-room .schedule-main:before,.game-room .schedule-main:after{display:none!important}.game-room .schedule-main:hover{background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;filter:drop-shadow(0 5px 9px #18283c55) brightness(1.14)}.game-room .schedule-main:active{background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;transform:translateY(2px);filter:brightness(.96) drop-shadow(0 2px 3px #18283c55);box-shadow:none!important}
@media(max-width:700px) and (orientation:portrait){.game-room .schedule-main{left:50%;right:auto;width:min(300px,calc(100% - 30px));height:66px!important;bottom:calc(43px + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:19px;letter-spacing:4px;padding:0 48px!important}.game-room .schedule-main:active{transform:translateX(-50%) translateY(2px)}}
/* City is a compact destination menu: title above the view, five priced rows. */
.destination-city header{position:relative;margin:0 0 0!important;padding:16px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;width:100%!important}.destination-city header small,.destination-city header p{display:none!important}.destination-city header h1{font-size:26px!important;line-height:1.4;margin:0!important;text-shadow:0 2px 9px #112337b3;color:#f1e6cc!important}.destination-city .destination-options{margin-top:26dvh;gap:9px;width:100%}.destination-city .destination-options>button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:55px!important;padding:14px 17px!important;border-radius:4px!important}.destination-city .destination-options>button:before{display:none!important}.destination-city .destination-options strong{font-size:18px!important;white-space:nowrap!important;line-height:1.5}.city-cost{font-family:system-ui,sans-serif;font-size:12px;line-height:1.5;font-weight:400;color:#d6c39e;white-space:nowrap;flex:none}.destination-city .destination-back{align-self:flex-start;margin-top:15px!important}.destination-city.destination-has-scene .destination-options{margin-top:43dvh!important}
@media(max-width:700px) and (orientation:portrait){.destination-city header{margin-top:env(safe-area-inset-top)!important;padding:9px 0 15px!important}.destination-city header h1{font-size:23px!important}.destination-city .destination-options{margin-top:24dvh!important;gap:8px}.destination-city .destination-options>button{min-height:51px!important;padding:12px 14px!important}.destination-city .destination-options strong{font-size:16px!important;letter-spacing:-.3px}.destination-city .city-cost{font-size:11px}.destination-city .destination-back{font-size:11px!important;margin-top:12px!important}}
/* Activity conclusion: editorial photo caption with a memory seal. */
.destination-screen .destination-result{position:relative;isolation:isolate;width:100%;padding:28px 26px 23px!important;border:0!important;border-top:1px solid #d7bd877d!important;border-bottom:1px solid #d7bd8752!important;border-radius:0!important;background:linear-gradient(120deg,#24354de8,#1e3046dc)!important;box-shadow:0 14px 35px #15243a24!important;backdrop-filter:blur(14px)}.outing-result-label{font-family:system-ui,sans-serif;font-size:8px;color:#bda87d;letter-spacing:3px;margin-bottom:13px}.destination-screen .destination-result h2{font-size:26px!important;font-weight:400;line-height:1.5;letter-spacing:.3px;color:#f0e3c8!important;margin:0 0 16px!important;padding:0!important}.destination-screen .destination-result p{font-family:Diphylleia,serif;font-size:17px!important;line-height:1.9!important;word-break:keep-all;color:#dedfdc!important;margin:0 0 21px!important}.destination-screen .destination-result>small{display:flex;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-size:10px!important;color:#aabdd0!important;padding-top:14px;border-top:1px solid #b6c5d32b;line-height:1.7}.destination-screen .destination-result>small:before{content:'';width:6px;height:6px;flex:none;border:1px solid #d1b984;transform:rotate(45deg)}.destination-screen .destination-result #destinationHome{display:block;width:100%;margin-top:22px!important;min-height:44px!important;padding:10px 16px!important;background:#d3c09b!important;border:1px solid #e6d5af!important;border-radius:3px!important;color:#2c3e54!important;font-family:system-ui,sans-serif;font-size:13px!important;letter-spacing:.3px;box-shadow:inset 0 0 0 3px #ffffff14!important}.destination-screen .destination-result #destinationHome:hover{background:#e2d2b1!important}.destination-has-scene .destination-options{width:100%}.destination-result .friend-encounter-art{border-radius:3px;border:1px solid #c7b58d66}
@media(max-width:700px) and (orientation:portrait){.destination-screen.destination-has-scene header{display:none!important}.destination-screen.destination-has-scene .destination-options{margin-top:48dvh!important}.destination-screen .destination-result{padding:22px 20px 20px!important}.destination-screen .destination-result h2{font-size:23px!important;margin-bottom:12px!important}.destination-screen .destination-result p{font-size:15px!important;line-height:1.85!important;margin-bottom:17px!important}.outing-result-label{font-size:7px;letter-spacing:2.5px;margin-bottom:10px}.destination-screen .destination-result>small{font-size:9px!important;padding-top:12px}.destination-screen .destination-result #destinationHome{font-size:12px!important;min-height:41px!important;margin-top:18px!important}.destination-screen.destination-has-scene{padding-left:16px!important;padding-right:16px!important}}
/* Talking is initiated beside the character, not an always-visible caption. */
.game-room .home-conversation[hidden],.game-room .home-chat[hidden]{display:none!important}.home-chat{position:absolute;left:42%;top:45%;z-index:4;display:grid;place-items:center;width:43px;height:43px;padding:10px;border:1px solid #eeddb480;border-radius:50%;background:#263a50b8;color:#f0e2c4;box-shadow:0 4px 12px #24354c22;backdrop-filter:blur(8px)}.home-chat svg{display:block;width:23px;height:23px}.home-chat:hover{background:#40576edb}.game-room.panel-open .home-chat{display:none}body:has(dialog[open]) .home-chat{visibility:hidden}.game-room .home-conversation{padding-bottom:41px!important}.conversation-next{position:absolute;right:31px;bottom:8px;min-height:27px;padding:3px 9px;border:0;border-bottom:1px solid #d8c29866;background:transparent;color:#f0dfb8;font-family:system-ui,sans-serif;font-size:11px;letter-spacing:.4px}.conversation-close{position:absolute;right:14px;top:6px;width:26px;height:26px;border:0;background:transparent;color:#e4d4b6;font-size:20px;padding:0}.chat-feedback{position:absolute;left:50%;top:-29px;transform:translateX(-50%);white-space:nowrap;font-family:system-ui,sans-serif;font-size:11px;color:#f3e7c9;text-shadow:0 1px 5px #182b40;pointer-events:none;animation:chat-feedback 2.8s both}@keyframes chat-feedback{0%{opacity:0;translate:0 5px}15%,75%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -7px}}
@media(max-width:700px) and (orientation:portrait){.game-room .home-chat{left:calc(50% + 65px);top:47%;width:40px;height:40px;padding:9px}.game-room .home-conversation{min-height:107px!important;padding:16px 36px 40px!important;bottom:calc(119px + env(safe-area-inset-bottom))}.conversation-next{right:29px;font-size:10px}.conversation-close{right:12px;top:5px}}
/* Speech glyph and circular hit area share an exact 24-unit center. */
.game-room .home-chat{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px!important;aspect-ratio:1!important;line-height:0!important}.game-room .home-chat svg{display:block!important;box-sizing:border-box;width:24px!important;height:24px!important;min-width:24px;min-height:24px;flex:0 0 24px;margin:0!important;transform:none!important;aspect-ratio:1}.game-room .home-chat[hidden]{display:none!important}
/* Interactive home controls: saturated ink, clear ivory glyphs, tactile feedback. */
.game-room .home-stats-icon,.game-room .home-chat{background:linear-gradient(145deg,#46678beF,#233d5eef)!important;border:1px solid #ead3a1!important;color:#fff0ca!important;box-shadow:0 3px 10px #213b5f40,inset 0 0 0 3px #9cbfe21a!important;backdrop-filter:blur(5px);opacity:1;transition:background .16s,box-shadow .16s,scale .16s}.game-room .home-stats-icon:hover,.game-room .home-chat:hover{background:linear-gradient(145deg,#5a83ac,#34597d)!important;box-shadow:0 0 0 3px #d8bf8530,0 4px 14px #223e6250!important}.game-room .home-stats-icon:active,.game-room .home-chat:active{scale:.94;background:#557ca0!important;box-shadow:inset 0 2px 5px #142a4555!important}.game-room .home-stats-icon svg,.game-room .home-chat svg{stroke-width:1.6}.game-room .phone-case{background:linear-gradient(145deg,#44698b,#294a6f)!important;border-color:#ecd8ad!important;outline-color:#284c70!important;box-shadow:0 4px 13px #183f6940,inset 0 0 0 3px #8cb1d34a!important}.game-room .phone-time{color:#fff0cf!important}.game-room .phone-apps i{background:#ecdfbe!important;border-color:#fff4d6!important;color:#35557d!important;box-shadow:0 2px 3px #152f4e30}.game-room .phone-camera{background:#172c43!important}.game-room .phone-home{background:#f1dfb4!important}.game-room .home-phone{transition:filter .16s}.game-room .home-phone:hover{filter:brightness(1.15)}.game-room .home-phone:active{filter:brightness(1.3)}.settings-launcher{color:#23466b!important;opacity:1!important;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 0 3px #fff9)!important}.settings-launcher:hover{color:#527fa8!important}.settings-launcher:active{scale:.92}.game-room .profile-heading h1 .name-menu{color:#294f79!important;text-shadow:0 1px #fff9}.game-room .name-menu:hover{color:#4a79a5!important}.game-room .name-menu:active{opacity:.7}
@media(prefers-reduced-motion:reduce){.game-room .home-stats-icon,.game-room .home-chat,.game-room .home-phone{transition:none}}
/* Midnight violet: richer controls without changing layout or warm accents. */
.game-room .home-stats-icon,.game-room .home-chat{background:linear-gradient(140deg,#4c3b68f5,#29213ff5 60%,#191e34f5)!important;box-shadow:0 3px 11px #251c424d,inset 0 0 0 3px #b4a0d21c!important}.game-room .home-stats-icon:hover,.game-room .home-chat:hover{background:linear-gradient(140deg,#675080,#3b2c57 60%,#292e48)!important}.game-room .home-stats-icon:active,.game-room .home-chat:active{background:#4c3968!important}.game-room .phone-case{background:linear-gradient(145deg,#51416b,#2b2243 65%,#1e243b)!important;border-color:#ecd8ad!important;outline-color:#3b3054!important;box-shadow:0 4px 13px #241c4440,inset 0 0 0 3px #bba5d139!important}.game-room .phone-apps i{color:#45345f!important}.game-room .phone-camera{background:#161326!important}.settings-launcher{color:#392a54!important}.settings-launcher:hover{color:#6a4f89!important}.game-room .profile-heading h1 .name-menu{color:#44335e!important}.game-room .name-menu:hover{color:#73588e!important}
/* Unified midnight-violet & antique-gold palette. */
:root{--key-violet:#49345f;--key-navy:#161c32;--key-surface:#2d2543;--key-gradient:linear-gradient(140deg,#47345ef5,#29213ff7 55%,#161d32f7);--key-gold:#d5bc87;--key-gold-line:#d5bc8766;--key-text:#f0e5ce;--key-muted:#b8adc9;--ink:#eee2c9;--muted:#b8adc9;--gold:#d5bc87;--line:#8b759d;--paper:#2d2543}
#modal,.settings-card,.asset-editor-window,.content-window,.content-window:has(.planner-layout),.month-stage.lesson-art-stage{background:var(--key-gradient)!important;color:var(--key-text)!important;border-color:var(--key-gold-line)!important;box-shadow:0 16px 65px #100e2a55,inset 0 0 0 3px #d5bc870b!important}
#modal.profile-book-dialog,#modal.home-stats-dialog,.month-outing-dialog,.growth-report-dialog,#modal.social-phone-dialog{background:var(--key-gradient)!important;border-color:var(--key-gold-line)!important;box-shadow:0 16px 65px #100e2a55,inset 0 0 0 4px #d5bc8710!important}
#modal :is(h1,h2,h3,strong),.settings-card :is(h1,h2,h3),.asset-editor-window :is(h1,h2,h3),.content-window :is(h1,h2,h3),#modal.profile-book-dialog .profile-modal-head h1,#modal.profile-book-dialog .profile-actions button,.stats-popup-head h2{color:var(--key-text)!important}#modal :is(p,.help),.settings-card .help,.content-window .help,.asset-editor-window .help{color:var(--key-muted)!important}
#modal button:not(.primary),.settings-card button,.asset-editor-window button,.save-slots button{color:var(--key-text);border-color:var(--key-gold-line);background:#ab93c312}.primary:not(.schedule-main),#modal .primary,.settings-card .primary{background:linear-gradient(120deg,#c3a572,#ecdcaf)!important;border:1px solid #ead5a5!important;color:#30243e!important;box-shadow:inset 0 0 0 3px #fff2!important}
.game-room .calendar,.game-room .budget{background:linear-gradient(135deg,#46345eae,#1c233ba8)!important;border-color:#d8c08c70!important;color:var(--key-text)!important;box-shadow:inset 0 0 0 2px #dbc59312,0 3px 12px #19112f20!important}.game-room .compact-date,.game-room .compact-date span,.game-room .budget>span,.game-room .budget>strong,.game-room .budget>strong small,.game-room .calendar-main,.game-room .calendar-year,.game-room .calendar-foot{color:var(--key-text)!important}.game-room .profile-heading{background:linear-gradient(110deg,#594172c9,#23213dc9)!important;box-shadow:inset 0 1px #dec99b88,inset 0 -1px #dec99b88!important}.game-room .profile-heading h1 .name-menu{color:#f4e4bd!important;text-shadow:none}.game-room .profile-heading h1>span{background:#d1b987!important;color:#30243f!important;border-color:#e2cda4}.game-room .dialogue{background:linear-gradient(90deg,transparent,#35243fc9 14%,#1c2036d1 83%,transparent)!important}.game-room .room-location{background:#2e2444ba;color:#eadac0;border-color:var(--key-gold-line)}
.content-window .window-top,.content-window:has(.planner-layout) .window-top,.asset-editor header{background:#211b34a8!important;color:var(--key-muted)!important;border-color:var(--key-gold-line)!important}.content-window #content,.content-window:has(.planner-layout) #content{background:transparent!important;color:var(--key-text)!important}.planner-confirm{background:transparent!important}.planner-catalog{background:var(--key-gradient)!important}.planner-activities>button,.planner-slots .plan-slot,.planner-slots .plan-slot.segment-0,.planner-slots .plan-slot.segment-1,.planner-slots .plan-slot.segment-2{background:#b7a1ce0a!important;border-color:#c4acd047!important}.planner-slots .plan-slot.target{background:#d5bc8717!important;border-color:#d5bc8799!important}.planner-category-tabs button,.profile-book-tabs button{background:#a38bbb14!important;border-color:#c9b1d23d!important;color:#c4b4d2!important}.planner-category-tabs button.active,.profile-book-tabs button[aria-selected=true]{background:#d5bc8726!important;border-color:#d5bc8790!important;color:#f1dfb8!important;box-shadow:none!important}.planner-title h2,.planner-title .eyebrow,.planner-title p{color:var(--key-text)!important}.planner-title p,.monthly-income,.planner-paper>.help{color:var(--key-muted)!important}.planner-budget b,.plan-act-cost{color:var(--key-gold)!important}.planner-calendar .planner-day{color:#bbadce!important}.planner-calendar .planner-day.is-filled{background:#b6a0cd2e!important;color:#f1e3c8!important}
.destination-screen{background:#181b30!important}.destination-screen .destination-art:after{background:linear-gradient(180deg,#22182f06,#251b3544 35%,#191c31ee 82%,#181b30)!important}.destination-screen header{background:linear-gradient(120deg,#3d2c50d9,#1c2339c9)!important;border-color:var(--key-gold-line)!important}.destination-city header{background:transparent!important}.destination-options>button,.destination-screen .destination-result{background:linear-gradient(120deg,#45325bdc,#24213cdd)!important;border-color:var(--key-gold-line)!important}.destination-options small{color:var(--key-muted)!important}.destination-options>button:hover{background:#57406acc!important}.destination-screen .destination-result p{color:#e5dbe9!important}
#modal.profile-book-dialog .profile-actions button,.save-slots button,.outing-choices button,.social-phone-home,.social-profile,.social-numbers,.social-feed-list>*,.report-ledger{background:linear-gradient(120deg,#9274ac14,#a0a8d00c)!important;border-color:#c1a8cc47!important;color:var(--key-text)!important}#modal.profile-book-dialog .profile-actions button>span{background:#d5bc871a!important;border-color:#d5bc8766!important;color:#e5ce9f!important}#modal.profile-book-dialog .profile-modal-head p,#modal.profile-book-dialog .menu-back,.stats-popup-head small,.report-heading p,.report-heading small,.report-memory,.report-bottom-line{color:var(--key-muted)!important}.report-stat-track,.home-stats-dialog .bar{background:#c3b0d422!important}.report-stat-track i,.home-stats-dialog .bar i{background:linear-gradient(90deg,#9577b5,#d2bfdf)!important}.report-seal,.report-ribbon{background:linear-gradient(130deg,#63467d,#2e294a)!important;border-color:var(--key-gold-line)!important;color:#eddbb5!important}.report-stat-main label,.report-ledger span{color:#c5b7cf!important}.report-balance,.report-stat>strong{color:#e6ce9f!important}.month-outing-dialog .outing-choices button{background:linear-gradient(120deg,#51406888,#27213f88)!important}.month-outing-dialog .outing-choices button :is(strong,span){color:#efe1c5!important}
.settings-card .music-controls,.settings-card .touch-toolbar{background:transparent!important;color:var(--key-text)!important}.settings-card input[type=range]{accent-color:#cbb080}.settings-card h2{border-color:var(--key-gold-line)!important}.settings-card button,.asset-filters button{background:#b098c41a!important;border-color:#bda1ca55!important;color:#eddfc9!important}.settings-card button[aria-pressed=true],.asset-filters button.active{background:#d5bc8730!important;border-color:#d5bc87!important}.asset-list,.asset-filters,.asset-detail{background:transparent!important;border-color:var(--key-gold-line)!important}.asset-list button{background:#a389bf12!important;color:var(--key-text)!important}.lesson-art-stage .month-heading,.lesson-art-stage .scene-caption{background:transparent!important;color:var(--key-text)!important}.lesson-art-stage .month-heading h1,.lesson-art-stage .scene-caption{color:var(--key-text)!important}.lesson-art-stage .activity-step-dots span{border-color:var(--key-gold-line);color:var(--key-muted)}.lesson-art-stage .activity-step-dots span.current{background:#bd9d6540;color:#f3dfb6}.lesson-art-stage>button{background:transparent!important;color:var(--key-muted)!important}.month-progress{background:#bcabd12b!important}.month-progress i{background:linear-gradient(90deg,#9171ae,#d7bf91)!important}
/* SNS: readable tabs and a compact dashboard. */
#modal.social-phone-dialog .phone-popup-tabs{background:#19192f!important;border:1px solid #c8ad795e!important;padding:3px;margin:12px 0 15px;gap:4px;border-radius:6px}#modal.social-phone-dialog .phone-popup-tabs button{background:transparent!important;color:#c6bad4!important;border:1px solid transparent!important;min-height:33px;padding:6px;font-size:12px;border-radius:3px;box-shadow:none!important}#modal.social-phone-dialog .phone-popup-tabs button.active{background:linear-gradient(120deg,#c5a977,#ead6a7)!important;color:#30213f!important;border-color:#e9d4a6!important;font-weight:600}#modal.social-phone-dialog .social-profile{padding:0!important;gap:11px;margin-bottom:13px;background:transparent!important;border:0!important}#modal.social-phone-dialog .social-avatar{width:43px;height:43px;outline-width:2px}#modal.social-phone-dialog .social-profile small{font-size:6px;letter-spacing:1.6px;color:#c5ae81}#modal.social-phone-dialog .social-profile h1{font-size:18px!important;margin:3px 0;line-height:1.4}#modal.social-phone-dialog .social-profile span{font-size:9px;color:#c0b3cf}#modal.social-phone-dialog .social-numbers{padding:12px 8px;margin-bottom:12px;border-radius:5px}#modal.social-phone-dialog .social-numbers small{font-size:9px;color:#c6b6d0}#modal.social-phone-dialog .social-numbers strong{font-size:25px;margin-top:5px;line-height:1.2;color:#f3e1b9!important}#modal.social-phone-dialog .social-numbers strong span{font-size:9px;color:#c6b6d0}#modal.social-phone-dialog .social-numbers>div+div{border-color:#bba3c64a}#modal.social-phone-dialog .social-game-hint{padding-bottom:11px;gap:7px;border-color:#bba3c647}#modal.social-phone-dialog .social-game-hint p{font-size:10px;line-height:1.7}#modal.social-phone-dialog .social-hint-mark svg{width:19px;height:19px}#modal.social-phone-dialog .social-feed-heading{font-size:16px;margin:13px 0 9px}#modal.social-phone-dialog .social-feed-list article{padding:10px;margin-bottom:7px}#modal.social-phone-dialog .social-feed-list article p{font-size:11px;line-height:1.7;margin-top:5px}#modal.social-phone-dialog .social-feed-list article small{font-size:9px;color:#cfb687}#modal.social-phone-dialog .social-phone-home{margin-top:15px;background:#baa8ca!important}#modal.social-phone-dialog .phone-popup-top{padding:10px 0 7px;border-color:#bba3c647}#modal.social-phone-dialog .phone-popup-top>span{color:#c6b6d0;font-size:9px}
@media(max-width:700px) and (orientation:portrait){#modal.social-phone-dialog{max-height:90dvh;width:calc(100vw - 32px);padding:0 15px 13px}#modal.social-phone-dialog .social-avatar{width:39px;height:39px}#modal.social-phone-dialog .social-profile h1{font-size:17px!important}#modal.social-phone-dialog .social-numbers{padding:10px 7px}#modal.social-phone-dialog .social-numbers strong{font-size:23px}#modal.social-phone-dialog .phone-popup-tabs{margin:10px 0 13px}#modal.social-phone-dialog .phone-popup-tabs button{font-size:11px;min-height:31px}#modal.social-phone-dialog .social-profile{margin-bottom:12px}#modal.social-phone-dialog .social-empty{padding:14px 4px;font-size:11px}}
.conversation-limit{position:absolute;left:35px;bottom:14px;max-width:55%;font-family:system-ui,sans-serif;font-size:8px;line-height:1.5;color:#c9b9d3;letter-spacing:0}
/* Monthly report: all six growth rows, ledger and CTA fit a phone viewport. */
#modal.growth-report-dialog{box-sizing:border-box;width:min(380px,calc(100vw - 30px));max-height:calc(100dvh - 30px);padding:23px 22px 18px;overflow:auto}#modal.growth-report-dialog .report-ribbon{position:static;display:inline-block;padding:5px 10px;font-size:7px;letter-spacing:1.6px;margin-bottom:11px;transform:none}#modal.growth-report-dialog .report-heading{padding:0 40px 12px 0}#modal.growth-report-dialog .report-heading small{font-size:9px}#modal.growth-report-dialog .report-heading h1{font-size:24px;line-height:1.4;margin:6px 0}#modal.growth-report-dialog .report-heading p{font-size:10px;margin:0;line-height:1.5}#modal.growth-report-dialog .report-seal{top:59px;right:22px;width:34px;height:34px}#modal.growth-report-dialog .report-seal span{font-size:6px}#modal.growth-report-dialog .report-seal b{font-size:16px}#modal.growth-report-dialog .report-stat-list{padding-top:6px}#modal.growth-report-dialog .report-stat{padding:7px 0;gap:8px}#modal.growth-report-dialog .report-stat-symbol{width:24px;height:24px;flex-shrink:0}#modal.growth-report-dialog .report-stat-symbol svg{width:15px;height:15px}#modal.growth-report-dialog .report-stat-main label{font-size:11px;line-height:1.4;margin-bottom:5px}#modal.growth-report-dialog .report-stat-main label small{font-size:8px}#modal.growth-report-dialog .report-stat-track{height:4px}#modal.growth-report-dialog .report-stat>strong{font-size:16px;width:44px}#modal.growth-report-dialog .report-ledger{margin-top:10px;padding:10px 12px}#modal.growth-report-dialog .report-ledger>div{padding:4px 0;font-size:10px;line-height:1.4}#modal.growth-report-dialog .report-ledger b{font-size:11px}#modal.growth-report-dialog .report-balance{margin-top:5px;padding-top:7px!important}#modal.growth-report-dialog .report-memory{margin:11px 0;gap:7px}#modal.growth-report-dialog .report-memory p{font-size:10px;margin:0}#modal.growth-report-dialog .report-memory svg{width:16px;height:16px}#modal.growth-report-dialog>.primary{min-height:39px;padding:9px 12px;font-size:13px;width:100%;line-height:1.4}#modal.growth-report-dialog .report-bottom-line{margin-top:10px}#modal.growth-report-dialog .report-rest{font-size:12px;padding:10px 0}
@media(max-height:680px){#modal.growth-report-dialog{padding:17px 19px 14px;max-height:calc(100dvh - 20px)}#modal.growth-report-dialog .report-ribbon{margin-bottom:8px;padding:4px 8px;font-size:6px}#modal.growth-report-dialog .report-heading{padding-bottom:9px}#modal.growth-report-dialog .report-heading h1{font-size:22px;margin:4px 0}#modal.growth-report-dialog .report-heading p{font-size:9px}#modal.growth-report-dialog .report-seal{top:47px;right:19px;width:31px;height:31px}#modal.growth-report-dialog .report-stat{padding:5px 0}#modal.growth-report-dialog .report-stat-symbol{width:21px;height:21px}#modal.growth-report-dialog .report-stat-main label{font-size:10px;margin-bottom:4px}#modal.growth-report-dialog .report-stat>strong{font-size:15px}#modal.growth-report-dialog .report-ledger{margin-top:8px;padding:7px 10px}#modal.growth-report-dialog .report-ledger>div{padding:3px 0;font-size:9px}#modal.growth-report-dialog .report-memory{margin:9px 0}#modal.growth-report-dialog>.primary{min-height:36px;font-size:12px;padding:8px 10px}#modal.growth-report-dialog .report-bottom-line{margin-top:7px}}
/* City refinements: translucent rounded choices and a legible scene title. */
.destination-city header{position:relative;z-index:2;background:linear-gradient(90deg,#20182e9c,#20182e22,transparent)!important;border-radius:10px!important;padding:15px 17px!important}.destination-city header h1{color:#fff0ce!important;font-size:28px!important;letter-spacing:1px;text-shadow:0 2px 5px #100c22cc,0 0 18px #1a102caa!important}.destination-city .destination-options>button{border-radius:17px!important;background:linear-gradient(115deg,#523a6b9c,#22233eaa)!important;border:1px solid #d5bd8880!important;box-shadow:inset 0 1px #fff1cc1c,0 4px 12px #17132920!important;backdrop-filter:blur(7px)!important;transition:background .18s,border-color .18s,transform .18s}.destination-city .destination-options>button:hover{background:linear-gradient(115deg,#70518bb8,#343250bf)!important;border-color:#f0d5a0bb!important}.destination-city .destination-options>button:active{transform:scale(.985);background:linear-gradient(115deg,#775890c9,#343250cf)!important}.destination-city .destination-options strong{color:#f7e9cc!important;text-shadow:0 1px 2px #1a142e33}.destination-city .city-cost{color:#eed4a0!important;background:#1c183332;border:1px solid #dec79433;border-radius:20px;padding:4px 9px;font-size:11px}
@media(max-width:700px) and (orientation:portrait){.destination-city header{padding:12px 14px!important;margin-top:env(safe-area-inset-top)!important}.destination-city header h1{font-size:25px!important;line-height:1.5}.destination-city .destination-options>button{border-radius:16px!important;padding:12px 15px!important}.destination-city .city-cost{font-size:10px;padding:3px 8px}}
/* Activity result: full-bleed scene behind a compact floating popup. */
.destination-screen.destination-has-scene{isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:100dvh;background:#1b1930!important;padding:24px!important}.destination-screen.destination-has-scene .destination-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;background-size:cover!important;background-position:center!important;opacity:1!important;z-index:-2!important;mask-image:none!important;-webkit-mask-image:none!important}.destination-screen.destination-has-scene .destination-art:after{position:absolute;inset:0;background:linear-gradient(180deg,#17162b0a,#17162b10 32%,#17162b99 100%)!important}.destination-screen.destination-has-scene header{display:none!important}.destination-screen.destination-has-scene .destination-options{display:block!important;width:100%!important;max-width:440px!important;margin:0 auto!important;position:relative!important;z-index:1}.destination-screen.destination-has-scene .destination-result{padding:23px!important;border:1px solid #d6bd8870!important;border-radius:16px!important;background:linear-gradient(130deg,#44315bdd,#1d2037ed)!important;box-shadow:0 15px 50px #13102255,inset 0 1px #ffefcd18!important;backdrop-filter:blur(14px)}.destination-screen.destination-has-scene .destination-result h2{font-size:23px!important;line-height:1.5!important;word-break:keep-all;overflow-wrap:break-word;letter-spacing:-.5px;margin-bottom:13px!important}.destination-screen.destination-has-scene .destination-result p{font-size:15px!important;line-height:1.85!important;word-break:keep-all;overflow-wrap:break-word;margin-bottom:16px!important}.destination-screen.destination-has-scene .outing-result-label{font-size:7px;letter-spacing:2px;margin-bottom:10px}.destination-screen.destination-has-scene .destination-result>small{font-size:9px!important}.destination-screen.destination-has-scene .friend-encounter-art{max-height:16dvh;object-fit:cover;width:100%;margin:0 0 12px}.destination-screen.destination-has-scene #destinationHome{min-height:39px!important;margin-top:16px!important;font-size:12px!important}
@media(max-width:700px) and (orientation:portrait){.destination-screen.destination-has-scene{padding:18px 18px calc(23px + env(safe-area-inset-bottom))!important}.destination-screen.destination-has-scene .destination-options{margin:0 auto!important}.destination-screen.destination-has-scene .destination-result{padding:20px 18px 18px!important;border-radius:14px!important}.destination-screen.destination-has-scene .destination-result h2{font-size:20px!important;line-height:1.5!important;margin-bottom:11px!important}.destination-screen.destination-has-scene .destination-result p{font-size:13px!important;line-height:1.85!important;margin-bottom:14px!important}.destination-screen.destination-has-scene .destination-result>small{font-size:8px!important}.destination-screen.destination-has-scene #destinationHome{font-size:11px!important;min-height:37px!important;margin-top:14px!important}}
/* Monthly report alignment: centered CTA and an unobstructed memory row. */
#modal.growth-report-dialog::before{display:none!important}#modal.growth-report-dialog #monthDone{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px;min-height:40px;line-height:1.4!important;text-align:center!important;padding:9px 14px!important;letter-spacing:0!important}#modal.growth-report-dialog #monthDone>span{display:inline-flex;align-items:center;justify-content:center;position:static!important;margin:0!important;padding:0!important;line-height:1!important;font-family:system-ui,sans-serif;color:#44304e!important;flex:none}#modal.growth-report-dialog .report-memory{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;margin:12px 0 15px!important;padding:3px 0!important;min-height:22px;line-height:1.5;box-sizing:border-box}#modal.growth-report-dialog .report-memory>span{display:flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 19px;line-height:0}#modal.growth-report-dialog .report-memory>span svg{display:block;width:17px;height:17px;margin:0;overflow:visible}#modal.growth-report-dialog .report-memory p{margin:0!important;line-height:1.5!important}
/* School and city are sibling destinations with matching navigation. */
.destination-school:not(.destination-has-scene) header{position:relative;z-index:2;width:100%!important;margin:0!important;padding:15px 17px!important;background:linear-gradient(90deg,#20182e9c,#20182e22,transparent)!important;border:0!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important}.destination-school header small,.destination-school header p{display:none!important}.destination-school header h1{color:#fff0ce!important;font-size:28px!important;line-height:1.5!important;letter-spacing:1px;margin:0!important;text-shadow:0 2px 5px #100c22cc,0 0 18px #1a102caa!important}.destination-school:not(.destination-has-scene) .destination-options{margin-top:26dvh!important;gap:9px;width:100%}.destination-school .destination-options>button{display:flex;align-items:center;justify-content:flex-start;min-height:55px!important;padding:14px 17px!important;border-radius:17px!important;background:linear-gradient(115deg,#523a6b9c,#22233eaa)!important;border:1px solid #d5bd8880!important;box-shadow:inset 0 1px #fff1cc1c,0 4px 12px #17132920!important;backdrop-filter:blur(7px)!important;transition:background .18s,border-color .18s,transform .18s}.destination-school .destination-options>button:before,.destination-school .destination-options>button:after,.destination-school .destination-options>button>small,.destination-school .destination-options>button>span{display:none!important}.destination-school .destination-options strong{font-size:18px!important;color:#f7e9cc!important;line-height:1.5!important;font-weight:400;white-space:nowrap!important;text-shadow:0 1px 2px #1a142e33}.destination-school .destination-options>button:hover{background:linear-gradient(115deg,#70518bb8,#343250bf)!important;border-color:#f0d5a0bb!important}.destination-school .destination-options>button:active{transform:scale(.985)}.destination-school .destination-back{align-self:flex-start;margin-top:15px!important}
@media(max-width:700px) and (orientation:portrait){.destination-school:not(.destination-has-scene) header{margin-top:env(safe-area-inset-top)!important;padding:12px 14px!important}.destination-school header h1{font-size:25px!important}.destination-school:not(.destination-has-scene) .destination-options{margin-top:24dvh!important;gap:8px}.destination-school .destination-options>button{min-height:51px!important;padding:12px 15px!important;border-radius:16px!important}.destination-school .destination-options strong{font-size:16px!important;letter-spacing:-.3px}.destination-school .destination-back{font-size:11px!important;margin-top:12px!important}}
.destination-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.destination-art:has(.destination-video):after{z-index:1;pointer-events:none}
/* City title sits quietly above the choices, without a title panel. */
.destination-city:not(.destination-has-scene) header{position:relative!important;z-index:2;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;margin:24dvh 0 14px!important;width:100%!important;text-align:center!important}.destination-city:not(.destination-has-scene) header h1{font-size:19px!important;line-height:1.5!important;letter-spacing:1px;margin:0!important;color:#fff0d3!important;text-shadow:0 1px 5px #20182eb3!important}.destination-city:not(.destination-has-scene) .destination-options{margin-top:0!important}
@media(max-width:700px) and (orientation:portrait){.destination-city:not(.destination-has-scene) header{margin:24dvh 0 12px!important;padding:0!important}.destination-city:not(.destination-has-scene) header h1{font-size:18px!important}.destination-city:not(.destination-has-scene) .destination-options{margin-top:0!important}}
.weight-change-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #d5bc8740;margin-top:16px;padding-top:13px;font-family:system-ui,sans-serif;font-size:10px;color:#c4b5d0}.weight-change-row strong{font-size:12px;color:#ecd4a4}
/* Young child's stress expressions are complete portrait illustrations. */
@media(max-width:700px) and (orientation:portrait){.game-room.has-mood-scene{background-image:var(--mood-scene)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.game-room.has-mood-scene>.character .character-sprite{visibility:hidden!important}.game-room.has-mood-scene>.room-shade{background:linear-gradient(180deg,#13132408,transparent 60%,#17132a18)!important}.game-room.has-mood-scene .home-chat{left:calc(50% + 70px);top:45%}}
#modal.social-phone-dialog .phone-popup-tabs button{display:flex;align-items:center;justify-content:center;gap:7px}.sns-app-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:7px;flex:none;box-shadow:inset 0 1px #ffffff40,0 2px 5px #12102530}.sns-app-icon svg{display:block;width:21px;height:21px}.app-playon{background:linear-gradient(140deg,#c45d85,#783955);color:#fff2dd}.app-moment{background:linear-gradient(140deg,#9875bd,#584777);color:#fff0d6}.casting-invite{padding:12px;margin-bottom:14px;background:#d5bc8715;border:1px solid #d5bc877a;border-radius:7px}.casting-invite>b{font-size:12px;color:#efdab2!important}.casting-invite>p{font-size:10px!important;line-height:1.7;margin:6px 0 0}
#modal.clothes-shop-dialog{width:min(430px,calc(100vw - 32px));box-sizing:border-box;padding:23px 20px 17px;max-height:90dvh;overflow:auto;border-radius:15px}.clothes-shop-head{position:relative;border-bottom:1px solid var(--key-gold-line);padding-bottom:13px;margin-bottom:15px}.clothes-shop-head small{font-size:7px;letter-spacing:2px;color:#d5bc87}.clothes-shop-head h2{font-size:23px;margin:8px 0}.clothes-shop-head p{font:11px system-ui;margin:0}.clothes-shop-head>button{position:absolute;right:-5px;top:-7px;border:0!important;background:none!important;font-size:24px;padding:4px}.clothes-products{display:grid;grid-template-columns:1fr 1fr;gap:11px}.clothes-product{min-width:0;border:1px solid #d5bc874a!important;border-radius:10px;padding:9px 9px 12px;background:#a893c510!important;text-align:center;transition:border-color .16s,background .16s}.clothes-product.selected{border-color:#e9cc91!important;background:#d5bc8720!important;box-shadow:inset 0 0 0 1px #d5bc8744}.outfit-art{height:190px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#d9cbea16,transparent 70%);margin-bottom:10px}.outfit-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #100f2533)}.clothes-product strong{display:block;font-size:17px;font-weight:400}.clothes-product>span{display:block;font:12px system-ui;color:#e1c795;margin-top:6px}.clothes-product:disabled{opacity:.5}#clothesNotice{font:10px/1.6 system-ui;min-height:17px;margin:13px 0}#clothesBuy{width:100%;font-size:13px;min-height:41px}#clothesBuy:disabled{opacity:.4}.clothes-cancel{display:block;margin:10px auto 0;background:transparent!important;border:0!important;font-size:11px;padding:7px}@media(max-width:700px){.outfit-art{height:min(29dvh,200px)}.clothes-shop-head h2{font-size:21px}.clothes-product strong{font-size:16px}}
/* Clear, screen-level monthly conversation reward. */
.game-room>.chat-feedback{position:absolute;z-index:12;left:50%;top:auto;bottom:calc(145px + env(safe-area-inset-bottom));transform:translateX(-50%);translate:none;display:block;box-sizing:border-box;max-width:calc(100% - 36px);padding:13px 24px;background:linear-gradient(120deg,#f0dcab,#fff0c9);border:1px solid #fff6de;border-radius:30px;box-shadow:0 6px 25px #1c153d55,inset 0 0 0 3px #b8945817;font-family:system-ui,sans-serif;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.3px;color:#392545;text-shadow:none;white-space:nowrap;pointer-events:none;animation:conversation-reward 4.5s both}@keyframes conversation-reward{0%{opacity:0;translate:0 10px;scale:.94}10%,85%{opacity:1;translate:0 0;scale:1}100%{opacity:0;translate:0 -10px;scale:1}}@media(prefers-reduced-motion:reduce){.game-room>.chat-feedback{animation:conversation-reward-still 4.5s both}@keyframes conversation-reward-still{0%,85%{opacity:1}100%{opacity:0}}}
.game-room>.chat-feedback.chat-feedback-notice{font-size:11px;font-weight:400;letter-spacing:0;padding:8px 13px;border-radius:18px;background:#30243fe8;color:#e7dac2;border:1px solid #d5bc8766;box-shadow:0 3px 12px #1c153d33;line-height:1.5}
/* Phone planner: fit month, calendar, all slots and confirmation together. */
@media(max-width:700px) and (orientation:portrait){.content-window:has(.planner-layout) .window-top{min-height:34px!important;padding:7px 15px!important;font-size:9px}.content-window:has(.planner-layout) #content{padding:12px 17px 12px!important}.planner-title{padding-bottom:10px!important;margin:0!important}.planner-title h2{font-size:20px!important;margin:5px 0!important}.planner-title p{font-size:9px!important;line-height:1.5}.planner-title .eyebrow{font-size:6px!important}.planner-budget b{font-size:21px!important}.planner-paper{padding-top:10px!important}.planner-calendar{margin-bottom:10px!important;gap:2px!important}.planner-calendar .planner-day{height:15px!important;min-height:15px!important;font-size:8px!important;padding:0 2px!important}.planner-calendar>b{font-size:7px!important;padding-bottom:2px!important}.planner-slots{gap:7px!important}.planner-slots .plan-slot{min-height:48px!important;padding-left:33px!important}.planner-slots .plan-slot:before{font-size:15px;left:10px}.planner-slots .slot-main{min-height:46px!important;padding:7px 6px!important}.planner-slots .slot-main small{font-size:8px!important;line-height:1.4!important}.planner-slots .slot-main strong{font-size:13px!important;line-height:1.4!important;margin-top:3px!important}.planner-slots .slot-tools{padding-right:5px;gap:3px}.planner-slots .slot-tools button{min-width:26px;min-height:26px;padding:4px;font-size:9px!important}.planner-paper>.help{font-size:8px!important;line-height:1.5!important;margin:9px 0 0!important;padding-top:7px!important}.content-window .planner-confirm{margin-top:10px!important;padding:10px 0 0!important;gap:5px!important}.planner-confirm>div>strong{font-size:12px!important;line-height:1.4}.planner-confirm small{font-size:9px!important;margin-top:3px!important}.planner-confirm .primary{min-height:36px!important;font-size:11px!important;padding:8px!important;margin-top:5px!important}.school-date-note{font-size:8px!important;padding:4px 6px!important;margin-top:5px!important}}
@media(max-width:700px) and (orientation:portrait) and (max-height:650px){.content-window:has(.planner-layout) #content{padding:9px 15px 10px!important}.planner-title{padding-bottom:7px!important}.planner-title h2{font-size:18px!important}.planner-title p{display:none}.monthly-income{font-size:6px!important;margin-top:2px!important}.planner-paper{padding-top:7px!important}.planner-calendar .planner-day{height:13px!important;min-height:13px!important;font-size:7px!important}.planner-slots{gap:6px!important}.planner-slots .plan-slot{min-height:43px!important}.planner-slots .slot-main{min-height:41px!important;padding:6px!important}.planner-slots .slot-main strong{font-size:12px!important}.planner-paper>.help{margin-top:7px!important;padding-top:5px!important}.content-window .planner-confirm{margin-top:8px!important;padding-top:8px!important}.planner-confirm .primary{min-height:33px!important}.planner-calendar{margin-bottom:8px!important}}
/* Compact activity picker: six leisure choices fit without an inner scroll. */
@media(max-width:700px) and (orientation:portrait){.planner-catalog.picker-open{max-height:85dvh!important;padding:22px 15px calc(13px + env(safe-area-inset-bottom))!important;overflow:auto!important}.planner-catalog>h3{font-size:18px!important;line-height:1.4!important;margin:0 25px 10px 0!important;padding-bottom:10px!important}.planner-picker-close{top:12px!important;right:8px!important;width:31px;height:31px;font-size:17px}.planner-category-tabs{margin-bottom:10px!important;gap:5px!important}.planner-category-tabs button{min-height:31px!important;padding:5px!important;font-size:12px!important}.planner-catalog .planner-activities{max-height:none!important;overflow:visible!important;gap:6px!important;padding:0!important}.planner-catalog .planner-activities>button{min-height:49px!important;padding:8px 9px!important;gap:8px!important;box-sizing:border-box}.planner-catalog .planner-activities strong{font-size:12px!important;line-height:1.4!important}.planner-catalog .planner-activities small{font-size:8px!important;line-height:1.5!important;margin-top:3px!important;max-width:none}.planner-catalog .planner-activities .plan-act-icon{width:27px!important;height:27px!important;min-width:27px;border-radius:4px}.planner-catalog .planner-activities .plan-act-icon svg{width:18px!important;height:18px!important}.planner-catalog .planner-activities .plan-act-cost{font-size:14px!important;min-width:49px!important;line-height:1.4}.planner-catalog:before{height:3px!important;top:8px!important}}
@media(max-width:700px) and (orientation:portrait) and (max-height:650px){.planner-catalog.picker-open{max-height:91dvh!important;padding-top:20px!important}.planner-catalog>h3{font-size:17px!important;padding-bottom:8px!important;margin-bottom:8px!important}.planner-category-tabs{margin-bottom:8px!important}.planner-category-tabs button{min-height:29px!important;font-size:11px!important}.planner-catalog .planner-activities>button{min-height:45px!important;padding:7px 8px!important}.planner-catalog .planner-activities{gap:5px!important}}
/* Match the school's title placement to the city caption. */
.destination-school:not(.destination-has-scene) header{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:24dvh 0 14px!important;text-align:center!important}.destination-school:not(.destination-has-scene) header h1{font-size:19px!important;line-height:1.5!important;letter-spacing:1px;margin:0!important;color:#fff0d3!important;text-shadow:0 1px 5px #20182eb3!important}.destination-school:not(.destination-has-scene) .destination-options{margin-top:0!important}@media(max-width:700px) and (orientation:portrait){.destination-school:not(.destination-has-scene) header{margin:24dvh 0 12px!important;padding:0!important}.destination-school:not(.destination-has-scene) header h1{font-size:18px!important}.destination-school:not(.destination-has-scene) .destination-options{margin-top:0!important}}
/* Course glyphs are SVGs centered inside a fixed square. */
.planner-catalog .planner-activities .plan-act-icon{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px!important;line-height:0!important;flex-shrink:0;aspect-ratio:1;overflow:hidden}.planner-catalog .planner-activities .plan-act-icon .game-icon{display:block!important;width:18px!important;height:18px!important;min-width:0!important;min-height:0!important;flex:0 0 18px;margin:0!important;vertical-align:middle;transform:none!important;position:static!important;aspect-ratio:1}
/* School stage choices fit together with the illustration. */
#modal:has(>.school-event-art){box-sizing:border-box;width:min(400px,calc(100vw - 30px));max-height:calc(100dvh - 24px);padding:18px;overflow:auto;border-radius:14px!important}#modal>.school-event-art{display:block;width:100%;height:25dvh;max-height:210px;object-fit:cover;object-position:center 43%;border-radius:7px;margin:0 0 14px!important}#modal:has(>.school-event-art)>h2{font-size:23px;line-height:1.4;margin:0 0 10px}#modal:has(>.school-event-art)>p{font-size:12px;line-height:1.7;margin:0 0 14px;word-break:keep-all}#modal:has(>.school-event-art) .answers{display:grid;gap:8px;margin:0}#modal:has(>.school-event-art) .answers button{box-sizing:border-box;min-height:40px;padding:9px 11px;font-size:13px;line-height:1.5;border:1px solid #d5bc8770;border-radius:9px;background:#ad90c311;color:#f0e5ce}#modal:has(>.school-event-art) .answers button:hover{background:#d5bc8725;border-color:#ead1a0}
@media(max-width:700px) and (orientation:portrait){#modal:has(>.school-event-art){padding:16px;max-height:calc(100dvh - 24px)}#modal>.school-event-art{height:24dvh;max-height:190px;margin-bottom:12px!important}#modal:has(>.school-event-art)>h2{font-size:21px;margin-bottom:8px}#modal:has(>.school-event-art)>p{font-size:11px;margin-bottom:12px}#modal:has(>.school-event-art) .answers{gap:7px}#modal:has(>.school-event-art) .answers button{font-size:12px;min-height:38px;padding:8px 10px}}
@media(max-height:650px){#modal>.school-event-art{height:22dvh;max-height:145px}#modal:has(>.school-event-art)>h2{font-size:20px}#modal:has(>.school-event-art)>p{font-size:10px;margin-bottom:10px}#modal:has(>.school-event-art) .answers button{min-height:34px;padding:7px 9px;font-size:11px}#modal:has(>.school-event-art) .answers{gap:6px}}
.game-room .home-wardrobe{position:absolute;right:25px;top:235px;z-index:4;box-sizing:border-box;width:43px;height:43px;display:flex;align-items:center;justify-content:center;padding:9px;border-radius:50%;border:1px solid #ead3a1;background:linear-gradient(140deg,#4c3b68f5,#29213ff5 60%,#191e34f5);color:#fff0ca;box-shadow:0 3px 11px #251c424d,inset 0 0 0 3px #b4a0d21c}.home-wardrobe svg{display:block;width:24px;height:24px;flex:none}.home-wardrobe:active{scale:.94}.game-room.panel-open .home-wardrobe{display:none}body:has(dialog[open]) .home-wardrobe{visibility:hidden}#modal.wardrobe-dialog{padding:23px 20px;width:min(430px,calc(100vw - 32px));box-sizing:border-box;max-height:88dvh;overflow:auto;border-radius:15px}.wardrobe-head{position:relative;padding-bottom:15px;border-bottom:1px solid var(--key-gold-line);margin-bottom:15px}.wardrobe-head small{font-size:7px;letter-spacing:2px;color:#d5bc87}.wardrobe-head h2{font-size:21px;margin:8px 0 0}.wardrobe-head>button{position:absolute;right:-7px;top:-8px;background:transparent!important;border:0!important;font-size:24px;padding:5px}.wardrobe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wardrobe-grid>button{min-width:0;padding:8px 5px 10px;background:#a88bbe12!important;border:1px solid #d5bc873d!important;border-radius:9px}.wardrobe-grid>button.wearing{background:#d5bc8720!important;border-color:#e7cc96!important}.wardrobe-preview{height:145px;display:flex;align-items:center;justify-content:center;margin-bottom:9px;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse,#d4bee817,transparent)}.wardrobe-preview img{width:100%;height:100%;object-fit:contain}.wardrobe-preview.default-outfit img{object-fit:cover;object-position:50% 40%}.wardrobe-grid strong{display:block;font-size:14px;font-weight:400}.wardrobe-grid span{display:block;font:9px system-ui;color:#ceb88e;margin-top:5px}.wardrobe-hint{font:10px/1.7 system-ui;margin:15px 0 0;color:var(--key-muted)}@media(max-width:700px) and (orientation:portrait){.game-room .home-wardrobe{right:25px;top:calc(max(14px,env(safe-area-inset-top)) + 128px);width:40px;height:40px;padding:8px}.wardrobe-preview{height:23dvh;max-height:170px}.wardrobe-head h2{font-size:20px}.wardrobe-grid strong{font-size:13px}}
.clothes-shop-dialog .clothes-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.clothes-shop-dialog .outfit-art{height:170px}.clothes-shop-dialog .clothes-product{padding:7px 6px 10px}.clothes-shop-dialog .clothes-product strong{font-size:14px}.wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.clothes-shop-dialog .outfit-art{height:min(25dvh,160px)}.clothes-shop-dialog .clothes-product strong{font-size:12px}.clothes-shop-dialog .clothes-product>span{font-size:10px}.wardrobe-preview{height:20dvh;max-height:140px}}
.performance-view>.performance-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.performance-view>.performance-video{position:relative;inset:auto;width:100%;height:min(64dvh,640px);object-fit:contain;background:#171b30}@media(max-width:700px) and (orientation:portrait){.performance-view:has(>.performance-video){padding-top:0;padding-bottom:0}.performance-view>.performance-video{height:57dvh;max-height:none;width:100%;object-fit:cover;object-position:center}}
.wardrobe-preview.default-outfit img{object-fit:contain!important;object-position:center!important}.wardrobe-preview img{filter:drop-shadow(0 4px 6px #14102730)}
/* Small but legible conversation reward. */
.game-room>.chat-feedback:not(.chat-feedback-notice){font-size:12px;font-weight:600;line-height:1.5;padding:7px 13px;border-radius:18px;letter-spacing:0;box-shadow:0 3px 13px #1c153d45,inset 0 0 0 2px #b8945812}
.exam-notice{font:9px/1.5 system-ui;color:#e5cc99;border-left:2px solid #d5bc8780;padding:4px 7px;margin-top:7px;background:#d5bc8710}.exam-report{margin-top:9px;border:1px solid #d5bc8755;padding:8px 10px;border-radius:5px;background:#d5bc8710}.exam-report>div{display:flex;justify-content:space-between;align-items:center;gap:8px;font:10px/1.5 system-ui}.exam-report b{font-weight:500;color:#e8cd9b}.exam-report>small{display:block;font:8px/1.6 system-ui;color:#c8b9d0;margin-top:4px}#modal.growth-report-dialog .report-stat>strong.stat-loss{color:#e9a9b6!important}@media(max-height:650px){#modal.growth-report-dialog .report-stat{padding:4px 0}.exam-report{padding:6px 8px;margin-top:6px}.exam-notice{font-size:8px;margin-top:4px;padding:3px 6px}}
#modal.graduation-dialog{box-sizing:border-box;width:min(390px,calc(100vw - 34px));padding:28px 23px 23px;text-align:center;border:1px solid #d5bc8799;border-radius:16px;max-height:90dvh;overflow:auto}.graduation-crest{font:38px Georgia;color:#e3c88e;margin-bottom:11px}.graduation-label{font:7px system-ui;letter-spacing:3px;color:#d5bc87}.graduation-dialog h1{font-size:27px;line-height:1.5;margin:12px 0}.graduation-intro{font-size:12px;line-height:1.9;margin:0 0 22px}.graduation-question{padding:20px 10px;border-top:1px solid #d5bc8755;border-bottom:1px solid #d5bc8755;font-size:16px;line-height:1.8;color:#f2e3c6;margin-bottom:23px;word-break:keep-all}.graduation-answer{padding:16px;background:#d5bc8712;border:1px solid #d5bc8755;border-radius:8px;text-align:left;margin-bottom:14px}.graduation-answer small{font:10px system-ui;color:#dfc594}.graduation-answer p{color:#f0e4ca!important;font-size:17px;line-height:1.8;word-break:keep-all;margin:8px 0 0}.graduation-detail{font-size:11px;line-height:1.8;word-break:keep-all}.graduation-dialog .primary{font-size:13px;min-height:42px;width:100%;margin-top:10px}
.moment-posts{display:grid;gap:8px;margin-bottom:13px}.moment-post{border:1px solid #c2a9cd40;border-radius:7px;background:linear-gradient(115deg,#b199cd13,#d5bc8708);padding:11px}.moment-post>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.moment-post small{font:8px/1.6 system-ui;color:#c0afce}.moment-post b{font:600 20px/1.2 system-ui;color:#efe2c5;white-space:nowrap}.moment-post b>span{font:9px system-ui;margin-left:4px;color:#bba9cb}.moment-post b.viral-views{color:#f4ce80}.moment-post>p{font:11px/1.6 system-ui;margin:8px 0 4px}.moment-empty{font:10px/1.7 system-ui;color:#bcacc9}
.moment-benefits{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.moment-benefits>span{font:8px/1.5 system-ui;padding:3px 6px;border:1px solid #d5bc8755;border-radius:10px;background:#d5bc8713;color:#efd8ae}
.stat-roles-help{font:9px/1.7 system-ui;color:#c1b0cf;margin:10px 0 0}#modal.home-stats-dialog .stat-roles-help+.room-stats{margin-top:12px}
/* Unified school-live player, compact and aligned. */
#modal.performance-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 30px));max-height:92dvh;padding:0!important;overflow:auto;border:1px solid #d5bc8777;border-radius:14px!important;background:var(--key-gradient)!important}.performance-dialog .performance-view{background:transparent!important;padding:15px 15px 0!important}.performance-dialog .performance-view>img{position:relative;display:block;width:100%!important;height:32dvh!important;max-height:280px!important;aspect-ratio:auto!important;object-fit:cover!important;border-radius:7px;object-position:center}.performance-dialog .performance-view>.performance-video{position:relative;display:block;width:100%;height:45dvh;max-height:400px;object-fit:cover;border-radius:7px}.performance-dialog .performance-title{position:relative!important;inset:auto!important;margin:0!important;padding:16px 3px 13px!important;background:none!important;border:0!important;border-bottom:1px solid #d5bc8744!important;border-radius:0!important;box-shadow:none!important;color:#efdfbf}.performance-dialog .performance-title small{font:7px system-ui;letter-spacing:2.5px;color:#cdb482}.performance-dialog .performance-title h1{font-size:23px!important;line-height:1.4;margin:7px 0!important;color:#f0e3ca}.performance-dialog .performance-title p{font-size:10px!important;line-height:1.5;margin:0!important;color:#baaaca}.performance-dialog .performance-controls{display:grid!important;grid-template-columns:auto 1fr!important;gap:13px 12px!important;padding:15px 18px 8px!important;background:transparent!important;align-items:center}.performance-dialog #stagePlayPause{border:1px solid #d5bc8766!important;background:#d5bc8714!important;color:#f1dfb9;min-height:34px!important;font-size:11px!important;padding:7px 13px!important;border-radius:6px!important}.performance-dialog #stageTime{text-align:right;margin:0!important;color:#c9b8d3;font:11px system-ui;font-variant-numeric:tabular-nums}.performance-dialog .stage-progress{grid-column:1/-1;order:initial!important;flex-basis:auto;height:4px!important;width:100%;background:#bba6cd2b;border-radius:4px;overflow:hidden}.performance-dialog .stage-progress i{display:block;height:100%;background:linear-gradient(90deg,#b19ac9,#e3cb93)!important}.performance-dialog #stageSkip{grid-column:1/-1;width:100%;min-height:35px!important;font-size:11px!important;border:1px solid #c8af7f70!important;border-radius:6px!important;padding:7px 12px!important;background:#1a172d55!important}.performance-dialog .stage-notice{font:9px/1.6 system-ui!important;text-align:center;color:#b8a7c7;padding:2px 18px 15px!important;margin:0!important}.performance-dialog .stage-spotlight{display:none!important}@media(max-height:650px){.performance-dialog .performance-view>img{height:27dvh!important}.performance-dialog .performance-view>.performance-video{height:38dvh}.performance-dialog .performance-title{padding:12px 3px 10px!important}.performance-dialog .performance-title h1{font-size:21px!important}.performance-dialog .performance-controls{gap:10px!important;padding-top:12px!important}}
#modal.stage-result-dialog{box-sizing:border-box;width:min(390px,calc(100vw - 34px));max-height:90dvh;overflow:auto;padding:22px 23px 20px;border-radius:16px!important;border:1px solid #d5bc8780;text-align:center}.stage-result-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:13px;border-bottom:1px solid #d5bc8744}.stage-result-top>small{font:7px system-ui;letter-spacing:2px;color:#dbc18f}.stage-result-top>span{font-size:11px;color:#c9b7d3}.stage-result-grade{width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column;margin:19px auto 15px;border:1px solid #d5bc87;border-radius:50%;box-shadow:0 0 0 4px #d5bc8710,inset 0 0 0 4px #d5bc870c;background:radial-gradient(circle,#ab82c326,transparent);color:#ebd09a}.stage-result-grade>b{font:36px/1.1 Georgia}.stage-result-grade>small{font:5px system-ui;letter-spacing:1px;margin-top:4px}.stage-result-grade.grade-rough{color:#c9b5d7;border-color:#b49ac2}.stage-result-dialog h1{font-size:24px;line-height:1.5;margin:0 0 11px}.stage-result-copy{font-size:12px;line-height:1.85;word-break:keep-all;margin:0 0 15px}.stage-score{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #d5bc8740;border-bottom:1px solid #d5bc8740}.stage-score>span{font:10px system-ui;color:#bfaecd}.stage-score>strong{font:24px Georgia;color:#ebd09a!important;margin-left:auto}.stage-score>small{font:8px system-ui;color:#bfaecd}.stage-score-help{font:8px/1.5 system-ui;margin:6px 0 13px}.stage-result-growth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage-result-growth>div{display:flex;align-items:center;justify-content:space-between;padding:11px;background:#d5bc8710;border:1px solid #d5bc873d;border-radius:7px}.stage-result-growth span{font:11px system-ui;color:#d3c5dd}.stage-result-growth b{font:19px Georgia;color:#edcf91}.stage-result-memory{font:9px/1.5 system-ui;color:#bdaecc;margin:15px 0}.stage-result-dialog>.primary{width:100%;min-height:39px;font-size:12px;border-radius:5px}@media(max-height:650px){#modal.stage-result-dialog{padding:18px 19px 16px}.stage-result-grade{width:56px;height:56px;margin:13px auto 11px}.stage-result-grade>b{font-size:30px}.stage-result-dialog h1{font-size:21px}.stage-result-copy{font-size:11px;margin-bottom:11px}.stage-result-memory{margin:11px 0}.stage-result-growth>div{padding:8px}}
.destination-screen.destination-has-scene .destination-result .friend-encounter-art{display:block;width:100%;max-height:19dvh;height:19dvh;object-fit:cover!important;object-position:center top!important;border-radius:7px;margin:0 0 12px}
/* Street dance: preserve the complete choreography above a compact result. */
.destination-screen[data-activity=streetdance] .destination-video{height:53dvh!important;width:100%!important;inset:0 auto auto 0!important;object-fit:contain!important;object-position:center!important;background:#171a2c55}.destination-screen[data-activity=streetdance] .destination-art:after{background:linear-gradient(180deg,transparent 40%,#1b19308c 63%,#1b1930df)!important}.destination-screen[data-activity=streetdance] .destination-result{padding:16px 17px 14px!important;border-radius:12px!important;background:linear-gradient(130deg,#44315bd9,#1d2037e8)!important}.destination-screen[data-activity=streetdance] .outing-result-label{font-size:6px;margin-bottom:6px}.destination-screen[data-activity=streetdance] .destination-result h2{font-size:19px!important;margin-bottom:8px!important}.destination-screen[data-activity=streetdance] .destination-result p{font-size:11px!important;line-height:1.7!important;margin-bottom:9px!important}.destination-screen[data-activity=streetdance] .destination-result .friend-encounter-art{height:9dvh!important;max-height:9dvh!important;object-position:center top!important;margin-bottom:8px}.destination-screen[data-activity=streetdance] .destination-result>small{font-size:7px!important;padding-top:8px}.destination-screen[data-activity=streetdance] #destinationHome{min-height:32px!important;font-size:10px!important;margin-top:9px!important;padding:6px 10px!important}@media(max-width:700px) and (orientation:portrait){.destination-screen.destination-has-scene[data-activity=streetdance]{padding:12px 16px calc(14px + env(safe-area-inset-bottom))!important}.destination-screen[data-activity=streetdance] .destination-video{height:54dvh!important}}
.moment-live-result{box-sizing:border-box;width:min(350px,calc(100vw - 36px));margin:auto;padding:30px 24px 24px;border:1px solid #d5bc877a;border-radius:17px;background:var(--key-gradient);box-shadow:0 15px 60px #17122955;text-align:center;color:#f1e4c8}.moment-live-result>small{font:7px system-ui;letter-spacing:2px;color:#d5bc87}.moment-live-symbol{display:grid;place-items:center;width:48px;height:48px;margin:20px auto 15px;border:1px solid #d5bc8766;border-radius:14px;background:#b98bc127;color:#e8c991}.moment-live-symbol svg{width:27px;height:27px}.moment-live-result h1{font-size:22px;line-height:1.5;margin:0 0 20px}.moment-live-views{padding:19px 0;border-top:1px solid #d5bc8744;border-bottom:1px solid #d5bc8744}.moment-live-views strong{display:block;font:42px/1.2 Georgia;color:#f0d69e}.moment-live-views span{display:block;font:10px system-ui;color:#bfaacc;margin-top:7px}.moment-live-result>p{font:12px system-ui;color:#e7d4b0;margin:16px 0}.moment-live-note{font:10px/1.8 system-ui;color:#bcacc9;word-break:keep-all;margin-bottom:21px}.moment-live-result .primary{width:100%;min-height:40px;font-size:13px}
.weather-notice{font:8px/1.5 system-ui;margin-top:5px;padding:4px 7px;border-left:2px solid #c6acd6;color:#e8d7b6;background:#c4a6d512}.weather-report{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid #d5bc874a;border-radius:5px;margin-top:9px;background:#c1a2d012}.weather-report b{font:10px system-ui;color:#e6d1a8}.weather-report span{font:8px/1.5 system-ui;color:#c7b7d2}.weather-missing span{color:#e7abb6}.weather-ready span{color:#bfd4c0}
#modal>.school-event-art{object-position:center top!important}.stage-result-grade{width:78px;height:78px;padding:7px;box-sizing:border-box;gap:3px}.stage-result-grade>b{font-size:34px;line-height:1}.stage-result-grade>small{display:block;font-family:system-ui,sans-serif;font-size:9px;line-height:1.4;letter-spacing:0;margin:0;color:#f0ddba;white-space:nowrap}@media(max-height:650px){.stage-result-grade{width:68px;height:68px;gap:2px}.stage-result-grade>b{font-size:29px}.stage-result-grade>small{font-size:8px}}
/* Keep the filmed scene visible behind a small reaction popup. */
.social-playback-shade{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:#12102945;backdrop-filter:blur(2px)}.social-playback-shade .moment-live-result{width:min(285px,calc(100vw - 64px));margin:0;padding:21px 20px 18px;border-radius:13px;background:linear-gradient(140deg,#49365cf2,#1d2036f5)}.social-playback-shade .moment-live-result>small{font-size:6px;letter-spacing:2px}.social-playback-shade .moment-live-result h1{font-size:18px;line-height:1.5;margin:13px 0 15px}.social-playback-shade .moment-live-views{padding:13px 0}.social-playback-shade .moment-live-views strong{font-size:34px}.social-playback-shade .moment-live-views span{font-size:9px;margin-top:5px}.social-playback-shade .moment-live-result>p{font-size:11px;margin:12px 0}.social-playback-shade .moment-live-note{font-size:9px;line-height:1.7;margin-bottom:15px}.social-playback-shade .moment-live-result .primary{min-height:35px;font-size:11px;padding:8px}.month-playback:has(.social-playback-shade)>.month-stage>#skipMonth{visibility:hidden}
.exam-fixed-slot{border-style:dashed!important;background:#d5bc8713!important;display:flex;align-items:center}.exam-fixed-slot .slot-main{flex:1}.exam-fixed-tag{font:8px system-ui;color:#dcc38f;border:1px solid #d5bc8755;padding:3px 6px;border-radius:3px;margin-right:10px}.exam-intro{margin:auto;text-align:center;width:min(400px,90vw);padding:30px 18px}.exam-intro>small{font:10px system-ui;letter-spacing:3px;color:#cbb68c}.exam-intro h1{font-size:42px;font-weight:400;color:#f2e5cb;line-height:1.5;margin:25px 0;border-top:1px solid #d5bc8766;border-bottom:1px solid #d5bc8766;padding:24px 10px}.exam-intro p{font-size:13px;color:#bfaecc}.exam-intro .primary{margin-top:25px;min-width:150px;font-size:13px}#modal.exam-score-dialog{width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:25px 23px 21px;max-height:90dvh;overflow:auto;border-radius:14px;text-align:center}.exam-score-label{font:7px system-ui;letter-spacing:2px;color:#d5bc87}.exam-score-dialog h1{font-size:25px;margin:10px 0}.exam-score-sub{font:10px/1.7 system-ui;margin-bottom:17px}.exam-subjects{border-top:1px solid #d5bc8755}.exam-subjects>div{display:flex;align-items:center;gap:9px;padding:11px 8px;border-bottom:1px solid #bfa4ce2b;font:12px system-ui;color:#a695b8}.exam-subjects>div>b{margin-left:auto;font:25px Georgia;color:#8c7b9e}.exam-subjects>div.revealed>b{color:#edcf94}.exam-subjects small{font-size:9px}.exam-average{display:flex;align-items:center;gap:9px;margin-top:15px;font-size:12px}.exam-average b{font:25px Georgia;color:#edcf94}.exam-average strong{font:11px system-ui;margin-left:auto;color:#e7d6b6}.exam-effects{font:9px/1.7 system-ui;margin:12px 0;color:#c5b4ce}.exam-score-dialog .primary{width:100%;min-height:39px;margin-top:16px;font-size:12px}
/* Parent outing menu uses the same three compact choices as city. */
.destination-parents:not(.destination-has-scene) header{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:24dvh 0 12px!important;width:100%;text-align:center}.destination-parents header small,.destination-parents header p{display:none!important}.destination-parents header h1{font-size:18px!important;color:#fff0d3!important;line-height:1.5!important;margin:0!important;text-shadow:0 1px 5px #20182eb3}.destination-parents:not(.destination-has-scene) .destination-options{margin-top:0!important;gap:8px}.destination-parents .destination-options>button{display:flex;align-items:center;justify-content:space-between;min-height:51px!important;padding:12px 15px!important;border-radius:16px!important;background:linear-gradient(115deg,#523a6b9c,#22233eaa)!important;border:1px solid #d5bd8880!important;backdrop-filter:blur(7px);box-shadow:inset 0 1px #fff1cc1c!important}.destination-parents .destination-options>button:before,.destination-parents .destination-options>button>small{display:none!important}.destination-parents .destination-options strong{font-size:16px!important;white-space:nowrap}.destination-parents .city-cost{font:10px system-ui;color:#eed4a0;padding:3px 8px;border:1px solid #dec79433;border-radius:16px}.destination-parents .destination-back{font-size:11px!important;margin-top:12px!important}.destination-screen[data-activity=streetdance] .destination-video,.destination-screen[data-activity=streetsinging] .destination-video{height:100%!important;object-fit:cover!important;object-position:center top!important}.destination-screen[data-activity=streetsinging] .destination-result{padding:16px 17px 14px!important}.destination-screen[data-activity=streetsinging] .destination-result h2{font-size:19px!important;margin-bottom:8px!important}.destination-screen[data-activity=streetsinging] .destination-result p{font-size:11px!important;line-height:1.7!important;margin-bottom:9px!important}.destination-screen[data-activity=streetsinging] .friend-encounter-art{height:9dvh!important;max-height:9dvh!important}.destination-screen[data-activity=streetsinging] #destinationHome{min-height:32px!important;font-size:10px!important;margin-top:9px!important}
.performance-dialog .performance-view>.performance-video{object-position:center top!important}
.activity-growth-toast{position:absolute;z-index:18;left:50%;bottom:13dvh;transform:translateX(-50%);width:max-content;max-width:calc(100% - 46px);display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;padding:9px 15px;border:1px solid #e7d0a0a8;border-radius:20px;background:linear-gradient(110deg,#eddbb6f5,#fff0d0f5);box-shadow:0 4px 17px #20163344;font:11px/1.6 system-ui;color:#3b294d;pointer-events:none;animation:activity-growth-in .22s ease-out}.activity-growth-toast b{font-weight:700}.activity-growth-toast .growth-loss{color:#945864}@keyframes activity-growth-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
.pre-exam-report{margin:auto;box-sizing:border-box;width:min(350px,calc(100vw - 36px));max-height:90dvh;overflow:auto;padding:25px 23px 22px;background:var(--key-gradient);border:1px solid #d5bc8777;border-radius:15px;box-shadow:0 15px 50px #15112855;color:#eddfc4}.pre-exam-report>small{font:7px system-ui;letter-spacing:2px;color:#d5bc87}.pre-exam-report h1{font-size:24px;line-height:1.5;margin:11px 0}.pre-exam-report>p{font-size:11px;color:#bdacc9;margin:0 0 16px}.pre-exam-activities{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.pre-exam-activities>span{font:10px system-ui;padding:6px 9px;background:#d5bc8713;border:1px solid #d5bc873d;border-radius:14px}.pre-exam-growth>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #bda5cd2b;font:11px system-ui}.pre-exam-growth b{font:19px Georgia;color:#edcf95}.pre-exam-growth b.negative{color:#dda7bc}.pre-exam-cost{display:flex;justify-content:space-between;margin:16px 0;font:11px system-ui;color:#c4b2cf}.pre-exam-next{padding-top:14px;border-top:1px solid #d5bc8744;font:11px/1.7 system-ui;color:#dec99e}.pre-exam-report .primary{margin-top:17px;width:100%;min-height:40px;font-size:12px}.exam-weather-note{font:9px/1.6 system-ui;color:#d8c093}
.outing-stat-gains{display:flex;flex-wrap:wrap;gap:5px 7px;margin:0 0 12px}.outing-stat-gains>span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5bc8755;background:#d5bc8716;padding:4px 8px;border-radius:13px;font:10px/1.5 system-ui;color:#d6c7df}.outing-stat-gains b{font-weight:600;color:#f0d6a0}@media(max-width:700px){.outing-stat-gains{margin-bottom:9px}.outing-stat-gains>span{font-size:9px;padding:3px 7px}}
/* Every activity's gains and recovery appear at a consistent screen center. */
.activity-growth-toast{top:50%!important;bottom:auto!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:25;max-width:calc(100% - 54px);padding:10px 16px;background:linear-gradient(110deg,#eddbb6fa,#fff0d0fa);border-color:#fff0c8;box-shadow:0 5px 24px #19112c55}.outing-stat-gains{justify-content:center}#modal.home-stats-dialog .room-stats{gap:9px}#modal.home-stats-dialog .stat label{font-size:11px;margin-bottom:4px}
/* Growth feedback is fixed to the viewport, away from the player's footer. */
.month-playback>.activity-growth-toast{position:fixed!important;inset:auto!important;top:50dvh!important;left:50vw!important;bottom:auto!important;right:auto!important;transform:translate(-50%,-50%)!important;translate:none!important;margin:0!important;width:max-content;max-width:calc(100vw - 60px);z-index:100;animation:activity-growth-fade .2s ease-out!important;font-size:11px;padding:8px 14px;pointer-events:none}@keyframes activity-growth-fade{from{opacity:0}to{opacity:1}}
.destination-parents:not(.destination-has-scene) .destination-art{background-image:url('assets/parents-day.jpg')!important;background-size:cover!important;background-position:center top!important;mask-image:none!important;opacity:1!important}.destination-parents:not(.destination-has-scene) .destination-art:after{background:linear-gradient(180deg,transparent 25%,#20172e45 49%,#191b31d9)!important}.destination-parents:not(.destination-has-scene) header{margin-top:44dvh!important}.destination-parents:not(.destination-has-scene) .destination-options{margin-top:0!important}#modal.dinner-menu-dialog{width:min(370px,calc(100vw - 34px));box-sizing:border-box;padding:25px 22px 18px;border-radius:14px}.dinner-label{font:7px system-ui;letter-spacing:2.5px;color:#d5bc87}.dinner-menu-dialog h2{font-size:24px;margin:10px 0}.dinner-budget{font:10px system-ui;margin-bottom:17px}.dinner-options{display:grid;gap:9px;margin-bottom:17px}.dinner-options button{border:1px solid #d5bc8755!important;border-radius:9px;background:#b698c411!important;padding:13px 12px;text-align:left}.dinner-options button.selected{border-color:#f0d5a0!important;background:#d5bc8720!important}.dinner-options button:disabled{opacity:.4}.dinner-options button>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.dinner-options strong{font-size:17px;font-weight:400}.dinner-options b{font:12px system-ui;color:#e5cd9e}.dinner-options small{display:block;font:9px/1.7 system-ui;color:#baacc9;margin-top:6px}#dinnerConfirm{width:100%;font-size:12px;min-height:40px}#dinnerConfirm:disabled{opacity:.4}#dinnerBack{display:block;margin:10px auto 0;border:0!important;background:none!important;font-size:11px;padding:7px}
.outing-stat-gains{padding:8px 0;border-top:1px solid #d5bc8733;border-bottom:1px solid #d5bc8733;gap:6px 8px}.outing-stat-gains>span{font-size:10px;padding:4px 9px;background:#d5bc8720;border-color:#d5bc8766}.outing-stat-gains>span.outing-recovery b{color:#c3dfc5}
/* One stat per separate badge, stacked vertically for quick reading. */
.month-playback>.activity-growth-toast{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-width:145px;max-width:calc(100vw - 72px)}.activity-growth-toast>span{display:flex;align-items:center;justify-content:space-between;gap:18px;box-sizing:border-box;padding:8px 13px;background:linear-gradient(110deg,#efdeb9fa,#fff0d0fa);border:1px solid #fff0c8;border-radius:15px;box-shadow:0 3px 12px #19112c44;font:11px/1.5 system-ui;color:#3b294d}.activity-growth-toast>span.growth-loss{color:#945864}.activity-growth-toast>span>b{white-space:nowrap}.outing-stat-gains{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:9px 0}.outing-stat-gains>span{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;border-radius:7px;padding:6px 10px;font-size:10px;background:#d5bc8718}.outing-stat-gains>span>b{margin-left:auto;white-space:nowrap}
.month-playback .activity-growth-toast.activity-growth-stack{display:grid!important;grid-template-columns:minmax(145px,190px)!important;grid-auto-flow:row!important;gap:7px!important;width:auto!important;min-width:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;flex-wrap:nowrap!important}.month-playback .activity-growth-stack>span{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:18px!important;width:100%!important;margin:0!important;white-space:nowrap!important;box-sizing:border-box;padding:8px 13px!important;border-radius:14px!important;border:1px solid #fff1ca!important;background:linear-gradient(110deg,#efdeb9fa,#fff0d0fa)!important;box-shadow:0 3px 12px #19112c44!important;font-size:11px!important;line-height:1.5!important}
#modal.graduation-dialog{padding:0 0 20px!important;overflow:auto}.graduation-art{display:block;width:100%;height:34dvh;max-height:320px;object-fit:cover;object-position:center 23%;border-bottom:1px solid #d5bc8777}.graduation-dialog .graduation-crest{display:none}.graduation-dialog .graduation-label{display:block;margin-top:19px}.graduation-dialog h1{font-size:24px;margin:10px 20px}.graduation-dialog .graduation-intro{font-size:11px;margin:0 22px 15px}.graduation-dialog .graduation-question{font-size:15px;margin:0 22px 15px;padding:14px 7px}.graduation-dialog .graduation-answer{margin:0 21px 12px;padding:13px}.graduation-dialog .graduation-answer p{font-size:15px}.graduation-dialog .graduation-detail{margin:0 23px 12px;font-size:10px}.graduation-dialog .primary{width:calc(100% - 44px);min-height:38px;margin:5px 22px 0;font-size:12px}@media(max-height:650px){.graduation-art{height:27dvh}.graduation-dialog .graduation-label{margin-top:13px}.graduation-dialog h1{font-size:21px}.graduation-dialog .graduation-intro{font-size:10px;line-height:1.7}.graduation-dialog .graduation-question{font-size:13px;padding:11px 6px}}
.season-event{box-sizing:border-box;width:min(340px,calc(100vw - 40px));margin:auto;padding:29px 24px 24px;background:var(--key-gradient);border:1px solid #d5bc8780;border-radius:16px;text-align:center;color:#efe3ca}.season-event>small{font:7px system-ui;letter-spacing:2.5px;color:#d5bc87}.season-symbol{display:grid;place-items:center;margin:21px auto 16px;width:55px;height:55px;border-radius:50%;border:1px solid #d5bc8766;background:#d5bc8713;color:#e9c482}.season-symbol svg{width:31px;height:31px}.cold-event .season-symbol{color:#c2dbef;background:#b9d7f214}.season-event h1{font-size:25px;line-height:1.6;margin:0 0 14px;word-break:keep-all}.season-event p{font-size:12px;line-height:1.9;color:#c9b8d3;word-break:keep-all}.season-effect{margin:20px 0;padding:13px 7px;border-top:1px solid #d5bc8755;border-bottom:1px solid #d5bc8755;color:#efd098;font:13px system-ui}.season-event .primary{width:100%;font-size:12px;min-height:40px}.stage-result-growth b.stage-growth-loss{color:#e1a8bb}
.stage-watch-result-art{display:block;width:100%;height:24dvh;object-fit:cover;object-position:center 43%;border-radius:7px;margin-bottom:14px}

/* Graduation gets its own full-screen chapter; the complete portrait stays in view. */
#modal.graduation-dialog{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;padding:0!important;overflow:hidden!important;background:#191928;box-shadow:none;isolation:isolate}
#modal.graduation-dialog[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto}
.graduation-backdrop{position:absolute;inset:-25px;z-index:-1;background-size:cover;background-position:center;filter:blur(22px) brightness(.35)}
.graduation-photo{min-height:0;display:flex;justify-content:center;padding:12px 12px 0;animation:graduation-reveal 1.2s ease both}
#modal.graduation-dialog .graduation-art{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;border:0}
.graduation-story{width:min(100%,520px);box-sizing:border-box;justify-self:center;padding:17px 24px max(20px,env(safe-area-inset-bottom));text-align:center;background:linear-gradient(transparent,#191928 22%)}
#modal.graduation-dialog .graduation-label{margin:0;font-size:8px;letter-spacing:3px}
#modal.graduation-dialog h1{font-size:clamp(24px,5vw,34px);margin:8px 0}
#modal.graduation-dialog .graduation-intro{font-size:12px;margin:0 0 12px;line-height:1.6}
#modal.graduation-dialog .primary{width:100%;margin:0;min-height:43px;font-size:14px}
#modal.graduation-dialog .graduation-question{border:0;padding:10px 0;margin:0 0 12px;font-size:22px}
#modal.graduation-dialog .graduation-answer{margin:12px 0;padding:14px;text-align:left}
#modal.graduation-dialog .graduation-answer p{font-size:18px;margin-top:6px}
#modal.graduation-dialog .graduation-detail{margin:0 0 14px;font-size:12px;line-height:1.7}
@keyframes graduation-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.graduation-photo{animation:none}}

/* Audition requirements: stable columns and a shared evening palette. */
.audition-page{color:#f0e3c6;max-width:560px;margin:auto;word-break:keep-all}
.audition-eyebrow{font:9px system-ui;letter-spacing:3px;color:#dfc58a}
.audition-page>h2{font-size:27px;margin:8px 0 16px}
.audition-page .audition-waiting-art{display:block;width:100%;height:19dvh;max-height:180px;object-fit:cover;object-position:center 30%;border-radius:10px;margin-bottom:16px}
.audition-page .hero{background:linear-gradient(145deg,#3a2c4c,#202338);border:1px solid #d6ba8066;border-radius:12px;padding:18px;box-shadow:none;color:#f0e3c6}
.audition-page .hero h3{font-size:18px;margin:0 0 10px;line-height:1.5;color:#f0e3c6}
.audition-page .hero p{font-size:12px;line-height:1.8;color:#c4b9d2;margin:8px 0}
.audition-page .hero .help{font-size:11px;color:#aebbd0}
.audition-page .audition-requirements{background:#181d2b66;border:1px solid #d6ba803d;border-radius:9px;margin:16px 0;padding:12px}
.audition-page .audition-requirements h3{font:600 12px system-ui;color:#e1ca9a;margin:0 0 6px}
.audition-page .audition-requirements>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(48px,auto) 52px;gap:10px;padding:9px 0;border-bottom:1px solid #ffffff0c;align-items:center;font:12px system-ui;color:#c2b6cc}
.audition-page .audition-requirements>div:last-child{border-bottom:0}
.audition-page .audition-requirements span{white-space:nowrap;font-weight:600}
.audition-page .audition-requirements em{display:block;font:10px system-ui;color:#a6adc2;margin-top:4px;font-style:normal}
.audition-page .audition-requirements b{font:600 21px Georgia;text-align:right;margin:0;white-space:nowrap;color:#e2d3b4}
.audition-page .audition-requirements small{width:auto;white-space:nowrap;text-align:center;border:1px solid #b9a6c044;border-radius:20px;padding:4px 5px;font:10px system-ui;color:#baaec7}
.audition-page .audition-requirements .requirement-met small{color:#c5ddcf;background:#9fcab91a;border-color:#9fcab955}
.audition-page .primary{display:block;width:100%;min-height:44px;font-size:15px;margin-top:15px}

.agency-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 15px}.agency-options button{padding:12px 5px;border:1px solid #b9a6c055;border-radius:8px;background:#2c2540;color:#bcaecb;min-width:0}.agency-options button.selected{border-color:#e3c88e;background:#d5bc8720;color:#f0dfb9}.agency-options strong{display:block;font:600 12px/1.6 system-ui;word-break:keep-all}.agency-options small{display:block;font:9px/1.7 system-ui;margin-top:4px;word-break:keep-all}
@media(max-width:700px) and (orientation:portrait){.game-room[data-age-group="teen"]>.character{top:18dvh!important;bottom:auto!important}}
#modal.home-stats-dialog{width:min(480px,calc(100vw - 24px));max-height:94dvh!important;box-sizing:border-box;padding:20px 18px!important}
#modal.home-stats-dialog .room-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important;margin:13px 0!important}
#modal.home-stats-dialog .stat{padding:0!important;margin:0!important;min-width:0}
#modal.home-stats-dialog .stat label{font:12px system-ui!important;display:flex;justify-content:space-between;gap:4px;margin-bottom:5px!important;white-space:nowrap}
#modal.home-stats-dialog .stat strong{font-size:13px!important}#modal.home-stats-dialog .stat strong small{font-size:9px!important}
#modal.home-stats-dialog .bar{height:4px!important;margin:0!important}
#modal.home-stats-dialog .stats-popup-head h2{font-size:23px!important;margin:6px 0!important}
#modal.home-stats-dialog .stat-roles-help{font:10px/1.7 system-ui;margin:8px 0!important;color:#bcb2cb}#modal.home-stats-dialog .stat-roles-help summary{cursor:pointer}#modal.home-stats-dialog .stat-roles-help p{font:10px/1.7 system-ui;margin:6px 0}
#modal.home-stats-dialog .weight-change-row{font-size:10px!important;padding:9px 0!important;margin-top:9px!important}

.game-room[data-age-group="teen"].has-mood-scene{background-image:var(--mood-scene)!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important}
.game-room[data-age-group="teen"].has-mood-scene>.character .character-sprite{visibility:hidden!important}
.month-outing-dialog .outing-choices:has([data-agency]){gap:8px}.month-outing-dialog .outing-choices [data-agency]{padding:12px 15px!important;min-height:58px!important}.month-outing-dialog .outing-choices [data-agency] strong{font-size:16px!important}.month-outing-dialog .outing-choices [data-agency] small{font-size:10px!important}
/* Keep heads visible in trainee practice; crop excess from the bottom. */
.month-playback .scene-training .lesson-art.lesson-video{object-position:center top!important}

.destination-parents[data-age-group="teen"]:not(.destination-has-scene) .destination-art{background-image:url('assets/events/teen_family.jpg')!important;background-position:center top!important}
.destination-screen[data-age-group="teen"].destination-has-scene .destination-art{background-position:center top!important}

.month-playback .scene-music .lesson-art.lesson-video{object-position:center top!important}
#modal.clothes-shop-dialog[data-shop-age="teen"]::backdrop{background:linear-gradient(#17162955,#17162999),url('assets/events/teen_clothes_shop.jpg') center top/cover no-repeat;backdrop-filter:none}
/* Story scenes keep the picture, copy and action within the viewport. */
#modal.story-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 28px))!important;height:min(740px,90dvh)!important;max-height:90dvh!important;padding:0!important;overflow:hidden!important;border-radius:14px!important;background:linear-gradient(145deg,#3d2c50,#1b2034)!important}
#modal.story-dialog[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important}
#modal.story-dialog>.story-art{display:block;width:100%!important;height:100%!important;min-height:0;max-height:none!important;object-fit:contain!important;object-position:center top!important;margin:0!important;background:#171a2a55}
#modal.story-dialog>.story-copy{padding:18px 22px 20px!important;min-width:0;border-top:1px solid #d5bc8733}
#modal.story-dialog .story-copy>small{font:8px system-ui!important;letter-spacing:2.5px;color:#d5bc87}
#modal.story-dialog .story-copy>h1{font-size:23px!important;line-height:1.45!important;margin:9px 0 10px!important;word-break:keep-all}
#modal.story-dialog .story-copy>p{font:14px/1.8 system-ui!important;word-break:keep-all;margin:0 0 16px!important;color:#c9bed5}
#modal.story-dialog .story-copy>.primary{display:block;width:100%;min-height:43px!important;margin:0!important;padding:10px 14px!important;font-size:14px!important}
@media(max-height:650px){#modal.story-dialog>.story-copy{padding:12px 17px 14px!important}#modal.story-dialog .story-copy>h1{font-size:20px!important;margin:7px 0!important}#modal.story-dialog .story-copy>p{font-size:12px!important;line-height:1.7!important;margin-bottom:11px!important}}
/* Stage result portraits: keep the lead character's head and face in the crop. */
#modal.stage-result-dialog .stage-watch-result-art[src*="teen_stage_"]{object-position:center 20%!important}

#modal.clothes-shop-dialog[data-shop-age="teen"]{max-height:90dvh!important;overflow:auto!important}#modal.clothes-shop-dialog[data-shop-age="teen"] .clothes-products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}#modal.clothes-shop-dialog .outfit-bonus{display:block;font:10px/1.6 system-ui;color:#c9b7dd;margin-top:5px;word-break:keep-all}#modal.clothes-shop-dialog .clothes-product strong{font-size:13px!important;line-height:1.5;word-break:keep-all}
/* Phone messages and sponsorship letters. */
.phone-popup-tabs.three-apps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.phone-popup-tabs.three-apps button{min-width:0;padding:8px 4px!important;font-size:12px!important;position:relative}.phone-popup-tabs.three-apps .sns-app-icon{width:23px;height:23px;font:17px/1 system-ui;display:grid;place-items:center}.inbox-badge,.home-message-badge{background:#a95770;color:#fff4e3;border:1px solid #efd399;border-radius:30px;font:10px system-ui;padding:2px 5px}.home-message-badge{position:absolute;right:-5px;top:-7px}.inbox-head{padding:20px 4px 12px}.inbox-head small,.offer-detail>small{font:8px system-ui;letter-spacing:2px;color:#d9bf87}.inbox-head h1,.offer-detail h1{font-size:23px;line-height:1.5;margin:8px 0;word-break:keep-all}.inbox-head p,.offer-detail p{font:12px/1.8 system-ui;color:#c3b6ce;word-break:keep-all}.inbox-list{display:grid;gap:10px;padding:8px 0 20px}.inbox-letter{text-align:left!important;padding:15px!important;border:1px solid #c3a47655!important;border-radius:9px!important;background:#ad87bf0b!important}.inbox-letter.unread{border-color:#e4c89099!important;background:#d4bc8710!important}.inbox-letter small,.inbox-letter strong,.inbox-letter span{display:block}.inbox-letter small{font:9px system-ui;color:#a9b8cd}.inbox-letter strong{font-size:16px;margin:7px 0;color:#ebdcb9;word-break:keep-all}.inbox-letter span{font:10px system-ui;color:#c6b9cc}.inbox-empty{padding:35px 15px;text-align:center;font:13px/1.9 system-ui;color:#b8adc8}.inbox-back{background:none!important;border:0!important;font:11px system-ui;margin:12px 0}.offer-detail{padding:15px 4px 22px}.offer-detail section{padding:12px;margin:12px 0;border:1px solid #d5bc8733;border-radius:8px;background:#171d2b55}.offer-detail h2{font:600 12px system-ui!important;color:#dfc590}.offer-detail section small{font:10px/1.8 system-ui;color:#bba9c9}.offer-status{font:11px system-ui;color:#ddc389;margin:14px 0}.offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offer-actions button{font-size:13px;min-height:42px}.offer-limit{color:#dfb3b8!important;font-size:10px!important}.offer-actions button:disabled{opacity:.4}
/* First stage wardrobe gate. */
#modal.debut-prep-dialog,#modal.expulsion-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 28px));max-height:92dvh;overflow:auto;padding:25px 22px;border-radius:14px}#modal.debut-prep-dialog>small,#modal.expulsion-dialog>small{font:8px system-ui;letter-spacing:2px;color:#d9bf87}.debut-prep-dialog h1,.expulsion-dialog h1{font-size:24px;line-height:1.5;margin:10px 0}.debut-prep-dialog>p,.expulsion-dialog p{font:12px/1.8 system-ui;color:#c4b6d0}.debut-outfits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.debut-outfits button{padding:9px;border:1px solid #d9c18b55;border-radius:9px;background:#b09ac411}.debut-outfits button.selected{border-color:#f0d19c;background:#d3b67b22}.debut-outfits button:disabled{opacity:.45}.debut-outfits img{height:20dvh;max-height:170px;width:100%;object-fit:contain}.debut-outfits strong,.debut-outfits small{display:block;font:12px system-ui;margin-top:5px}.debut-outfits small{font-size:10px;color:#c3b2cc}.debut-prep-dialog>button{display:block;width:100%;min-height:40px;font-size:13px;margin-top:9px}.debut-prep-dialog>button:disabled{opacity:.4}.debut-warning{font-size:10px!important}.debut-budget{color:#e1c790!important}
#modal.career-ending-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));height:92dvh;max-height:800px;padding:0!important;overflow:auto;border-radius:16px}#modal.career-ending-dialog>img{display:block;width:100%;height:43dvh;max-height:390px;object-fit:cover;object-position:center 20%}.career-ending-copy{padding:22px}.career-ending-copy>small{font:8px system-ui;letter-spacing:2px;color:#e3c58a}.career-ending-copy h1{font-size:27px;line-height:1.5;margin:10px 0;word-break:keep-all}.career-ending-copy p{font:13px/1.8 system-ui;color:#c5b9ce;word-break:keep-all}.ending-records{border-top:1px solid #d2b78144;border-bottom:1px solid #d2b78144;padding:11px 0;margin:15px 0;font:11px system-ui;color:#dfc68f}.career-ending-copy .ending-note{font-size:11px}.career-ending-copy .primary{width:100%;font-size:14px;min-height:43px;margin-top:13px}.expulsion-dialog .primary{width:100%;min-height:43px;margin-top:16px}
/* Three app tabs: icon above an unbroken app name. */
#modal.social-phone-dialog .phone-popup-tabs.three-apps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding:6px!important}
#modal.social-phone-dialog .phone-popup-tabs.three-apps>button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:9px 3px!important;min-width:0!important;min-height:66px!important;font:600 12px/1.2 system-ui!important;white-space:nowrap!important;word-break:keep-all!important;letter-spacing:0!important}
#modal.social-phone-dialog .phone-popup-tabs.three-apps .sns-app-icon{flex:none!important;width:24px!important;height:24px!important;margin:0!important;font-size:17px!important}
#modal.social-phone-dialog .phone-popup-tabs.three-apps .inbox-badge{position:absolute;top:5px;right:6px;font-size:8px!important;min-width:13px;padding:2px!important}

.home-message-badge,.inbox-badge,.letter-unread-badge{background:#e43c49!important;color:#fff!important;border:1px solid #fff6!important;box-shadow:0 2px 5px #27112533;font-weight:700!important;text-align:center}.inbox-letter{position:relative;padding-right:38px!important}.letter-unread-badge{position:absolute;top:14px;right:12px;min-width:18px;height:18px;border-radius:20px;font:700 10px/18px system-ui}

#modal.career-ending-dialog>img{object-position:center top!important}
/* Career ending: full portrait and compact, predictable typography. */
#modal.career-ending-dialog{display:none;width:min(430px,calc(100vw - 26px))!important;height:min(780px,92dvh)!important;max-height:92dvh!important;overflow:hidden!important;padding:0!important}
#modal.career-ending-dialog[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important}
#modal.career-ending-dialog>img{display:block;width:100%!important;height:100%!important;min-height:0;max-height:none!important;object-fit:contain!important;object-position:center top!important;background:#171a2a66}
#modal.career-ending-dialog>.career-ending-copy{padding:17px 21px 19px!important;min-width:0;border-top:1px solid #d5bc8733}
#modal.career-ending-dialog .career-ending-copy>small{display:block;font:8px/1.4 system-ui!important;letter-spacing:2px!important}
#modal.career-ending-dialog .career-ending-copy>h1{font-size:clamp(20px,5.2vw,25px)!important;line-height:1.4!important;margin:9px 0 10px!important;word-break:keep-all;letter-spacing:-.4px}
#modal.career-ending-dialog .career-ending-copy>p{font:12px/1.8 system-ui!important;margin:0 0 11px!important;word-break:keep-all}
#modal.career-ending-dialog .ending-records{font:10px/1.6 system-ui!important;padding:9px 0!important;margin:11px 0!important}
#modal.career-ending-dialog .career-ending-copy>.ending-note{font:10px/1.7 system-ui!important;margin:0 0 10px!important}
#modal.career-ending-dialog .career-ending-copy>.primary{min-height:41px!important;font:600 13px/1.4 system-ui!important;padding:10px 12px!important;margin:0!important}
@media(max-height:650px){#modal.career-ending-dialog>.career-ending-copy{padding:12px 17px 14px!important}#modal.career-ending-dialog .career-ending-copy>h1{font-size:20px!important;margin:6px 0!important}#modal.career-ending-dialog .career-ending-copy>p{font-size:11px!important;line-height:1.65!important;margin-bottom:8px!important}}
/* A separate epilogue replaces gameplay, with a real time break and letter. */
#modal.career-ending-dialog.ending-epilogue{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#181928!important;padding:0!important;overflow:hidden!important}
#modal.career-ending-dialog.ending-epilogue[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto!important}
#modal.ending-epilogue::backdrop{background:#11121c!important;backdrop-filter:none!important}
#modal.ending-epilogue>.epilogue-art{width:100%!important;height:100%!important;min-height:0;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;animation:epilogue-reveal .9s ease both}
.epilogue-copy{box-sizing:border-box;width:min(100%,540px);justify-self:center;padding:18px 25px max(22px,env(safe-area-inset-bottom));text-align:center}
.epilogue-copy>small{font:9px/1.5 system-ui;letter-spacing:2px;color:#d7bd8b}.epilogue-copy>h1{font-size:clamp(22px,5.5vw,30px)!important;line-height:1.45;margin:8px 0 10px;word-break:keep-all}.epilogue-copy>p{font:13px/1.8 system-ui;color:#c1b5ce;margin:0 0 15px}.epilogue-copy>.primary{width:100%;min-height:43px;font:600 13px/1.5 system-ui;margin:0}
#modal.ending-epilogue[data-ending-phase="1"]{background:#090a10!important}.ending-time-jump{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;padding:24px;text-align:center;box-sizing:border-box;animation:epilogue-reveal 1.7s ease both}.ending-time-jump small{font:10px system-ui;letter-spacing:4px;color:#aea4b4}.ending-time-jump h1{font-size:clamp(38px,9vw,65px)!important;font-weight:400;letter-spacing:6px;margin:25px 0 30px}.ending-time-jump span{font:12px/1.8 system-ui;color:#b4a9bf}.ending-time-jump button{margin-top:65px;background:none!important;border:1px solid #bda67655;font:12px system-ui;min-height:41px;padding:10px 25px}
.ending-envelope-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:28px;box-sizing:border-box;text-align:center;background:radial-gradient(ellipse at 50% 40%,#4a385a,#1a1c2c 75%);animation:epilogue-reveal .9s ease both}.ending-envelope-scene>small{font:8px system-ui;letter-spacing:3px;color:#d6c199}.ending-envelope{position:relative;width:210px;height:140px;border:1px solid #edd8a9;background:linear-gradient(145deg,#e7d5b1,#cdb78d);border-radius:5px;margin:45px 0 30px;box-shadow:0 16px 35px #0d0b1855;display:grid;place-items:center}.ending-envelope:before{content:'';position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 64%);background:#f4e6c9;border-radius:5px}.ending-envelope span{position:relative;z-index:1;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#8f6071;color:#f2d8b2;font-size:25px;margin-top:30px}.ending-envelope-scene h1{font-size:27px!important;margin:10px 0}.ending-envelope-scene p{font:13px/1.9 system-ui;color:#c5bbd0}.ending-envelope-scene .primary{width:min(310px,100%);min-height:44px;margin-top:20px;font-size:14px}
.ending-letter-paper{box-sizing:border-box;align-self:center;justify-self:center;width:min(520px,calc(100vw - 32px));max-height:91dvh;overflow:auto;padding:30px 28px;background:#f3e9d4;color:#544458;box-shadow:0 15px 65px #0004;border:1px solid #d4bd93;border-radius:3px;animation:epilogue-reveal 1s ease both}.ending-letter-paper>small{font:8px system-ui;letter-spacing:3px;color:#96846e}.ending-letter-paper p{font-family:Diphylleia,serif;font-size:16px;line-height:2.05;word-break:keep-all;margin:17px 0;color:#55475b!important}.ending-letter-paper .letter-paragraph-0{font-size:19px;margin-top:24px}.ending-letter-paper .letter-paragraph-3{text-align:right}.ending-letter-paper button{display:block;width:100%;margin-top:25px;min-height:43px;font-size:13px;background:#d7c397!important;color:#3c2d4b!important;border-color:#b6a079!important}
.ending-reward{border-top:1px solid #d4b77e55;border-bottom:1px solid #d4b77e55;padding:11px 0;margin:12px 0 15px;display:grid;gap:5px}.ending-reward small{font:8px system-ui;letter-spacing:1px;color:#b9a6c2}.ending-reward strong{font:600 13px system-ui;color:#e5cc97}.ending-reward span{font:11px/1.65 system-ui;color:#c8bdd2;word-break:keep-all}
.finished-game{position:fixed;inset:0;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:25px;box-sizing:border-box;background:#191b2b;isolation:isolate}.finished-backdrop{position:fixed;inset:-25px;background-size:cover;background-position:center;filter:blur(18px) brightness(.22);z-index:-1}.finished-card{width:min(410px,100%);box-sizing:border-box;padding:30px 25px;border:1px solid #c5aa7966;border-radius:14px;background:linear-gradient(135deg,#3a2b4bdc,#1b2035eb);text-align:center}.finished-card>small{font:8px system-ui;letter-spacing:2px;color:#d4bf94}.finished-card h1{font-size:27px;line-height:1.6;margin:16px 0;word-break:keep-all}.finished-card>p{font:12px/1.8 system-ui;color:#c7bcd2}.finished-career{font:15px/1.7 system-ui;margin-top:18px;color:#e7d5ad}.finished-card button{display:block;width:100%;min-height:43px;margin-top:10px;font-size:13px}.finished-card .primary{margin-top:18px}body:has(.finished-game)>.settings-launcher,body:has(.finished-game)>.touch-toolbar{display:none!important}
#modal.end-archive-dialog,#modal.career-goals-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 26px));max-height:90dvh;overflow:auto;padding:25px 21px;border-radius:13px}.end-archive-dialog>h1,.career-goals-dialog>h1{font-size:25px;margin:10px 0 15px}.end-archive-dialog>small,.career-goals-dialog>small{font:8px system-ui;letter-spacing:2px;color:#d5bc87}.end-memory-list{display:grid;gap:8px}.end-memory-list button{text-align:left;padding:13px;border:1px solid #d5bc8733;border-radius:6px}.end-memory-list strong,.end-memory-list small{display:block;line-height:1.7}.end-memory-list small{font:9px system-ui;color:#b3a6c1}.end-memory-list strong{font:13px/1.7 system-ui;margin-top:5px}.end-archive-dialog>#endArchiveClose,.career-goals-dialog>#careerGoalsClose{width:100%;min-height:40px;font-size:13px;margin-top:15px}.career-goals-dialog>p{font:11px/1.8 system-ui;color:#c0b5cd}.career-goals{display:grid;gap:10px}.career-goals article{padding:13px;border:1px solid #c5aa7944;border-radius:8px;background:#1c213044}.career-goals h2{font:600 13px/1.6 system-ui!important;margin:0 0 9px;display:flex;gap:8px;justify-content:space-between}.career-goals h2 span{font-size:9px;color:#c9b68b;white-space:nowrap}.career-goals article>div{display:flex;justify-content:space-between;gap:8px;font:10px/1.9 system-ui;color:#a9a2b6}.career-goals article>div.goal-met{color:#c4dfca}.career-goals article b{font-weight:400;white-space:nowrap}.trainee-attendance-note{font:10px/1.7 system-ui;color:#e2c58e;margin:5px 0}
@keyframes epilogue-reveal{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.ending-time-jump,.ending-envelope-scene,.ending-letter-paper,#modal.ending-epilogue>.epilogue-art{animation:none}}@media(max-height:650px){.epilogue-copy{padding:12px 20px 15px}.epilogue-copy>h1{font-size:22px!important}.epilogue-copy>p{font-size:11px;margin-bottom:10px}.ending-reward{padding:8px 0;margin:8px 0 11px}.ending-letter-paper{padding:22px}.ending-letter-paper p{font-size:14px;line-height:1.9}}
.finished-card h1{color:#f0e3c6!important}.finished-card>button:not(.primary){background:#b5a0c510!important;border:1px solid #d5bc8766!important;color:#e4d7bb!important}.finished-card>button:not(.primary):hover{background:#d5bc8720!important}
#modal.ending-epilogue .ending-letter-paper p{color:#514455!important}#modal.ending-epilogue .ending-letter-paper>small{color:#8b7860!important}

/* Keep the assessment title together on narrow phone screens. */
.exam-intro{box-sizing:border-box}
.exam-intro h1{font-size:clamp(22px,6.2vw,32px)!important;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:normal;padding-inline:0;line-height:1.45}

.child-wish-note,.child-signal-note,.debut-checklist{margin:12px 0;padding:12px 14px;border:1px solid #c6ac7566;border-radius:12px;background:#eadbb817;color:inherit;font:13px/1.65 system-ui}.child-wish-note p,.child-signal-note p{font:inherit!important;margin:5px 0!important}.child-wish-note small,.child-wish-note span,.child-signal-note small{font-size:11px;line-height:1.6}.debut-checklist{display:grid;gap:4px}.debut-checklist strong{font-size:14px}.teacher-comment{font:12px/1.7 system-ui!important;word-break:keep-all;color:inherit}

#modal .audition-company-list button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;white-space:normal;word-break:keep-all}#modal .audition-company-list button strong{font-size:17px}#modal .audition-company-list button small{font-size:12px}#modal .audition-company-list button>span{font:11px/1.6 system-ui;opacity:.8}

/* Equal-size top-level month-end choices. */
#modal.month-outing-dialog .outing-choices:has(>[data-outing]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr;gap:12px!important}
#modal.month-outing-dialog .outing-choices>[data-outing]{box-sizing:border-box!important;width:100%!important;height:128px!important;min-height:128px!important;margin:0!important;padding:14px 10px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;overflow:hidden}
#modal.month-outing-dialog .outing-choices>[data-outing] strong{font-size:clamp(13px,3.7vw,17px)!important;line-height:1.4;word-break:keep-all;white-space:normal}
#modal.month-outing-dialog .outing-choices>[data-outing] small{font:11px/1.5 system-ui!important;word-break:keep-all;white-space:normal}
#modal.month-outing-dialog .outing-choices>[data-outing]>.game-icon{width:24px;height:24px;flex-shrink:0}
#modal .club-options button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;white-space:normal;word-break:keep-all}#modal .club-options button strong{font-size:17px}#modal .club-options button small,#modal .club-options button>span{font:12px/1.6 system-ui}

#modal .club-options .club-scene-preview{display:block;width:100%;height:126px;object-fit:cover;object-position:center 25%;border-radius:8px;margin:0 0 6px}#modal.month-outing-dialog:has(.club-options){max-height:90dvh;overflow:auto}#modal.month-outing-dialog .club-options{grid-template-columns:1fr!important}#modal.month-outing-dialog .club-options button{min-height:0!important;padding:12px!important}

#modal.street-casting-dialog{width:min(430px,calc(100vw - 32px));box-sizing:border-box;padding:28px 24px;max-height:90dvh;overflow:auto}#modal.street-casting-dialog h1{font-size:26px!important;line-height:1.5;word-break:keep-all}#modal.street-casting-dialog h2{font-size:20px!important}#modal.street-casting-dialog p{font:14px/1.8 system-ui;word-break:keep-all}#modal.street-casting-dialog>small{font-size:10px;letter-spacing:3px}#modal.street-casting-dialog>button{display:block;width:100%;margin-top:12px;font-size:14px}.agency-membership-note{font:13px/1.7 system-ui!important}.casting-auto-reply{padding:12px;border:1px solid #d5bc8755;border-radius:8px}

.media-connection-notice{position:fixed;z-index:20000;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;margin:auto;max-width:420px;box-sizing:border-box;padding:12px 16px;background:#292139f5;border:1px solid #d5bc87;border-radius:12px;color:#f4e6c9;box-shadow:0 6px 24px #0005;font:12px/1.6 system-ui}.media-connection-notice[hidden]{display:none}.media-connection-notice>span{font-weight:bold}.media-connection-notice p{margin:4px 0 8px;font:inherit}.media-connection-notice button{font:12px system-ui;padding:8px 12px;min-height:36px}

.planner-child-letters{margin:18px 0 0}.planner-child-letters:empty{display:none}#modal.main-characters-dialog{width:min(460px,calc(100vw - 30px));max-height:90dvh;overflow:auto;box-sizing:border-box;padding:24px}#modal.main-characters-dialog h1{font-size:25px!important}.main-characters-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.main-characters-list article{border:1px solid #d5bc8755;border-radius:10px;padding:12px}.main-characters-list img{width:100%;height:180px;object-fit:cover;object-position:center top;border-radius:7px}.main-characters-list h2{font-size:17px!important}.main-characters-list p{font:12px/1.6 system-ui!important}.main-characters-list small{font:11px/1.6 system-ui}.debut-weight-note{font:13px/1.7 system-ui!important;word-break:keep-all}

.home-partner{position:absolute;z-index:8;right:22px;bottom:180px;width:64px;min-height:64px;border-radius:50%;border:2px solid #d5bc87;background:linear-gradient(135deg,#57406a,#29243d);color:#f3dcb7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px;box-shadow:0 4px 18px #20142c44}.home-partner>span{font:26px/1 system-ui;color:#efb7c6}.home-partner>small{font:10px/1.6 system-ui}#modal.partner-dialog{width:min(420px,calc(100vw - 32px));max-height:90dvh;overflow:auto;box-sizing:border-box;padding:22px}#modal.partner-dialog>img{display:block;width:100%;height:230px;object-fit:cover;object-position:center top;border-radius:12px}#modal.partner-dialog>h1{font-size:26px!important}#modal.partner-dialog>p{font:13px/1.8 system-ui!important}#modal.partner-dialog>button{display:block;width:100%;margin-top:10px;font-size:14px}

.scene-fitness .lesson-art{object-position:center top}.main-characters-list .partner-effects{font-size:10px!important;line-height:1.7!important;word-break:keep-all}#modal.main-characters-dialog .main-characters-list{grid-template-columns:1fr}#modal.main-characters-dialog .main-characters-list article{display:grid;grid-template-columns:95px 1fr;gap:5px 12px;align-items:start}#modal.main-characters-dialog .main-characters-list img{grid-row:span 4;width:95px;height:145px}#modal.main-characters-dialog .main-characters-list h2{margin:4px 0}#modal.main-characters-dialog .main-characters-list p{margin:0}

.weight-rules-note{font:10px/1.6 system-ui!important;margin:8px 0 0;word-break:keep-all}

#modal.character-encounter-dialog{box-sizing:border-box;width:min(500px,calc(100vw - 24px));height:min(760px,92dvh);max-height:92dvh;padding:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--key-gradient);border:1px solid #d5bc87;border-radius:18px}#modal.character-encounter-dialog:not([open]){display:none}#modal.character-encounter-dialog .encounter-art{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center top;background:#2d263e}.encounter-copy{padding:18px 23px 20px}.encounter-copy>small{display:block;font:9px system-ui;letter-spacing:2px;color:#d5bc87;margin-bottom:10px}.encounter-speaker{font:16px system-ui;color:#f2ddb4}.encounter-line{font:16px/1.8 Diphylleia,serif!important;color:#f0e5ce!important;word-break:keep-all;margin:10px 0 16px!important}.encounter-copy .primary{display:block;width:100%;min-height:44px;font-size:14px}.encounter-copy h2{font-size:20px!important;line-height:1.6;word-break:keep-all}.encounter-affinity{display:grid;gap:7px;margin:12px 0 18px;text-align:center}.encounter-affinity>strong{font:24px system-ui;color:#f2c3d3}.encounter-affinity>span{font:13px system-ui;color:#e8d6e4}.encounter-affinity-track{height:8px;background:#d0b5d522;border-radius:6px;overflow:hidden}.encounter-affinity-track i{display:block;height:100%;background:linear-gradient(90deg,#b596cc,#efb2c8);border-radius:6px}

/* Character encounters: full portrait with a bottom dialogue gradient. */
#modal.character-encounter-dialog{position:fixed;display:block;background:#282137}#modal.character-encounter-dialog:not([open]){display:none}#modal.character-encounter-dialog .encounter-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}#modal.character-encounter-dialog .encounter-copy{position:absolute;inset:auto 0 0;padding:90px 24px 24px;background:linear-gradient(to bottom,transparent 0%,#261d38bd 26%,#261d38ef 55%,#211a32fc 100%);color:#f5e7cf}#modal.character-encounter-dialog .encounter-copy h2{color:#f5e7cf!important;margin:8px 0}#modal.character-encounter-dialog .encounter-line{color:#fff0dc!important;text-shadow:0 2px 8px #0007}#modal.character-encounter-dialog .encounter-affinity{margin-bottom:17px}#modal.character-encounter-dialog .encounter-speaker{color:#ffdfa8}#modal.character-encounter-dialog .encounter-copy>small{color:#efcf91}

#modal.growth-report-dialog .report-section-label{margin:16px 0 0;padding:9px 0 0;border-top:1px solid #d5bc8744;color:#dac8df;font:11px/1.6 system-ui;letter-spacing:1px}#modal.growth-report-dialog .report-stat-list{padding-top:4px}

#modal.story-dialog.club-activity-story{position:fixed;display:block;width:min(500px,calc(100vw - 24px));height:min(760px,92dvh);max-height:92dvh;padding:0;overflow:hidden;background:#282137}#modal.story-dialog.club-activity-story:not([open]){display:none}#modal.story-dialog.club-activity-story>.story-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}#modal.story-dialog.club-activity-story>.story-copy{position:absolute;inset:auto 0 0;padding:90px 24px 24px;background:linear-gradient(to bottom,transparent 0%,#261d38bd 26%,#261d38ef 55%,#211a32fc 100%);color:#f5e7cf}#modal.story-dialog.club-activity-story .story-copy h1{font-size:24px!important;line-height:1.5;color:#f5e7cf!important;margin:10px 0}#modal.story-dialog.club-activity-story .story-copy p{font-size:14px!important;line-height:1.8!important;color:#fff0dc!important;word-break:keep-all;text-shadow:0 2px 8px #0007}#modal.story-dialog.club-activity-story .story-copy>small{color:#efcf91}#modal.story-dialog.club-activity-story .story-copy button{display:block;width:100%;min-height:44px;font-size:14px}

/* Zoom around the current face position, keeping controls in place. */
.game-room[data-age-group="teen"].has-mood-scene{background-image:none!important;overflow:hidden}.game-room[data-age-group="teen"].has-mood-scene::before{content:'';position:absolute;inset:0;z-index:0;background-image:var(--mood-scene);background-size:cover;background-position:center top;background-repeat:no-repeat;transform:scale(1.12);transform-origin:50% var(--home-face-anchor-y,31.5%);pointer-events:none}
#modal.stage-result-dialog.stage-result-cinematic{position:fixed;width:min(500px,calc(100vw - 24px));height:min(760px,92dvh);max-height:92dvh;padding:0;overflow:hidden;text-align:left}#modal.stage-result-cinematic>.stage-watch-result-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover!important;object-position:center top!important;margin:0;border-radius:0}#modal.stage-result-cinematic>.stage-result-overlay{position:absolute;inset:auto 0 0;max-height:72%;overflow-y:auto;box-sizing:border-box;padding:70px 22px 20px;background:linear-gradient(transparent,#261d38dc 18%,#211a32fb 48%);color:#f5e7cf}#modal.stage-result-cinematic .stage-result-grade{width:max-content;height:auto;flex-direction:row;gap:9px;border-radius:8px;padding:5px 10px;margin:10px 0;box-shadow:none}#modal.stage-result-cinematic .stage-result-grade>b{font-size:23px}#modal.stage-result-cinematic .stage-result-grade>small{font-size:8px;margin:0}#modal.stage-result-cinematic h1{font-size:21px!important;color:#f5e7cf!important}#modal.stage-result-cinematic .stage-result-copy{font-size:12px;color:#eee0d2}#modal.stage-result-cinematic .stage-score-help{display:none}#modal.stage-result-cinematic .stage-result-growth{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#modal.stage-result-cinematic .stage-result-growth>div{padding:7px;gap:5px}#modal.stage-result-cinematic .stage-result-growth b{font-size:14px}#modal.stage-result-cinematic .stage-result-growth span{font-size:9px}#modal.stage-result-dialog .stage-result-overlay>.primary{width:100%;min-height:40px;font-size:13px}.stage-result-dialog:not(.stage-result-cinematic)>.stage-result-overlay{position:static}
#modal.clothes-shop-dialog[data-shop-age] .clothes-products,#modal.wardrobe-dialog .wardrobe-grid{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px!important;padding:8px 2px 14px;touch-action:pan-x;overscroll-behavior-x:contain}#modal.clothes-shop-dialog[data-shop-age] .clothes-product{flex:0 0 72%;min-width:0;scroll-snap-align:center;padding:13px!important}#modal.wardrobe-dialog .wardrobe-grid>button{flex:0 0 68%;min-width:0;scroll-snap-align:center;padding:12px}#modal.clothes-shop-dialog .outfit-art,#modal.wardrobe-dialog .wardrobe-preview{height:min(34dvh,250px)!important;max-height:none!important}#modal.clothes-shop-dialog .outfit-art img{object-fit:contain!important}.wardrobe-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0}.wardrobe-carousel-nav span{font:11px/1.5 system-ui;color:#cdbbd6}.wardrobe-carousel-nav button{min-width:38px;min-height:36px;padding:5px;font-size:18px}#modal.clothes-shop-dialog #clothesNotice{font:12px/1.7 system-ui;word-break:keep-all}.outfit-purchase-dialog{box-sizing:border-box;width:min(350px,calc(100vw - 42px));max-height:88dvh;overflow:auto;padding:24px;border:1px solid #d5bc87;border-radius:15px;background:linear-gradient(135deg,#473455,#211f35);color:#f2e2c3;text-align:center}.outfit-purchase-dialog::backdrop{background:#17122488;backdrop-filter:blur(3px)}.outfit-purchase-dialog>img{display:block;width:100%;height:200px;object-fit:contain}.outfit-purchase-dialog>h2{font-size:23px!important;line-height:1.5;word-break:keep-all}.outfit-purchase-dialog>p{font:13px/1.8 system-ui!important;word-break:keep-all}.outfit-purchase-dialog>small{display:block;font:10px/1.6 system-ui;color:#c9b7d7}.outfit-purchase-dialog>button{display:block;width:100%;min-height:42px;font-size:14px;margin-top:12px}

/* Finish the utility screens in the same visual language as the story cards. */
.game-settings{box-sizing:border-box;background:#17132199;backdrop-filter:blur(9px)}
.game-settings .settings-card{box-sizing:border-box;width:min(460px,100%);max-height:calc(100dvh - 32px);padding:24px;border-radius:18px;border:1px solid #d5bc8770}
.settings-card .settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #d5bc8738}
.settings-card .settings-heading small{font:9px/1.6 system-ui;letter-spacing:2px;color:#d5bc87}
.settings-card .settings-heading h1{font-size:27px;line-height:1.4;margin:6px 0 0}
.settings-card #settingsClose{flex:0 0 38px;width:38px;min-height:38px;padding:6px;border-radius:50%;font:17px system-ui}
.settings-card h2{font-size:18px;margin:22px 0 12px}
.game-settings .settings-card button{font:13px/1.5 system-ui;word-break:keep-all;border-radius:9px;min-height:44px}
.game-settings .settings-card .help{font:11px/1.8 system-ui;word-break:keep-all;margin-bottom:0}
.game-settings .music-controls label{color:#d3c2dc;font:12px/1.6 system-ui}
#modal:has(>.save-slots),#modal:has(>#confirmNew),#modal:has(>#confirmLeaveAgency),#modal:has(>#close):not([class]){box-sizing:border-box;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:25px;border-radius:18px!important}
#modal:has(>.save-slots)>h2,#modal:has(>#confirmNew)>h2,#modal:has(>#confirmLeaveAgency)>h2,#modal:has(>#close):not([class])>h2{font-size:24px!important;line-height:1.5;margin:0 0 12px;word-break:keep-all}
#modal:has(>.save-slots)>p,#modal:has(>#confirmNew)>p,#modal:has(>#confirmLeaveAgency)>p,#modal:has(>#close):not([class])>p{font:13px/1.85 system-ui!important;word-break:keep-all;margin:10px 0 18px}
#modal:has(>.save-slots)>button,#modal:has(>#confirmNew)>button,#modal:has(>#confirmLeaveAgency)>button,#modal:has(>#close):not([class])>button{display:block;width:100%;min-height:44px;padding:10px 14px;margin:10px 0 0;font:13px/1.5 system-ui;word-break:keep-all;border-radius:9px}
#modal .save-slots{gap:10px;margin:20px 0 10px}
#modal .save-slots>button{position:relative;min-height:99px;margin:0;padding:15px 17px;border-radius:11px;text-align:left}
#modal .save-slots small{font:10px/1.5 system-ui;color:#d5bc87;letter-spacing:1px}
#modal .save-slots strong{font:500 16px/1.6 system-ui;margin:6px 0;word-break:keep-all;overflow-wrap:anywhere}
#modal .save-slots span{font:11px/1.6 system-ui;color:#bcaacb}
#modal .save-slots>button:disabled{opacity:.45}
#modal #slotNotice{min-height:20px;font:12px/1.7 system-ui!important;color:#e8ce9c!important;margin:8px 0}
#modal>.school-event-art{object-position:center top!important}
#modal:has(>.school-event-art) .answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
#modal:has(>.school-event-art) .answers button{min-height:53px!important;font:13px/1.5 system-ui!important;word-break:keep-all;white-space:normal}
#modal:has(>.school-event-art) .answers button:last-child:nth-child(odd){grid-column:1/-1}
#modal.dinner-menu-dialog .dinner-options button{border-radius:11px;padding:13px 14px;white-space:normal}
#modal.dinner-menu-dialog .dinner-options button strong{font:500 16px/1.5 system-ui}
#modal.dinner-menu-dialog .dinner-options button b{font:13px/1.5 system-ui;color:#e8ce9c}
#modal.dinner-menu-dialog .dinner-options button small{display:block;font:11px/1.8 system-ui;word-break:keep-all;margin-top:6px;color:#c7b6d3}
#modal.dinner-menu-dialog>button{min-height:44px;font:13px/1.5 system-ui}
@media(max-width:360px){.game-settings .settings-card{padding:19px}#modal:has(>.save-slots){padding:20px}#modal:has(>.school-event-art) .answers button{font-size:12px!important}}

/* Opening: a portrait, a promise, and the first page. */
body.at-opening .settings-launcher,body.at-opening .touch-toolbar,body.at-opening>.music-controls{display:none!important}
.opening-screen,.opening-prologue{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:500px;overflow:hidden;background:#292139;color:#f7e8cf}
.opening-art,.prologue-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;z-index:-2}
.opening-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#29213955 0%,transparent 32%,transparent 48%,#2921398a 66%,#211b30fa 92%)}
.opening-heading{position:absolute;top:max(32px,env(safe-area-inset-top));left:max(28px,calc((100vw - 460px)/2));text-shadow:0 2px 18px #25193255}
.opening-heading>small,.opening-kicker{font:9px/1.8 system-ui;letter-spacing:3px;color:#e8c98e}
.opening-heading h1{font:400 clamp(35px,10vw,58px)/1.35 Diphylleia,serif;letter-spacing:2px;margin:10px 0;color:#fff2d8}
.opening-heading p{font:12px/1.7 system-ui;color:#fff1dc;letter-spacing:1px;margin-top:12px}
.opening-actions{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(350px,calc(100% - 52px));display:grid;gap:11px;text-align:center}
.opening-actions>span{font:14px/1.7 Diphylleia,serif;margin-bottom:8px;color:#f3dfbd}
.opening-actions>button{box-sizing:border-box;width:100%;min-height:51px;margin:0;padding:13px 22px;border:1px solid #d5bc8780;border-radius:11px;background:#42334f88;color:#f5e5c9;font:500 16px/1.5 system-ui}
.opening-actions>button b{float:right;font-weight:400}.opening-actions>small{font:10px/1.7 system-ui;color:#c5b1cb;margin-top:7px}
.opening-prologue .prologue-art{object-position:center top}
.prologue-copy{position:absolute;bottom:0;left:0;right:0;box-sizing:border-box;padding:110px max(26px,calc((100vw - 450px)/2)) max(28px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#292139d9 28%,#211b30 80%);text-align:left}
.prologue-copy>small{font:9px/1.6 system-ui;letter-spacing:2px;color:#dfc392}
.prologue-copy h1{font:400 clamp(25px,7vw,35px)/1.5 Diphylleia,serif;color:#f5e7cb;margin:13px 0}
.prologue-copy p{font:14px/1.9 system-ui;color:#eddfd0;word-break:keep-all;margin:0 0 24px}
.prologue-copy button{width:100%;min-height:46px;font:14px/1.5 system-ui;border-radius:10px}.prologue-copy button span{float:right}
.prologue-back{position:absolute;top:max(18px,env(safe-area-inset-top));left:20px;padding:9px 15px;min-height:38px;background:#2b223d80;color:#f7e8cf;border:1px solid #f4dfbf66;border-radius:20px;font:12px system-ui;backdrop-filter:blur(8px)}
#modal.child-setup-dialog,#modal.birthday-dialog,#modal.opening-load-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:25px;border-radius:18px!important}
#modal.child-setup-dialog h1,#modal.birthday-dialog h1{font-size:26px!important;line-height:1.5;margin:10px 0;word-break:keep-all}
#modal.child-setup-dialog .setup-intro{font:13px/1.8 system-ui;margin:0 0 23px;word-break:keep-all}
#childSetupForm>label,#childSetupForm legend{font:13px/1.6 system-ui;color:#e3cdab;margin-bottom:9px}
#childSetupForm fieldset{border:0;padding:0;margin:21px 0 0;min-width:0}
#childSetupForm input:not([type=radio]),#childSetupForm select{box-sizing:border-box;display:block;width:100%;min-height:45px;margin:7px 0 0;padding:10px 13px;border:1px solid #c5a8cf70;border-radius:9px;background:#211b3280;color:#f5e5cc;font:15px/1.5 system-ui;color-scheme:dark}
#childSetupForm .blood-type-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.blood-type-options label{position:relative;cursor:pointer;margin:0}.blood-type-options input{position:absolute;opacity:0;width:1px;height:1px}
.blood-type-options span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 3px;border:1px solid #c5a8cf50;border-radius:10px;background:#ad90c310}
.blood-type-options input:checked+span{border-color:#e8ce9c;background:#d5bc8725;box-shadow:inset 0 0 0 1px #d5bc8755}.blood-type-options input:focus-visible+span{outline:2px solid #ecdcaf;outline-offset:3px}
.blood-type-options b{font:500 17px/1.4 system-ui}.blood-type-options small{font:10px/1.5 system-ui;color:#cdbbd6;white-space:nowrap}
#childSetupForm .setup-hint{font:10px/1.8 system-ui!important;word-break:keep-all;margin:9px 0 0}
.birthday-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#childSetupForm>button,#modal.birthday-dialog>button{display:block;width:100%;min-height:44px;margin:13px 0 0;border-radius:9px;font:13px/1.5 system-ui}
#childSetupForm>button.primary{margin-top:25px}
#modal.birthday-dialog .birthday-top{text-align:center}.birthday-top>small{font:9px/1.6 system-ui;letter-spacing:2px;color:#e8ce9c}
.birthday-emblem{margin:15px auto 8px;width:55px;height:55px;display:grid;place-items:center;border:1px solid #e8ce9c66;border-radius:50%;background:radial-gradient(circle,#d5bc8733,transparent);font:30px/1 system-ui;color:#efd39d}
#modal.birthday-dialog .birthday-top p{font:13px/1.85 system-ui!important;word-break:keep-all}.birthday-budget{font:12px/1.6 system-ui!important;border-top:1px solid #d5bc8738;padding-top:17px;margin-top:20px;color:#e8ce9c!important}
.birthday-gifts{display:grid;gap:9px}.birthday-gifts button{padding:14px;text-align:left;border-radius:11px;margin:0;min-width:0;white-space:normal}.birthday-gifts button>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.birthday-gifts strong{font:500 14px/1.5 system-ui}.birthday-gifts b{font:12px/1.5 system-ui;color:#e8ce9c;white-space:nowrap}.birthday-gifts small{display:block;font:10px/1.8 system-ui;color:#cdbbd6;margin-top:7px;word-break:keep-all}.birthday-gifts em{font:10px/1.7 system-ui;color:#e5acb3}.birthday-gifts button:disabled{opacity:.45}
#modal.birthday-dialog .birthday-skip-note{font:10px/1.6 system-ui!important;text-align:center;margin:6px 0 0;color:#bc9fb9!important}#modal.birthday-dialog .birthday-result{font:13px/1.9 system-ui!important;word-break:keep-all;padding:15px;border:1px solid #d5bc8738;border-radius:10px;margin:20px 0}
@media(min-width:700px){.opening-screen,.opening-prologue{max-width:560px;margin:auto;box-shadow:0 0 80px #100e2a80}.opening-heading{left:38px}.prologue-copy{padding-left:35px;padding-right:35px}body.at-opening{background:#211b30}.opening-art{object-position:center 30%}}
@media(max-height:670px){.opening-heading{top:22px}.opening-heading h1{font-size:34px}.opening-heading p{font-size:10px}.opening-actions{bottom:20px;gap:8px}.opening-actions>button{min-height:45px}.opening-actions>span{font-size:12px}.prologue-copy p{font-size:12px}.prologue-copy{padding-top:75px}#modal.child-setup-dialog{padding:20px}#childSetupForm fieldset{margin-top:15px}}
.opening-screen>.opening-heading{display:block;width:calc(100% - 56px);max-width:460px;box-sizing:border-box;background:none;border:0;padding:0}.opening-heading>small{display:block}.opening-heading h1{word-break:keep-all;overflow-wrap:normal}.opening-heading p{max-width:none;white-space:normal}
.opening-vignette{background:linear-gradient(180deg,#292139a6 0%,#29213930 27%,transparent 43%,transparent 48%,#2921398a 66%,#211b30fa 92%)}.opening-heading{text-shadow:0 2px 14px #21152e99}.opening-heading p{color:#fff2df}

/* Collected futures stay with the player across stories. */
.opening-actions>.opening-collection-button{min-height:37px;padding:7px 12px;font-size:12px;background:#211b3066;border-color:#c2a6c450}.opening-collection-button>small{display:inline-block;font:10px system-ui;margin-left:8px;color:#e8ce9c}
#modal.ending-collection-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 26px);padding:23px;overflow:auto;border-radius:18px!important}
.collection-heading>small{font:9px/1.6 system-ui;letter-spacing:2px;color:#e8ce9c}.collection-heading h1{font-size:26px!important;line-height:1.5;margin:8px 0}.collection-heading p{font:12px/1.6 system-ui!important;margin:0 0 20px}
.ending-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#modal.ending-collection-dialog .ending-collection-grid button{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;padding:0 0 12px;margin:0;overflow:hidden;border-radius:11px;text-align:left;white-space:normal;background:#ac90c312;border:1px solid #d5bc8744}
.ending-collection-grid img{display:block;width:100%;height:155px;object-fit:cover;object-position:center top;margin:0 0 11px}
.ending-collection-grid strong{font:13px/1.6 system-ui;word-break:keep-all;padding:0 11px}.ending-collection-grid small{font:9px/1.6 system-ui;color:#c3afcf;padding:7px 11px 0;word-break:keep-all}.ending-collection-grid .locked{opacity:.55}.collection-lock{height:155px;display:grid;place-items:center;font:36px system-ui;color:#c7afd4;margin-bottom:11px;background:radial-gradient(circle,#b69ac51a,transparent 70%)}
#modal.ending-collection-dialog>.primary{display:block;width:100%;min-height:44px;margin:22px 0 0;font:13px system-ui;border-radius:10px}
#modal.collected-ending-dialog{box-sizing:border-box;padding:0;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border-radius:18px!important}
.collected-ending-art{display:block;width:100%;height:43dvh;object-fit:contain;object-position:center top;background:#241d32}
.collected-ending-copy{padding:22px}.collected-ending-copy>small{font:9px/1.7 system-ui;letter-spacing:2px;color:#e8ce9c}.collected-ending-copy h1{font-size:25px!important;line-height:1.5;word-break:keep-all;margin:10px 0 20px}.collected-ending-copy>button{display:block;width:100%;min-height:44px;margin:12px 0 0;border-radius:9px;font:12px/1.6 system-ui;white-space:normal;word-break:keep-all}
@media(max-height:670px){.opening-actions{gap:7px}.opening-actions>span{margin-bottom:0}.opening-actions>.opening-collection-button{min-height:32px}.opening-actions>small{margin-top:2px}}

/* IDOL DAYS: a large champagne star and a pearl wordmark. */
.opening-screen>.opening-heading{top:max(17px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(280px,74vw);max-width:280px;text-align:center}
.opening-heading>small{font:8px/1.5 system-ui;letter-spacing:3px;color:#f1d7a5}
.opening-heading h1{margin:3px 0 0;font-size:0;line-height:1}.opening-logo{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;filter:drop-shadow(0 4px 11px #291d3b66)}
.opening-heading p{font:10px/1.7 system-ui;letter-spacing:.6px;margin:8px -15px 0;color:#fff0d6}
#modal.collected-ending-dialog{position:fixed;display:block;width:min(500px,calc(100vw - 24px));height:min(780px,92dvh);max-height:92dvh;padding:0;overflow:hidden;background:#241d32}
#modal.collected-ending-dialog:not([open]){display:none}
#modal.collected-ending-dialog>.collected-ending-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
#modal.collected-ending-dialog>.collected-ending-copy{position:absolute;inset:auto 0 0;box-sizing:border-box;max-height:72%;overflow-y:auto;padding:95px 24px 23px;background:linear-gradient(transparent,#271e39d9 23%,#211a32fa 55%);color:#f7e7ce}
#modal.collected-ending-dialog .collected-ending-copy h1{font-size:24px!important;color:#fff0d5!important;margin:10px 0 16px;text-shadow:0 2px 10px #0005}
#modal.collected-ending-dialog .ending-reward{margin:12px 0;padding:12px 0;background:none}
#modal.collected-ending-dialog .ending-reward>strong{font-size:14px}#modal.collected-ending-dialog .ending-reward>span{font-size:11px;line-height:1.7}
#modal.ending-epilogue:is([data-ending-phase="0"],[data-ending-phase="4"])[open]{display:block!important}
#modal.ending-epilogue:is([data-ending-phase="0"],[data-ending-phase="4"])>.epilogue-art{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
#modal.ending-epilogue:is([data-ending-phase="0"],[data-ending-phase="4"])>.epilogue-copy{position:absolute;inset:auto 0 0;width:100%;max-width:none;padding:105px max(25px,calc((100vw - 460px)/2)) max(28px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#271e39d9 26%,#211a32fc 65%);color:#f7e7ce}
@media(max-height:670px){.opening-screen>.opening-heading{top:12px;width:220px}.opening-logo{max-height:165px}.opening-heading p{font-size:9px;margin-top:5px}#modal.collected-ending-dialog>.collected-ending-copy{padding:70px 20px 18px}.collected-ending-copy h1{font-size:21px!important}}

#modal.new-story-confirm-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:25px;border-radius:18px!important;overflow:auto}
#modal.new-story-confirm-dialog:has(>#confirmNew)>h2{font-size:clamp(18px,5vw,23px)!important;line-height:1.5!important;letter-spacing:-.5px;margin:0 0 17px!important;word-break:keep-all;overflow-wrap:normal}
#modal.new-story-confirm-dialog:has(>#confirmNew)>p{font:13px/1.85 system-ui!important;word-break:keep-all;overflow-wrap:normal;margin:0 0 22px!important}
#modal.new-story-confirm-dialog:has(>#confirmNew)>button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:calc((100% - 10px)/2)!important;height:46px!important;min-height:46px!important;padding:10px 5px!important;margin:0!important;font:500 13px/1.5 system-ui!important;border-radius:10px;white-space:nowrap;vertical-align:top}
#modal.new-story-confirm-dialog #confirmNew{margin-right:5px!important}
@media(max-width:360px){#modal.new-story-confirm-dialog{padding:21px}#modal.new-story-confirm-dialog>p{font-size:12px!important}#modal.new-story-confirm-dialog:has(>#confirmNew)>button{font-size:12px!important}}

/* The first page is a conversation, using the same quiet dialogue language as home. */
.prologue-conversation>.prologue-dialogue-shade{position:absolute;inset:45% 0 0;z-index:-1;pointer-events:none;background:linear-gradient(transparent,#21182f55 35%,#21182fe6 100%)}
.opening-prologue.prologue-conversation>.prologue-dialogue{position:absolute;left:22px;right:22px;bottom:max(30px,env(safe-area-inset-bottom));box-sizing:border-box;width:calc(100% - 44px);min-height:156px;margin:0;padding:28px 24px 37px;border:1px solid #d8bf8e99;border-radius:13px;background:linear-gradient(125deg,#493553e8,#242036ef);color:#f4e8cf;text-align:left;white-space:normal;box-shadow:0 12px 35px #17102150,inset 0 0 0 3px #d5bc8708;backdrop-filter:blur(9px);cursor:pointer}
.prologue-dialogue>.prologue-speaker{position:absolute;top:-17px;left:19px;display:block;min-width:64px;padding:6px 17px;border:1px solid #d8bf8e99;border-radius:7px;background:#3c2c4c;color:#f1d4a0;font:13px/1.5 system-ui;text-align:center;letter-spacing:.5px}
.prologue-dialogue>p{margin:0!important;font:17px/1.85 Diphylleia,serif!important;word-break:keep-all;overflow-wrap:normal;color:#f5ead6!important;text-shadow:0 1px 5px #17102155}
.prologue-dialogue>.prologue-dialogue-next{position:absolute;right:22px;bottom:12px;color:#e4cda7;font:10px/1.6 system-ui;letter-spacing:.7px}.prologue-dialogue-next i{font-style:normal;margin-left:6px;color:#e9ce95}
.prologue-conversation[data-prologue-speaker="narrator"] .prologue-speaker{color:#d6c0de;background:#30263e}.prologue-conversation[data-prologue-speaker="narrator"] .prologue-dialogue p{color:#e6dce7!important}
.prologue-dialogue:focus-visible{outline:2px solid #f1d4a0;outline-offset:4px}.prologue-dialogue:hover{border-color:#f1d4a0}
@media(max-width:360px){.opening-prologue.prologue-conversation>.prologue-dialogue{left:17px;right:17px;width:calc(100% - 34px);padding:25px 19px 35px}.prologue-dialogue>p{font-size:15px!important}}
@media(max-height:650px){.opening-prologue.prologue-conversation>.prologue-dialogue{bottom:20px;min-height:135px;padding-top:24px}.prologue-dialogue>p{font-size:15px!important}}

.opening-prologue.prologue-time-jump{background:radial-gradient(ellipse at 50% 35%,#514164 0%,#2b233e 45%,#191726 100%)}
.prologue-time-sky{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 15%,#d5bc8710,transparent 50%)}
.prologue-time-sky span,.prologue-time-sky i,.prologue-time-sky b{position:absolute;color:#e8ce9c;font-style:normal;font-weight:400;text-shadow:0 0 25px #e8ce9c44}
.prologue-time-sky span{top:26%;left:47%;font:54px/1 system-ui;opacity:.65}.prologue-time-sky i{top:20%;left:65%;font:15px/1 system-ui;opacity:.4}.prologue-time-sky b{top:38%;left:30%;font:20px/1 system-ui;opacity:.3}

/* Compact child introduction, with the controls visible together. */
#modal.child-setup-dialog{padding:22px;max-height:calc(100dvh - 28px)}
#modal.child-setup-dialog>.opening-kicker{font-size:8px;letter-spacing:2px}
#modal.child-setup-dialog>h1{font-size:clamp(19px,5.1vw,24px)!important;line-height:1.5;margin:9px 0 19px;word-break:keep-all}
#modal.child-setup-dialog #childSetupForm>label,#modal.child-setup-dialog #childSetupForm legend{font-size:12px;margin-bottom:6px}
#modal.child-setup-dialog #childSetupForm fieldset{margin:16px 0 0}
#modal.child-setup-dialog #childSetupForm input:not([type=radio]),#modal.child-setup-dialog #childSetupForm select{min-height:42px;height:42px;font-size:14px;padding:8px 11px;margin-top:5px}
#modal.child-setup-dialog .blood-type-options span{padding:10px 3px;gap:4px}
#modal.child-setup-dialog .blood-type-options b{font-size:16px}#modal.child-setup-dialog .blood-type-options small{font-size:9px}
#modal.child-setup-dialog #childSetupForm .setup-hint{font-size:10px!important;line-height:1.6!important;margin-top:8px}
#modal.child-setup-dialog #childSetupForm>button{min-height:42px;margin-top:9px;font-size:13px}
#modal.child-setup-dialog #childSetupForm>button.primary{margin-top:18px}
#modal.child-setup-dialog .intro-ending-reward{padding:10px 12px;margin:13px 0 0;border-radius:9px}
#modal.child-setup-dialog .intro-ending-reward>small{font-size:8px}#modal.child-setup-dialog .intro-ending-reward>strong{font-size:12px;margin:4px 0}#modal.child-setup-dialog .intro-ending-reward>span{font-size:10px;line-height:1.6}
@media(max-height:650px){#modal.child-setup-dialog{padding:18px}#modal.child-setup-dialog>h1{margin-bottom:13px}#modal.child-setup-dialog #childSetupForm fieldset{margin-top:12px}#modal.child-setup-dialog #childSetupForm>button.primary{margin-top:14px}}

.opening-prologue.prologue-time-jump>.prologue-memory-room{object-fit:cover;object-position:center top}

/* Home phone: four equal app tiles, with centered vector icons. */
.game-room .phone-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;align-items:stretch;justify-items:stretch;width:100%;box-sizing:border-box;margin:0;padding:0}
.game-room .phone-apps>i{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-width:0;min-height:0;aspect-ratio:1;border-radius:6px;padding:0!important;margin:0;line-height:0;font-size:0;overflow:hidden}
.game-room .phone-apps>i>.phone-app-icon{display:block;flex:none;width:64%;height:64%;max-width:27px;max-height:27px;margin:0;padding:0;vertical-align:middle;overflow:visible}
.game-room .phone-time{text-align:center;line-height:1.2}
@media(max-width:700px){.game-room .phone-apps{gap:3px}.game-room .phone-apps>i{border-radius:5px}.game-room .phone-apps>i>.phone-app-icon{width:65%;height:65%;max-width:16px;max-height:16px}}

/* Match the opening's two main actions to the ornate schedule frame. */
.opening-actions>#openingStart,.opening-actions>#openingLoad{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:66px;min-height:66px;margin:0;padding:0 48px;border:0!important;border-radius:0;background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;color:#f4e8ca!important;box-shadow:none!important;font:400 20px/1.4 Diphylleia,serif;letter-spacing:3px;text-shadow:0 2px 2px #151025;filter:drop-shadow(0 5px 7px #17102155)}
.opening-actions>#openingStart>b{display:none}
.opening-actions>#openingStart:hover,.opening-actions>#openingLoad:hover{filter:drop-shadow(0 5px 9px #17102166) brightness(1.12)}
.opening-actions>#openingStart:active,.opening-actions>#openingLoad:active{transform:translateY(2px);filter:brightness(.96)}
@media(max-height:670px){.opening-actions>#openingStart,.opening-actions>#openingLoad{height:58px;min-height:58px;font-size:18px}}
.opening-actions>#openingCollection{width:max-content;max-width:100%;justify-self:center;min-height:40px;padding:8px 16px;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;color:#e8d9bd;font:12px/1.6 system-ui;text-decoration:none;text-underline-offset:4px}
.opening-actions>#openingCollection:hover{text-decoration:underline;color:#fff0d2}.opening-actions>#openingCollection>small{color:#d5bc87}

.game-icon.game-icon-spark{fill:#08080b!important;stroke:none!important;color:#08080b!important}

/* Continue screen: compact records and the opening's signature gold frame. */
#modal.opening-load-dialog:has(>.save-slots){box-sizing:border-box;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:22px;overflow:auto}
#modal.opening-load-dialog>.opening-kicker{display:block;font:8px/1.6 system-ui;letter-spacing:2px;color:#dfc28c}
#modal.opening-load-dialog:has(>.save-slots)>h2{font-size:clamp(21px,5.5vw,25px)!important;line-height:1.4;margin:9px 0 12px;word-break:keep-all}
#modal.opening-load-dialog:has(>.save-slots)>.help{font:12px/1.7 system-ui!important;margin:0 0 15px;word-break:keep-all}
#modal.opening-load-dialog .save-slots{gap:9px;margin:0}
#modal.opening-load-dialog .save-slots>button{box-sizing:border-box;min-height:76px;height:76px;padding:10px 14px;margin:0;border:1px solid #c2a2b85c;border-radius:9px;position:relative;background:linear-gradient(110deg,#6e507329,#28213966)!important;overflow:hidden}
#modal.opening-load-dialog .save-slots>button:not(:disabled){border-color:#d5bc8780;box-shadow:inset 3px 0 0 #d5bc8788}
#modal.opening-load-dialog .save-slots>button:not(:disabled)::after{content:'';position:absolute;right:13px;top:50%;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);border:1px solid #d5bc87;background:#d5bc8722}
#modal.opening-load-dialog .save-slots small{font:9px/1.5 system-ui;letter-spacing:.5px}
#modal.opening-load-dialog .save-slots strong{font:500 14px/1.5 system-ui;margin:3px 18px 3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#modal.opening-load-dialog .save-slots span{font:10px/1.5 system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#modal.opening-load-dialog:has(>.save-slots)>#openingLoadBack{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:57px;min-height:57px;margin:17px 0 0;padding:0 45px;border:0!important;border-radius:0;background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;box-shadow:none!important;color:#f4e8ca!important;font:400 17px/1.4 Diphylleia,serif;letter-spacing:2px;filter:drop-shadow(0 3px 5px #17102133)}
#modal.opening-load-dialog #openingLoadBack:hover{filter:brightness(1.12)}
@media(max-height:650px){#modal.opening-load-dialog:has(>.save-slots){padding:18px}#modal.opening-load-dialog .save-slots{gap:7px}#modal.opening-load-dialog .save-slots>button{height:65px;min-height:65px;padding:8px 12px}#modal.opening-load-dialog:has(>.save-slots)>.help{margin-bottom:11px;font-size:11px!important}#modal.opening-load-dialog:has(>.save-slots)>#openingLoadBack{height:51px;min-height:51px;margin-top:12px}}

/* Ending collection: centered, softly blended silhouettes and restrained gold trim. */
#modal.ending-collection-dialog .ending-collection-grid>button{border-color:#d5bc8759;border-radius:9px;background:linear-gradient(135deg,#6c507326,#26203588)!important}
#modal.ending-collection-dialog .ending-collection-grid>.locked{opacity:1;border-color:#d5bc8733}
#modal.ending-collection-dialog .ending-collection-grid>.locked>strong,#modal.ending-collection-dialog .ending-collection-grid>.locked>small{opacity:.46}
#modal.ending-collection-dialog .collection-lock{position:relative;display:grid;place-items:center;width:100%;height:155px;min-height:155px;margin:0 0 11px;padding:0;background:radial-gradient(ellipse at center,#cbb1d111,transparent 70%);text-shadow:none;line-height:1}
#modal.ending-collection-dialog .collection-lock>.icon-wrap{display:grid;place-items:center;width:64px;height:64px;margin:0;line-height:1;vertical-align:initial}
#modal.ending-collection-dialog .collection-lock .game-icon-spark{display:block;width:64px;height:64px;margin:0;opacity:.38;fill:#08080b!important;stroke:none!important;mask-image:linear-gradient(145deg,#000 15%,#0009 70%,#0005);-webkit-mask-image:linear-gradient(145deg,#000 15%,#0009 70%,#0005)}
#modal.ending-collection-dialog .collection-heading{position:relative;padding:0 0 17px;margin-bottom:18px;border-bottom:1px solid #d5bc8750}
#modal.ending-collection-dialog .collection-heading::after{content:'';position:absolute;bottom:-4px;left:calc(50% - 3px);width:6px;height:6px;transform:rotate(45deg);background:#d5bc87;box-shadow:0 0 0 4px #35283f}
#modal.ending-collection-dialog .collection-heading p{margin-bottom:0}
#modal.ending-collection-dialog>#collectionBack,#modal.collected-ending-dialog #selectEndingReward{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:58px;min-height:58px;padding:0 40px;border:0!important;border-radius:0;background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;box-shadow:none!important;color:#f4e8ca!important;font:400 14px/1.5 Diphylleia,serif;letter-spacing:.5px;filter:drop-shadow(0 3px 5px #17102133)}
#modal.collected-ending-dialog #selectEndingReward{font-size:12px;letter-spacing:0}
#modal.collected-ending-dialog #collectedEndingBack{width:max-content;max-width:100%;margin:8px auto 0;padding:8px 5px;min-height:38px;border:0;background:none!important;box-shadow:none!important;font:11px/1.6 system-ui;color:#dfd0b8}
#modal.ending-collection-dialog .ending-collection-grid>.locked{position:relative;min-height:225px;justify-content:flex-end}
#modal.ending-collection-dialog .ending-collection-grid>.locked>.collection-lock{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;pointer-events:none}
#modal.ending-collection-dialog .ending-collection-grid>.locked>strong,#modal.ending-collection-dialog .ending-collection-grid>.locked>small{position:relative;z-index:1}

/* A new daughter arrives gently, then speaks before the first schedule. */
.first-meeting-reveal{position:absolute;inset:0;z-index:40;background:#f6eee1;overflow:hidden;animation:first-meeting-curtain 1.7s ease both;pointer-events:auto}
.first-meeting-picture{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;animation:first-meeting-portrait 1.45s cubic-bezier(.2,.7,.3,1) both}
@keyframes first-meeting-portrait{0%{opacity:0;transform:translateY(16px) scale(1.035);filter:blur(7px)}75%,100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes first-meeting-curtain{0%,78%{opacity:1}100%{opacity:0}}
.game-room.first-meeting-active>:not(.first-meeting-reveal):not(.home-conversation):not(.room-shade):not(.character){pointer-events:none}
.game-room.first-meeting-active .home-conversation{animation:first-meeting-dialogue .35s ease both}.first-meeting-conversation .conversation-next{min-height:35px;font-size:12px}
@keyframes first-meeting-dialogue{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.game-room .schedule-main{line-height:1!important}.ornate-button-label{display:block;line-height:1;transform:translateY(-2px);pointer-events:none}
@media(prefers-reduced-motion:reduce){.first-meeting-reveal{animation-duration:.15s}.first-meeting-picture{animation:none}}

/* Story book menu, in the same restrained gold-and-plum system. */
#modal.profile-book-dialog{box-sizing:border-box;width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:24px;overflow:auto;border-radius:16px!important}
#modal.profile-book-dialog .profile-modal-head h1{font-size:26px!important;line-height:1.4;margin:8px 0}
#modal.profile-book-dialog .profile-modal-head p{font:12px/1.7 system-ui!important}
#modal.profile-book-dialog .profile-book-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px;margin:18px 0 17px;border:1px solid #d5bc8744;border-radius:10px;background:#211a3255}
#modal.profile-book-dialog .profile-book-tabs>button{box-sizing:border-box;min-height:38px;margin:0;padding:8px 4px;border:1px solid transparent!important;border-radius:7px!important;box-shadow:none!important;background:transparent!important;font:13px/1.5 system-ui!important}
#modal.profile-book-dialog .profile-book-tabs>button[aria-selected=true]{border-color:#d5bc8780!important;background:#d5bc8726!important;color:#f1dfb8!important}
#modal.profile-book-dialog .profile-actions{gap:10px}
#modal.profile-book-dialog .profile-actions>button{box-sizing:border-box;min-height:57px;padding:12px 14px;border:1px solid #d5bc8755!important;border-radius:9px!important;box-shadow:none!important;background:linear-gradient(110deg,#79608420,#25203555)!important;font:14px/1.5 system-ui;gap:12px}
#modal.profile-book-dialog .profile-actions>button>span{width:29px;height:29px;border:0!important;background:none!important;box-shadow:none!important;border-radius:0}
#modal.profile-book-dialog .profile-actions>button>b{color:#d5bc87;font-size:16px}
#modal.profile-book-dialog>#profileClose{display:flex;align-items:center;justify-content:center;width:100%;height:57px;min-height:57px;margin:21px 0 0;padding:0 42px;border:0!important;border-radius:0;background:transparent url('assets/ui/schedule-frame.svg') center/100% 100% no-repeat!important;box-shadow:none!important;color:#f4e8ca!important;font:400 15px/1.4 Diphylleia,serif;letter-spacing:1px}

/* Align the visible lettering, not just the font's line box. */
.opening-actions>#openingStart,.opening-actions>#openingLoad,#modal #openingLoadBack,#modal #collectionBack,#modal #selectEndingReward,#modal #profileClose{line-height:1!important}
.ornate-button-label{flex:none;align-self:center;line-height:1!important;transform:translateY(-2px);margin:0!important;padding:0!important}
#modal:has(.save-slots) .save-slots>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
#modal:has(.save-slots) .save-slots>button>small,#modal:has(.save-slots) .save-slots>button>strong,#modal:has(.save-slots) .save-slots>button>span{flex:none;max-width:100%;margin:0!important;padding:0;box-sizing:border-box}
#modal.opening-load-dialog .save-slots>button{padding:8px 14px;gap:2px}
#modal.opening-load-dialog .save-slots>button>small{font:9px/1.35 system-ui}
#modal.opening-load-dialog .save-slots>button>strong{font:500 14px/1.4 system-ui;max-width:calc(100% - 18px)}
#modal.opening-load-dialog .save-slots>button>span{font:10px/1.4 system-ui}
#modal .save-slots>button>span:empty{display:none}

/* Keep decoded portrait layers mounted between dialogue lines on mobile Safari. */
.opening-prologue>.prologue-persistent-art{opacity:0;transition:opacity .35s ease;will-change:opacity;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.opening-prologue>.prologue-persistent-art.is-active{opacity:1}
.opening-prologue.prologue-conversation>.prologue-dialogue{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-motion:reduce){.opening-prologue>.prologue-persistent-art{transition:none}}

/* Keep the dialogue content within the opaque center of the cinematic band. */
.game-room .home-conversation{box-sizing:border-box;padding:18px clamp(52px,13vw,96px) 46px!important}
.game-room .home-conversation>p{padding:0!important;max-width:100%}
.game-room .home-conversation>.conversation-next{right:clamp(52px,13vw,96px);bottom:9px;padding:6px 12px;min-height:34px;line-height:1.5;border-radius:9px}
.game-room .home-conversation>.conversation-close{right:clamp(40px,10vw,72px)}
.game-room .home-conversation>.conversation-next:hover,.game-room .home-conversation>.conversation-next:focus-visible{background:#eee9f6!important;color:#30243e!important;border-color:#d6c7e1!important;text-shadow:none!important}

/* A tiny bound calendar, within the existing date panel dimensions. */
.game-room .calendar::before,.game-room .calendar::after{content:''!important;display:block!important;position:absolute;top:1px!important;bottom:auto!important;width:4px!important;height:7px!important;box-sizing:border-box;border:1px solid #ead5a5!important;border-radius:3px!important;background:#bba177!important;box-shadow:0 1px 2px #17102144!important;z-index:1}
.game-room .calendar::before{left:17px!important;right:auto!important}.game-room .calendar::after{left:auto!important;right:17px!important}
.game-room .compact-date{position:relative;transform:translateY(2px)}
.game-room .compact-date::before{content:'';position:absolute;left:-5px;right:-5px;top:-3px;height:1px;background:linear-gradient(90deg,transparent,#d5bc8755 12%,#d5bc8755 88%,transparent);pointer-events:none}

/* Currency icon and amount share a single centered row. */
.game-room .budget>strong{display:flex;align-items:center;justify-content:center;gap:6px;line-height:1.3}
.game-room .budget>strong::before{content:none!important;display:none!important}
.game-room .budget-spark{display:block;flex:none;width:13px;height:13px;fill:#ead6a4;stroke:none}
.game-room .budget-amount{display:inline-flex;align-items:baseline;gap:3px;line-height:1.3;white-space:nowrap}
.game-room .budget-amount>small{display:inline-block;line-height:1.3;margin:0;padding:0}

/* A short fade at the edges keeps the dialogue's center readable. */
.game-room .home-conversation{background:linear-gradient(90deg,transparent 0%,#35243fc9 5%,#1c2036d1 95%,transparent 100%)!important}
.game-room .home-conversation::before,.game-room .home-conversation::after{background:linear-gradient(90deg,transparent 0%,#d2bd83 5%,#ead9ab 50%,#d2bd83 95%,transparent 100%)!important}

/* Three folder tabs share the top edge of one activity sheet. */
.planner-catalog .planner-category-tabs{position:relative;display:flex;align-items:flex-end;gap:0!important;height:40px;flex-shrink:0;margin:0!important;padding:0 1px;border:0;background:none;isolation:isolate}
.planner-catalog .planner-category-tabs>button{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1;min-width:0;height:34px;min-height:34px!important;margin:0 -1px 0 0;padding:0 8px!important;border:1px solid #bca37b70!important;border-bottom:0!important;border-radius:12px 12px 0 0!important;background:#342d46!important;box-shadow:none!important;color:#b9aac6!important;font:13px/1 Diphylleia,serif!important;transition:height .16s,background .16s}
.planner-catalog .planner-category-tabs>button:nth-child(2){background:#3e314b!important}.planner-catalog .planner-category-tabs>button:nth-child(3){background:#302c44!important}
.planner-catalog .planner-category-tabs>button.active{z-index:2;height:40px;min-height:40px!important;background:#4b3b57!important;border-color:#d5bc87a6!important;color:#f3e2c0!important}
.planner-catalog .planner-category-tabs>button.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:3px;background:#4b3b57;pointer-events:none}
.planner-catalog .folder-tab-label{display:block;line-height:1;transform:translateY(-1px);pointer-events:none}
.planner-catalog .planner-activities{position:relative;box-sizing:border-box;margin-top:0;padding:11px 8px 8px;border:1px solid #d5bc8770;border-radius:0 0 11px 11px;background:linear-gradient(180deg,#4b3b57,#30283f 110px);box-shadow:0 6px 13px #17102122}
@media(max-width:700px){.planner-catalog .planner-category-tabs>button{font-size:12px!important}.planner-catalog .planner-activities{padding:9px 6px 6px}}
@media(prefers-reduced-motion:reduce){.planner-catalog .planner-category-tabs>button{transition:none}}

/* Month-end destinations: dark choice cards with light gold details. */
#modal.month-outing-dialog .outing-choices>[data-outing]{background:linear-gradient(135deg,#292137,#1b1a2d)!important;border:1px solid #d5bc8755!important;border-radius:11px!important;box-shadow:0 4px 12px #15101f22!important;color:#f1e2c7!important}
#modal.month-outing-dialog .outing-choices>[data-outing]::before{content:''!important;position:absolute;left:13px;right:auto;top:12px;width:22px;height:1px;background:linear-gradient(90deg,#d5bc87a6,transparent);border:0;box-shadow:none}
#modal.month-outing-dialog .outing-choices>[data-outing]::after{content:''!important;position:absolute;left:auto;right:13px;top:10px;bottom:auto;width:5px;height:5px;z-index:0;transform:rotate(45deg);border:1px solid #d5bc8770;background:none!important;background-image:none!important;mask-image:none;-webkit-mask-image:none;opacity:1}
#modal.month-outing-dialog .outing-choices>[data-outing] strong::after{display:none!important;content:none!important}
#modal.month-outing-dialog .outing-choices>[data-outing]>.icon-wrap{color:#d8bd86!important;filter:none;font-size:24px;margin:0;line-height:1}
#modal.month-outing-dialog .outing-choices>[data-outing] strong{color:#f1e2c7!important}
#modal.month-outing-dialog .outing-choices>[data-outing] small{color:#b9adc7!important;font:11px/1.55 system-ui!important}
#modal.month-outing-dialog .outing-choices>[data-outing]:hover,#modal.month-outing-dialog .outing-choices>[data-outing]:focus-visible{background:linear-gradient(135deg,#372941,#242036)!important;border-color:#e3c58fa6!important;box-shadow:0 5px 14px #15101f33!important}
#modal.month-outing-dialog .outing-choices>[data-outing]:active{box-shadow:inset 0 2px 6px #100c1c55!important}

.destination-school.destination-has-scene{padding:16px!important}
.destination-school.destination-has-scene .destination-options{width:min(430px,100%)!important;align-self:center;margin:0!important}
.destination-school.destination-has-scene .destination-result{box-sizing:border-box;padding:18px 20px 16px!important;border-radius:13px!important}
.destination-school.destination-has-scene .outing-result-label{font:8px/1.5 system-ui;letter-spacing:2px;margin-bottom:9px}
.destination-school.destination-has-scene .destination-result h2{font-size:21px!important;line-height:1.45!important;margin:0 0 9px!important}
.destination-school.destination-has-scene .destination-result p{font-size:13px!important;line-height:1.75!important;margin:0 0 12px!important;word-break:keep-all}
.destination-school.destination-has-scene .destination-result #destinationHome{min-height:40px!important;margin-top:10px!important;padding:9px 12px!important;font-size:12px!important}
.destination-screen>.outing-growth-feedback{position:fixed!important;top:42dvh!important;left:50vw!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:30;display:grid!important;grid-template-columns:minmax(145px,190px)!important;gap:7px!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 60px);margin:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;pointer-events:none;animation:activity-growth-fade .2s ease-out!important}
.destination-screen>.outing-growth-feedback>span{width:100%;white-space:nowrap;margin:0}

/* A bound, layered calendar leaf without enlarging the date panel. */
.game-room .calendar{border-radius:4px 4px 3px 3px!important;background:linear-gradient(180deg,#806680 0 9px,#3d324d 9px,#302b42 100%)!important;border:1px solid #d5bc8799!important;box-shadow:inset 0 0 0 2px #e7d7b51a,0 3px 0 -1px #93819e,0 5px 0 -2px #d8c396,0 7px 9px #20182d26!important}
.game-room .calendar::before,.game-room .calendar::after{top:0!important;height:8px!important;width:4px!important;border-color:#f0deae!important;background:linear-gradient(90deg,#b89d6f,#f3dfae,#b89d6f)!important;box-shadow:0 1px 2px #20182d66!important}
.game-room .compact-date::before{top:-2px;background:#d5bc8766;left:-6px;right:-6px}
.game-room .compact-date::after{content:'';position:absolute;right:-6px;bottom:-4px;width:5px;height:5px;background:#d6be8f99;clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none}

/* Identity and budget share one quiet plum-and-champagne finish. */
.game-room .profile-heading{position:absolute;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);background:linear-gradient(125deg,#3c2d4fe8,#252039e8)!important;box-shadow:inset 0 1px #d5bc8777,inset 0 -1px #d5bc8777,inset 1px 0 #d5bc8744,inset -1px 0 #d5bc8744!important;border:0!important;backdrop-filter:blur(7px)}
.game-room .profile-heading::before{display:none!important}
.game-room .profile-heading h1{align-items:center;gap:8px;margin:0!important}
.game-room .profile-heading .name-menu{color:#f2e3c7!important;text-shadow:0 1px 6px #17102133;line-height:1.3}
.game-room .profile-heading h1>span{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:22px;padding:3px 7px;margin:0;background:#d5bc8715!important;border:1px solid #d5bc8770!important;border-radius:7px;color:#e9d3a6!important;font:10px/1.3 system-ui;white-space:nowrap}
.game-room .budget{background:linear-gradient(125deg,#3b2c4de8,#242038e8)!important;border-color:#d5bc8770!important;box-shadow:inset 0 0 0 2px #d5bc8708,0 3px 10px #17102122!important;backdrop-filter:blur(7px)}
.game-room .budget>span{display:block;color:#dfd0b8!important;letter-spacing:.2px;line-height:1.5}
.game-room .budget>strong{color:#f3e5cb!important}
.game-room .budget::after{content:''!important;display:block!important;position:absolute;left:calc(50% - 14px);right:auto;top:auto;bottom:4px;width:28px;height:1px;background:linear-gradient(90deg,transparent,#d5bc8777,transparent)!important;border:0}

/* Fixed rows keep every destination's icon, title and subtitle level. */
#modal.month-outing-dialog .outing-choices>[data-outing]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:27px 26px 19px!important;align-content:center;align-items:center;justify-items:center;gap:7px!important;padding:15px 8px!important}
#modal.month-outing-dialog .outing-choices>[data-outing]>.icon-wrap,#modal.month-outing-dialog .outing-choices>[data-outing]>.game-icon{grid-row:1;align-self:center;margin:0;height:24px;width:24px;display:grid;place-items:center}
#modal.month-outing-dialog .outing-choices>[data-outing]>.icon-wrap>.game-icon{display:block;width:24px;height:24px}
#modal.month-outing-dialog .outing-choices>[data-outing]>strong{grid-row:2;display:flex;align-items:center;justify-content:center;width:100%;height:26px;margin:0;padding:0;font-size:clamp(12px,3.3vw,16px)!important;line-height:1.4;white-space:nowrap}
#modal.month-outing-dialog .outing-choices>[data-outing]>small{grid-row:3;display:flex;align-items:center;justify-content:center;width:100%;height:19px;margin:0;padding:0;font-size:clamp(9px,2.35vw,11px)!important;line-height:1.4!important;white-space:nowrap}

/* Home controls share consistent left and right rails. */
.game-room{--hud-left:22px;--hud-right:18px}
.game-room .calendar,.game-room .home-stats-icon,.game-room .home-phone{left:var(--hud-left)!important;right:auto}
.game-room .profile-heading,.game-room .budget,.game-room .home-wardrobe,.game-room .home-chat{right:var(--hud-right)!important;left:auto!important}
.game-room .home-chat{top:290px!important;width:43px;height:43px;box-sizing:border-box;padding:9px}
.game-room .home-phone .phone-case{transform:none!important}
.game-room .home-wardrobe>.wardrobe-hanger-icon{display:block;width:25px;height:25px;flex:none;overflow:visible}
@media(max-width:700px) and (orientation:portrait){.game-room .home-chat{top:calc(max(14px,env(safe-area-inset-top)) + 181px)!important;width:40px;height:40px;padding:8px}.game-room .home-wardrobe>.wardrobe-hanger-icon{width:24px;height:24px}.game-room .home-phone{transform:scale(.8)!important;transform-origin:top left}}

/* Mobile cards must never inherit the legacy two-column text placement. */
#modal.month-outing-dialog .outing-choices>[data-outing]>*{grid-column:1/-1!important;min-width:0;max-width:100%;margin-inline:0}
#modal.month-outing-dialog .outing-choices>[data-outing]>strong{padding-inline:0!important;text-align:center}
#modal.month-outing-dialog .outing-choices>[data-outing]>small{padding-inline:0!important;text-align:center;letter-spacing:-.4px}
#modal.month-outing-dialog:has(.club-options)::before,#modal.month-outing-dialog:has(.club-options)::after{content:none!important;display:none!important}
#modal.month-outing-dialog .club-options>button{border:1px solid #bca66c88!important;background:linear-gradient(140deg,#342a45,#201e33)!important;box-shadow:none!important;border-radius:14px!important}
#modal.month-outing-dialog .club-options>button::before,#modal.month-outing-dialog .club-options>button::after,#modal.month-outing-dialog .club-options strong::after{content:none!important;display:none!important}
#modal.month-outing-dialog .club-options strong,#modal.month-outing-dialog .club-options small{grid-column:1/-1!important;padding:0!important}
#modal.story-dialog{position:relative;isolation:isolate;overflow:hidden;padding:0!important;width:min(540px,calc(100vw - 32px));height:min(780px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);display:flex;align-items:flex-end;background:#252036}
#modal.story-dialog:not([open]){display:none}
#modal.story-dialog>.story-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:50% 30%;border:0!important;margin:0!important;z-index:-2}
#modal.story-dialog>.story-copy{width:100%;box-sizing:border-box;max-height:75%;overflow-y:auto;padding:70px 22px 22px!important;background:linear-gradient(transparent,#272036e8 23%,#272036 100%)}
#modal.story-dialog .story-copy h1{font-size:clamp(22px,6vw,32px);line-height:1.4;margin:12px 0}
#modal.story-dialog .story-copy p{font-size:clamp(13px,3.6vw,16px);line-height:1.8;overflow-wrap:anywhere}
#modal.story-dialog .story-copy button{width:100%}
@media(max-height:550px){#modal.story-dialog .story-copy{max-height:90%;padding-top:35px!important}}
.agency-logo{display:block;width:180px;height:54px;max-width:100%;object-fit:contain;margin:8px 0 16px}
.agency-options .agency-logo,.audition-company-list .agency-logo{width:145px;height:43px;grid-column:1/-1}
.agency-footer{display:flex;justify-content:center;padding:24px 0 6px}.agency-footer #leaveAgency{font-size:12px;padding:8px 14px;background:none;border:0;text-decoration:underline;color:#b5a9bf}
#modal.audition-mail-dialog{padding:24px;width:min(440px,calc(100vw - 32px));box-sizing:border-box}
.agency-mail-header{border-bottom:1px solid #c7ad6655;padding-bottom:16px}.agency-mail-header small{display:block;font-size:10px;letter-spacing:1px;color:#c7b9d0}.agency-mail-meta{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;margin:20px 0;font-size:11px}.agency-mail-meta span{color:#b3a5bf}.agency-mail-meta b{font-weight:400;overflow-wrap:anywhere}.agency-mail-signature{display:block;line-height:1.8;margin:24px 0;color:#c9bdcc}.audition-mail-dialog>button{width:100%}
.outing-playback>.destination-options,.outing-playback>.destination-header{display:none!important}.outing-playback-controls{position:absolute;inset:auto 0 0;z-index:5;padding:70px 28px 30px;background:linear-gradient(transparent,#252033ed);box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px}.outing-playback-controls h2{font-size:22px;margin:0}.outing-playback-controls button{font-size:12px;padding:10px 14px;background:#292139cc;color:#f2e4bc;border:1px solid #d5ba7699;border-radius:20px}
.encounter-affinity-track i{transition:width 1s cubic-bezier(.2,.7,.3,1)!important}.character-answers{display:grid;gap:8px}.character-answers button{font-size:13px!important;line-height:1.5;text-align:left;padding:10px 14px!important;background:#292238dd;border:1px solid #cbb77b88;color:#f0dfb5}.character-answers button:hover{background:#ead7a6;color:#292238}#encounterNext[hidden]{display:none!important}
.game-room .home-partner{position:absolute!important;right:var(--hud-right,18px)!important;left:auto!important;top:344px!important;bottom:auto!important;width:43px!important;height:43px!important;min-height:0!important;box-sizing:border-box!important;padding:9px!important;display:flex!important;align-items:center;justify-content:center;border:1px solid #ead3a1!important;border-radius:50%;color:#fff0ca!important;background:linear-gradient(140deg,#4c3b68f5,#29213ff5 60%,#191e34f5)!important;box-shadow:0 3px 11px #251c424d,inset 0 0 0 3px #b4a0d21c!important;z-index:8}
.game-room .home-partner svg{width:24px;height:24px;display:block;flex:none}
@media(max-width:700px) and (orientation:portrait){.game-room .home-partner{top:calc(max(14px,env(safe-area-inset-top)) + 231px)!important;width:40px!important;height:40px!important;padding:8px!important}}
.debut-final-requirements{display:grid;gap:7px;margin:16px 0;padding:14px;border:1px solid #cbb77b66;border-radius:10px;font:12px/1.6 system-ui}.debut-final-requirements>span{display:flex;justify-content:space-between;color:#c1b2ca}.debut-final-requirements .requirement-met{color:#eddaad}.debut-final-requirements p{font-size:11px!important;margin:8px 0 0!important}
#modal.ending-epilogue[data-ending-phase="3"][open]{display:block!important;isolation:isolate;overflow:hidden}
.ending-letter-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;z-index:-1}
#modal.ending-epilogue .ending-letter-cinematic{position:absolute;inset:auto 0 0;width:100%;max-width:none;max-height:74%;overflow-y:auto;overscroll-behavior:contain;padding:70px 25px 24px;border:0;border-radius:0;box-shadow:none;background:linear-gradient(transparent,#282036ed 16%,#241d33 58%);color:#f4e6cb;scrollbar-width:thin;scrollbar-color:#c4ac7855 transparent}
#modal.ending-epilogue .ending-letter-cinematic p{color:#f4e6cb!important;font-size:15px;line-height:1.95;overflow-wrap:anywhere}
#modal.ending-epilogue .ending-letter-cinematic>small{color:#d5ba80!important;font-size:9px;letter-spacing:1.5px}
#modal.ending-epilogue .ending-letter-cinematic .letter-paragraph-0{font-size:19px}
#modal.ending-epilogue .ending-letter-cinematic button{border-radius:12px;background:linear-gradient(110deg,#bfa370,#eddaad)!important;color:#292136!important}
#modal.street-casting-dialog{position:relative;isolation:isolate;overflow:hidden;padding:0!important;height:min(780px,calc(100dvh - 48px));width:min(500px,calc(100vw - 32px));box-sizing:border-box}
.casting-art-scene{position:absolute;inset:0;z-index:-1}.casting-offer-art{width:100%;height:100%;object-fit:cover}.casting-card-logo{position:absolute;left:23%;top:42%;width:52%;height:9%;display:flex;align-items:center;justify-content:center;filter:brightness(.38) sepia(.5)}.casting-card-logo .agency-logo{width:100%;height:100%;margin:0}
.casting-offer-copy{position:absolute;bottom:0;left:0;right:0;max-height:49%;overflow-y:auto;box-sizing:border-box;padding:65px 22px 22px;background:linear-gradient(transparent,#282035ed 20%,#251d33 65%)}.casting-offer-copy h1{font-size:23px!important;line-height:1.4}.casting-offer-copy h2{font-size:18px}.casting-offer-copy p{font-size:12px!important;line-height:1.7!important}.casting-offer-copy button{width:100%;font-size:13px!important;margin-top:8px}
#modal.ending-epilogue[data-ending-phase="2"][open]{display:block!important;isolation:isolate;overflow:hidden}
.ending-envelope-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
#modal.ending-epilogue[data-ending-phase="2"] .ending-envelope-scene{position:absolute;inset:auto 0 0;width:100%;height:auto;box-sizing:border-box;padding:75px 25px 28px;background:linear-gradient(transparent,#282035eb 28%,#241c32);color:#f1e1bb}
#modal.ending-epilogue[data-ending-phase="2"] .ending-envelope-scene button{width:100%;margin-top:20px}
#modal.ending-epilogue .ending-letter-cinematic{inset:auto 14px 16px;width:calc(100% - 28px);max-height:72%;padding:28px 23px 23px;border:1px solid #b59660a6;border-radius:5px;background:radial-gradient(ellipse at 2% 15%,#b28c4a25,transparent 46%),radial-gradient(ellipse at 98% 75%,#9f71312b,transparent 50%),repeating-linear-gradient(9deg,#ead9b900 0 3px,#ad8b4b09 4px 5px),linear-gradient(135deg,#efdfbff5,#e6d1a8f5 70%,#f1e2c6f5);box-shadow:0 4px 18px #17102055,inset 0 0 24px #9a713626}
#modal.ending-epilogue .ending-letter-cinematic p{color:#51412e!important;font-size:14px;line-height:2.05;word-break:keep-all}
#modal.ending-epilogue .ending-letter-cinematic>small{color:#85673b!important}
#modal.ending-epilogue .ending-letter-cinematic button{background:linear-gradient(115deg,#c8ac75,#e7ce9a)!important;border-color:#a1854a!important}
.game-room .home-wardrobe,.game-room .home-chat,.game-room .home-partner{width:43px!important;height:43px!important;min-width:0!important;min-height:0!important;box-sizing:border-box!important}
@media(max-width:700px) and (orientation:portrait){.game-room .home-wardrobe,.game-room .home-chat,.game-room .home-partner{width:40px!important;height:40px!important}}
.casting-offer-copy{max-height:62%;padding-top:45px}.casting-offer-copy:focus{outline:none}.casting-offer-copy h1{font-size:21px!important;margin:7px 0}.casting-offer-copy h2{font-size:16px!important;margin:8px 0}.casting-offer-copy p{margin:7px 0!important;line-height:1.55!important}.casting-offer-copy .help{font-size:10px!important}.casting-offer-copy button{min-height:35px!important;padding:8px 12px!important;line-height:1.4}
.casting-offer-copy.casting-dialogue{max-height:52%;padding:50px 22px 22px;background:linear-gradient(transparent,#282035f5 19%,#241d33 65%)}.casting-speaker{font:12px/1.5 system-ui;color:#dfc58a;letter-spacing:.4px;margin-bottom:12px}.casting-dialogue .casting-spoken-line{font-family:Diphylleia,serif!important;font-size:18px!important;line-height:1.8!important;color:#f6e9ce;margin:12px 0 16px!important}.casting-contract-note{display:block;color:#b9acc5;font:10px/1.65 system-ui;margin-bottom:12px}.casting-dialogue button{font:13px/1.5 system-ui;min-height:38px!important}
#modal.ending-epilogue[data-ending-phase="5"][open]{display:block!important}
#modal.ending-epilogue[data-ending-phase="5"]>.epilogue-art{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
#modal.ending-epilogue[data-ending-phase="5"]>.epilogue-copy{position:absolute;inset:auto 0 0;width:100%;max-width:none;padding:100px 25px 28px;background:linear-gradient(transparent,#271e39e8 28%,#211a32fc 70%)}
.club-performance-progress{font-size:10px!important;color:#d9be83!important;line-height:1.5}
#modal.ending-epilogue .ending-letter-cinematic:focus{outline:none}
@media(prefers-reduced-motion:reduce){.encounter-affinity-track i{transition:none!important}}
#modal.story-dialog>.story-copy{border:0!important;box-shadow:none!important}
.destination-screen.destination-has-scene.outing-playback .destination-options,.destination-screen.destination-has-scene.outing-playback>header{display:none!important}
.debut-career-picker{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.debut-career-picker>small{flex-basis:100%;color:#cbbcce;font-size:11px}.debut-career-picker>button{font-size:12px;padding:8px 12px;border:1px solid #bca66c88;background:#292136;color:#e6d6b2;border-radius:18px}.debut-career-picker>button[aria-pressed=true]{background:#dfc998;color:#2b2239}
.content-window:has(.agency-a-page){width:min(420px,calc(100vw - 32px))!important;max-height:calc(100dvh - 40px)!important;height:auto!important;border-radius:22px!important;overflow:hidden!important}
.content-window:has(.agency-a-page)>.window-top{padding:12px 18px!important;min-height:0!important;font-size:9px!important}
#content:has(.agency-a-page){padding:0!important;overflow:auto;max-height:calc(100dvh - 95px)}
.agency-a-page{padding:0!important}.agency-a-card{position:relative;isolation:isolate;min-height:460px;height:min(570px,calc(100dvh - 115px));overflow:hidden;background:#252036}
.agency-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.agency-a-copy{position:absolute;inset:auto 0 0;padding:75px 23px 20px;box-sizing:border-box;background:linear-gradient(transparent,#262034e8 25%,#211b30 70%)}
.agency-a-copy>small{font:10px/1.5 system-ui;letter-spacing:1px;color:#d6bc83}.agency-a-copy>h2{font-size:25px!important;line-height:1.4;margin:8px 0 15px!important}.agency-a-copy #try{width:100%;font-size:14px!important;min-height:42px!important;margin-top:16px}
.agency-a-copy #leaveAgency{display:block;margin:12px auto 0;background:none!important;border:0!important;text-decoration:underline;color:#bfb2ca;font:11px system-ui;padding:8px}
.agency-mini-options{display:flex!important;gap:6px!important;margin:0!important;padding:10px 12px;background:#282137}.agency-mini-options>button{flex:1;min-width:0;padding:7px 3px!important;font-size:10px!important;border-radius:15px!important}
#modal.agency-feedback-dialog{position:relative;isolation:isolate;width:min(410px,calc(100vw - 32px));height:min(580px,calc(100dvh - 48px));padding:0!important;box-sizing:border-box;overflow:hidden;border-radius:22px}
.agency-feedback-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.agency-feedback-copy{position:absolute;inset:auto 0 0;max-height:75%;overflow:auto;padding:65px 23px 22px;box-sizing:border-box;background:linear-gradient(transparent,#282035f2 20%,#241c32 70%)}.agency-feedback-copy small{font:10px system-ui;color:#d8bf86}.agency-feedback-copy h2{font-size:22px!important;margin:10px 0}.agency-feedback-copy p{font-size:13px!important;line-height:1.85!important;color:#eee1c6}.agency-feedback-copy button{width:100%;margin-top:15px;font-size:14px}
@media(max-height:550px){.agency-a-card{min-height:330px}.agency-a-copy{padding-top:35px}.agency-a-copy h2{font-size:21px!important}}
.content-overlay.is-open:has(.agency-a-page){display:flex!important;align-items:center!important;justify-content:center!important}
.content-window:has(.agency-a-page){display:block!important;flex:none!important;align-self:center!important;height:fit-content!important;min-height:0!important}
.agency-a-card{height:min(530px,calc(100dvh - 140px));min-height:390px}
@media(max-height:550px){.agency-a-card{min-height:300px;height:calc(100dvh - 115px)}}
.agency-a-card[data-agency-theme=cr] .agency-a-copy{background:linear-gradient(transparent,#2d1722eb 25%,#21121d 70%)}
.agency-a-card[data-agency-theme=pulse] .agency-a-copy{background:linear-gradient(transparent,#122c30eb 25%,#0d2026 70%)}
#modal.agency-feedback-dialog[data-agency-theme=cr] .agency-feedback-copy{background:linear-gradient(transparent,#2d1722f2 20%,#21121d 70%)}
#modal.agency-feedback-dialog[data-agency-theme=pulse] .agency-feedback-copy{background:linear-gradient(transparent,#122c30f2 20%,#0d2026 70%)}
#modal.end-archive-dialog[open]{display:flex!important;flex-direction:column;overflow:hidden!important;max-height:90dvh;padding:0!important}
.end-archive-header{display:flex;align-items:center;gap:13px;flex:none;padding:20px 21px 17px;background:linear-gradient(130deg,#3b2b4f,#282239);border-bottom:1px solid #d5bc8733;z-index:2}
.end-archive-header small{font:8px system-ui;letter-spacing:2px;color:#d5bc87}.end-archive-header h1{font-size:24px!important;margin:6px 0 0!important;line-height:1.4}
.end-archive-header #endArchiveClose{width:42px;height:42px;min-width:42px;padding:10px;margin:0;border:1px solid #d5bc8766;border-radius:50%;background:#211a3266;color:#f2dfb1;display:flex;align-items:center;justify-content:center}
.end-archive-header #endArchiveClose svg{display:block;width:22px;height:22px}.end-archive-header #endArchiveClose:hover{background:#e6d1a4;color:#282136}
#modal.end-archive-dialog>.end-memory-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:15px 21px 21px;scrollbar-width:thin;scrollbar-color:#c9ae7c66 transparent}
#modal.memory-detail-dialog{position:relative;isolation:isolate;width:min(500px,calc(100vw - 32px));height:min(780px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0!important;overflow:hidden!important;background:#251d34;border-radius:22px;box-sizing:border-box}
#modal.memory-detail-dialog .memory-detail{position:relative;width:100%;height:100%;padding:0!important;text-align:left}
#modal.memory-detail-dialog .memory-event-art{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:50% 25%;border:0;border-radius:0;z-index:-1}
#modal.memory-detail-dialog .memory-detail-copy{position:absolute;inset:auto 0 0;box-sizing:border-box;width:100%;max-height:70%;overflow-y:auto;overscroll-behavior:contain;padding:85px 24px 24px;background:linear-gradient(transparent,#292036ec 23%,#241c33fc 64%);text-align:left}
#modal.memory-detail-dialog .memory-detail-copy>small{font:10px/1.5 system-ui;letter-spacing:1px;color:#d9c18d}
#modal.memory-detail-dialog .memory-detail-copy>h1{font-size:clamp(23px,6vw,30px)!important;line-height:1.5!important;margin:12px 0 16px!important;word-break:keep-all;overflow-wrap:anywhere;text-align:left}
#modal.memory-detail-dialog .memory-detail-copy>p{font-size:14px!important;line-height:1.9!important;color:#e0d5e6!important;margin:12px 0 18px;word-break:keep-all;overflow-wrap:anywhere;text-align:left}
#modal.memory-detail-dialog #memoryBack{display:block;width:100%;min-height:42px;margin-top:18px;font-size:13px!important}
#modal.memory-detail-dialog .memory-snapshot{background:#20182e99;border:1px solid #ccb47c44;border-radius:10px;padding:12px;margin-top:15px}
#modal.memory-detail-dialog .memory-detail-copy:focus{outline:none}
@media(max-height:550px){#modal.memory-detail-dialog .memory-detail-copy{max-height:85%;padding-top:45px}}
#modal.partner-dialog{position:relative;isolation:isolate;overflow:hidden!important;padding:0!important;height:min(740px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);border-radius:22px}
#modal.partner-dialog>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center top;border-radius:0;margin:0;z-index:-1}
.partner-copy{position:absolute;inset:auto 0 0;box-sizing:border-box;width:100%;max-height:70%;overflow:auto;padding:75px 23px 22px;background:linear-gradient(transparent,#282035ef 22%,#241b32 65%)}.partner-copy>small{font:9px system-ui;letter-spacing:2px;color:#d7bf89}.partner-copy h1{font-size:25px!important;margin:10px 0}.partner-copy p{font-size:12px!important;line-height:1.8!important;color:#d5c7de}.partner-copy>button{display:block;width:100%;margin-top:9px;font-size:13px!important}.partner-copy #partnerBreakup{background:none;border:0;font-size:11px!important;text-decoration:underline;color:#bbadca}
#modal.expulsion-dialog{position:relative;isolation:isolate;overflow:hidden;padding:0!important;width:min(410px,calc(100vw - 32px));height:min(580px,calc(100dvh - 48px));border-radius:22px;box-sizing:border-box}
.expulsion-agency-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.expulsion-copy{position:absolute;inset:auto 0 0;width:100%;max-height:72%;overflow:auto;box-sizing:border-box;padding:65px 23px 22px;background:linear-gradient(transparent,#282035ef 20%,#241c32 65%)}.expulsion-copy h1{font-size:23px!important;line-height:1.5}.expulsion-copy p{font-size:13px!important;line-height:1.8!important}.expulsion-copy button{width:100%;font-size:13px!important}

/* Media-first outings: the scene fills an A-design card; results appear only after playback. */
.destination-screen.destination-has-scene.outing-playback{position:fixed!important;inset:0!important;padding:0!important;background:#19172be8!important;overflow:hidden!important;backdrop-filter:blur(8px)}
.destination-screen.outing-playback .destination-art{position:absolute!important;inset:20px auto 20px 50%!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 32px))!important;height:calc(100% - 40px)!important;max-width:none!important;margin:0!important;border:1px solid #c7ad6680!important;border-radius:24px!important;box-sizing:border-box!important;overflow:hidden!important;opacity:1!important;mask-image:none!important;background-size:cover!important;background-position:center top!important}
.destination-screen.outing-playback .destination-art:after{display:none!important}
.destination-screen.outing-playback .destination-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;opacity:1!important;border-radius:0!important}
.destination-screen.outing-playback .outing-playback-controls{inset:auto auto 20px 50%!important;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));border-radius:0 0 24px 24px;padding:90px 24px 26px;background:linear-gradient(transparent,#292139dc 48%,#211c33fa);flex-wrap:wrap}
.destination-screen.outing-playback .outing-playback-controls h2{font-size:clamp(19px,4.5vw,26px);line-height:1.5;color:#f4e6c3;word-break:keep-all}
.destination-screen.outing-playback .outing-playback-controls button{flex-shrink:0;min-height:40px;cursor:pointer}

.agency-a-copy #agencyReturnHome{display:block;width:100%;min-height:42px;margin-top:10px;border:1px solid #dec78e99;border-radius:12px;background:#f0dfb5;color:#292139;font-size:14px;cursor:pointer}
.agency-evaluation-note{font:12px/1.6 system-ui;color:#ead9b7;margin:10px 0 0;word-break:keep-all}
.agency-a-copy #leaveAgency{font-size:10px!important;margin-top:10px!important;color:#b8a8ba!important}
.agency-a-copy{max-height:100%;overflow-y:auto}

/* Graduation uses a single full-bleed A-design illustration and bottom captions. */
#modal.graduation-dialog{inset:0!important;margin:auto!important;width:min(480px,calc(100vw - 32px))!important;max-width:480px!important;height:min(760px,calc(100dvh - 40px))!important;max-height:calc(100dvh - 40px)!important;border:1px solid #d5bc8780!important;border-radius:24px!important;background:#211c33!important}
#modal.graduation-dialog[open]{display:block!important}
#modal.graduation-dialog .graduation-backdrop{display:none}
#modal.graduation-dialog .graduation-photo{position:absolute;inset:0;padding:0;display:block;animation:none}
#modal.graduation-dialog .graduation-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
#modal.graduation-dialog .graduation-story{position:absolute;inset:auto 0 0;width:100%;max-height:75%;overflow-y:auto;padding:90px 25px 25px;text-align:left;background:linear-gradient(transparent,#292139e8 25%,#211c33fc 80%)}
#modal.graduation-dialog .graduation-answer{padding:0;background:none;border:0}
#modal.graduation-dialog .graduation-question{padding:0}
#modal.graduation-dialog .graduation-label{margin:0 0 12px}

/* Compact choice lists retain the art as a right-hand thumbnail. */
#modal.month-outing-dialog:has(.club-options){width:min(480px,calc(100vw - 28px))!important;padding:20px!important;max-height:calc(100dvh - 28px)!important}
#modal .club-options{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:12px 0!important}
#modal .club-options>button{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-height:100px!important;padding:12px 100px 12px 13px!important;gap:5px!important;border:1px solid #cbb77b70!important;border-radius:14px!important;background:#292139!important;overflow:hidden!important;text-align:left!important}
#modal .club-options>button:before,#modal .club-options>button:after{display:none!important}
#modal .club-options .club-scene-preview{position:absolute!important;right:8px!important;top:8px!important;left:auto!important;width:78px!important;height:calc(100% - 16px)!important;object-fit:cover!important;border-radius:9px!important;margin:0!important}
#modal .club-options strong{font-size:19px!important;margin:0!important}
#modal .club-options small,#modal .club-options span{font:11px/1.45 system-ui!important;margin:0!important;white-space:normal!important;word-break:keep-all}
.agency-overview .agency-mini-options{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px!important;margin:0!important}
.agency-overview .agency-mini-options>button{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:65px!important;padding:8px 16px!important;border-radius:12px!important}
.agency-overview .agency-mini-options .agency-logo{width:100px!important;height:35px!important;margin:0!important}
.agency-overview .agency-mini-options strong{font-size:15px!important}
.agency-overview .agency-a-card{height:265px!important;min-height:265px!important}
.agency-overview .agency-a-copy{padding:18px!important;background:#211c33d9!important}
.agency-overview .agency-a-copy h2{font-size:21px!important;margin:3px 0 8px!important}
.agency-overview .agency-a-copy #try{margin-top:8px!important}
.scene-growth-results{display:grid;gap:10px;margin:15px 0 20px}.scene-growth-results>div{position:relative;display:flex;justify-content:space-between;gap:10px;padding:8px 0 12px;font:14px system-ui;color:#f1e1be;overflow:hidden}.scene-growth-results i{position:absolute;bottom:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#b4a1d0,#f1d89c);transform-origin:left;animation:scene-growth-fill .9s ease-out both}@keyframes scene-growth-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.scene-growth-results i{animation:none}}

.activity-scene-dialog .story-copy p{white-space:pre-line}
#modal .audition-company-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:12px 0!important}
#modal .audition-company-list>button{position:relative;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center;gap:5px!important;min-height:105px!important;padding:12px 115px 12px 14px!important;text-align:left!important;border-radius:14px!important}
#modal .audition-company-list>button:before,#modal .audition-company-list>button:after{display:none!important}
#modal .audition-company-list strong{font-size:19px!important;margin:0!important}
#modal .audition-company-list small,#modal .audition-company-list span{font:11px/1.5 system-ui!important;white-space:normal!important;margin:0!important}
#modal .audition-company-list .agency-logo{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:90px!important;height:50px!important;margin:0!important}
