*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#100d15;color:#fbf4ee;font-family:'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button{font:inherit;color:inherit}#game{width:min(100vw,177.7778dvh);height:auto;aspect-ratio:16/9;max-width:1920px;margin:auto;position:relative;overflow:hidden;isolation:isolate;background:#18121d}#background-layer{position:absolute;inset:0;z-index:1;background-position:center;background-size:cover;filter:brightness(.76) saturate(.78)}.world-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#100c1b88,transparent 26%,transparent 49%,#130e1cc9),linear-gradient(90deg,#110d1966,transparent 42%,transparent 70%,#110c1966)}#live2d-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;z-index:5}
#intro-screen{position:absolute;inset:0;z-index:1000;overflow:hidden;display:grid;place-items:center;background:#100d16;transition:opacity .9s,visibility .9s}#intro-screen.is-leaving{opacity:0;visibility:hidden;pointer-events:none}#intro-screen:before{content:"";position:absolute;inset:-7%;z-index:0;background:linear-gradient(#100d1666,#100d164d),var(--intro-frame) center/cover no-repeat;filter:blur(24px) brightness(.52);transform:scale(1.04)}#intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#100d16}.intro-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#100d164c,transparent 27%,transparent 66%,#08070d8f)}.intro-brand{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.2vh,22px);width:min(92%,900px);text-align:center;color:#fff5ef;opacity:0;transform:translate(-50%,-44%);animation:intro-title-reveal 1.2s .55s forwards;pointer-events:none;text-shadow:0 2px 24px #09070dbb}.intro-brand span{color:#f1ccd7;font:clamp(9px,1vw,13px) Georgia,serif;letter-spacing:.48em}.intro-brand strong{font:400 clamp(25px,5.2vw,68px) 'AppleMyungjo','Batang',serif;letter-spacing:.16em}.intro-brand i{font:normal clamp(11px,1.2vw,15px) 'AppleMyungjo','Batang',serif;letter-spacing:.18em}@keyframes intro-title-reveal{to{opacity:1;transform:translate(-50%,-50%)}}.intro-controls{position:absolute;top:clamp(16px,4vh,40px);right:clamp(16px,4vw,48px);display:flex;gap:clamp(12px,2vw,26px)}.intro-controls button{border:0;background:#15111a8c;color:#fff4ee;padding:10px 13px;font-size:12px;cursor:pointer}#intro-skip{border:1px solid #f5e9e477;padding:10px 16px}#intro-start{position:absolute;top:63%;left:50%;transform:translateX(-50%);padding:14px 24px;background:#261d30d9;color:#fff5ef;border:1px solid #f1d7df}#intro-start:not([hidden]){display:block}.intro-progress{position:absolute;bottom:0;left:0;right:0;height:3px}.intro-progress span{display:block;width:0;height:100%;background:#e4adbf}
.topbar{position:absolute;z-index:20;top:4%;left:4%;right:4%;display:flex;align-items:center;gap:3vw;pointer-events:none}.brand{display:flex;flex-direction:column;gap:5px}.brand span,.eyebrow{font:10px Georgia,serif;letter-spacing:.3em;color:#eac5cf}.brand strong{font:400 clamp(17px,1.8vw,25px) 'AppleMyungjo','Batang',serif}.day-chip{padding:9px 16px;border-inline:1px solid #ecd8df52}.day-chip span{font:9px Georgia,serif;color:#dfbdca;letter-spacing:.12em}.day-chip strong{display:block;margin-top:4px;font:13px Georgia,serif}.day-chip small{color:#c8bac7}.stats{margin-left:auto;display:flex;border:1px solid #fff2e637;background:#1b1626b5;backdrop-filter:blur(12px)}.stat{min-width:75px;padding:9px 12px;display:grid;grid-template-columns:1fr auto;gap:5px 9px;border-right:1px solid #fff2e626}.stat:last-child{border:0}.stat>span{font-size:10px;color:#c8bac7}.stat>strong{font-size:12px;font-weight:500}.stat-extra{grid-column:1/-1;color:#e6bdcc;font-size:8px;white-space:nowrap}.meter{grid-column:1/-1;height:2px;background:#fff2e62c}.meter i{display:block;width:50%;height:100%;background:#ddacbd}.stat:nth-child(2) .meter i{background:#b3cfbd}.scene-caption{position:absolute;z-index:15;left:4%;top:16%;font-size:11px;color:#f5eae1}.caption-separator{margin:0 8px;color:#dcb9c7}.icon-button{position:absolute;top:14%;right:4%;z-index:22;border:1px solid #fff2e640;background:#201927a6;padding:8px 12px;font-size:11px}
.action-panel{position:absolute;z-index:18;top:21%;right:4%;bottom:23%;width:min(29%,370px);min-width:265px;padding:clamp(15px,2vw,25px);display:flex;flex-direction:column;gap:8px;background:linear-gradient(145deg,#211b2bdd,#1b1723d9);border:1px solid #f4e2e32c;backdrop-filter:blur(15px)}.panel-heading{display:flex;align-items:end;justify-content:space-between;padding-bottom:7px}.panel-heading h2{font:400 clamp(18px,1.8vw,25px) 'AppleMyungjo','Batang',serif;margin:7px 0}.panel-heading .eyebrow{font-size:9px}.action-count{font-size:11px;color:#cbbccc}.action-count b{font:24px Georgia,serif;color:#f2d6df}.action-card{min-height:58px;display:flex;align-items:center;gap:11px;padding:8px;border:1px solid #fff2e61b;background:#fff1e906;text-align:left;cursor:pointer}.action-card:hover:not(:disabled){background:#eec8d51a;border-color:#eac5cf72}.action-card:disabled{opacity:.4}.action-symbol{width:31px;height:31px;display:grid;place-items:center;border:1px solid #ead0d63b;border-radius:50%;color:#eec7d3;font:17px Georgia,serif}.action-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.action-card b{font-size:12px;font-weight:500}.action-card small{font-size:9px;color:#c6b8c5;line-height:1.4}.action-arrow{margin-left:auto;color:#d8b5c5}.panel-footer{margin-top:auto;padding-top:10px;border-top:1px solid #fff2e626;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-footer>span{max-width:60%;font-size:8px;color:#bfb1be}.panel-footer button{border:0;background:none;color:#efd5dd;font-size:10px;cursor:pointer}
.dialogue-box{position:absolute;z-index:19;left:4%;bottom:8%;width:61%;min-height:clamp(140px,22vh,185px);padding:20px 27px 14px;border:1px solid #f1dce363;border-top:2px solid #e9c0cf;border-radius:3px 18px 3px 3px;background:linear-gradient(115deg,#201b2c80,#2d223480);backdrop-filter:blur(4px);cursor:pointer}.speaker-row{display:flex;align-items:center;gap:14px}.speaker-name{min-width:75px;padding:6px 16px;margin-top:-36px;background:#e9c8d6;color:#372638;text-align:center;font-size:12px}.speaker-context{font:10px Georgia,serif;color:#c8acbf}.dialogue-box p{min-height:46px;margin:10px 0 4px;font-size:clamp(14px,1.3vw,18px);line-height:1.75;word-break:keep-all}.dialogue-hint{display:flex;justify-content:space-between;gap:12px;margin-top:auto;color:#bbaeba;font-size:9px}.dialogue-hint b{color:#e8c7d5;font:9px Georgia,serif;letter-spacing:.13em}.utility-bar{position:absolute;z-index:22;right:4%;bottom:3%;display:flex;gap:16px}.utility-bar button{border:0;background:none;color:#d2c2d0;font-size:10px;cursor:pointer}.mobile-action-trigger{display:none}
.game-dialog{width:min(620px,92vw);max-height:82vh;padding:0;border:1px solid #dbc0cc88;color:#fbf4ee;background:#211b2af5}.game-dialog::backdrop{background:#0b0912b8;backdrop-filter:blur(8px)}.dialog-shell{position:relative;padding:clamp(24px,5vw,45px)}.dialog-shell h2{font:400 clamp(23px,3vw,34px) 'AppleMyungjo','Batang',serif}.dialog-shell>p{color:#d1c4d0;font-size:14px;line-height:1.8;white-space:pre-line}.dialog-close{position:absolute;right:18px;top:18px;border:1px solid #f3e6e23a;background:none;padding:5px 10px;font-size:18px}.choice-options{display:flex;flex-direction:column;gap:9px;margin-top:22px}.choice-option{display:flex;gap:14px;padding:14px;text-align:left;border:1px solid #fff2e623;background:#fff1e607;cursor:pointer}.choice-option:hover{background:#eabed21b}.choice-option>span:first-child{color:#e8bdcf}.choice-option b,.choice-option small{display:block}.choice-option b{font-size:13px;font-weight:500}.choice-option small{margin-top:4px;color:#bcaebd;font-size:10px}.journal-list{max-height:55vh;overflow:auto}.journal-entry{padding:13px 0;border-top:1px solid #fff2e626}.journal-entry time{color:#e6b8cc;font:10px Georgia,serif}.journal-entry p{font-size:12px;line-height:1.8;white-space:pre-line}.status-content{display:grid;grid-template-columns:1fr 1fr;gap:9px}.status-card{padding:13px;border:1px solid #fff2e626}.status-card span,.status-card b{display:block}.status-card span{color:#c8bac7;font-size:10px}.status-card b{margin-top:7px;font:18px Georgia,serif}.ending-screen{position:absolute;inset:0;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8%;text-align:center;background:radial-gradient(ellipse,#332438ee,#100d16f7 70%)}.ending-screen[hidden]{display:none}.ending-screen>.eyebrow{font-size:11px}.ending-sigil{color:#efc7d4;font-size:28px}.ending-screen h1{margin:5px;font:400 clamp(31px,5vw,58px) 'AppleMyungjo','Batang',serif}.ending-screen>p{max-width:610px;color:#d4c6d1;font:clamp(14px,1.5vw,17px)/2 'AppleMyungjo','Batang',serif;white-space:pre-line}.ending-screen #ending-summary{margin:16px;color:#bdacbb;font-size:11px}.ending-screen>button{border:1px solid #e9c7d6;background:#e9c7d6;color:#2c202d;padding:13px 24px;cursor:pointer}#toast{position:absolute;z-index:80;top:20%;left:50%;transform:translate(-50%,-10px);padding:10px 16px;background:#211b2af0;border:1px solid #fff2e63c;font-size:12px;opacity:0;pointer-events:none;transition:.25s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-aspect-ratio:1/1){#game{width:100vw;height:100dvh;aspect-ratio:auto}.world-vignette{background:linear-gradient(180deg,#100c1b8c,transparent 24%,transparent 50%,#130e1cc7 76%,#130e1c)}.topbar{top:max(18px,env(safe-area-inset-top));left:5%;right:5%;display:grid;grid-template-columns:1fr auto;gap:8px 12px}.brand span{font-size:8px}.brand strong{font-size:17px}.day-chip{padding:6px 9px}.stats{grid-column:1/-1;margin:0;display:grid;grid-template-columns:repeat(4,1fr)}.stat{min-width:0;padding:7px 7px;gap:3px}.stat>span{font-size:9px}.stat>strong{font-size:10px}.stat-extra{font-size:7px}.scene-caption{top:18%;left:5%;font-size:9px}.journal-open{top:18%;right:5%;padding:6px 8px;font-size:9px}.action-panel{display:none;top:auto;left:4%;right:4%;bottom:calc(27% + env(safe-area-inset-bottom));width:auto;min-width:0;padding:11px;gap:5px;max-height:47vh;overflow:auto}.action-panel.is-open{display:flex}.panel-heading{padding:4px}.panel-heading h2{font-size:18px}.action-card{min-height:45px;padding:6px 8px;gap:8px}.action-symbol{width:27px;height:27px}.action-card b{font-size:11px}.action-card small{font-size:9px}.panel-footer{padding-top:7px}.dialogue-box{left:4%;bottom:calc(5.5% + env(safe-area-inset-bottom));width:92%;min-height:132px;padding:16px 16px 11px}.speaker-name{min-width:66px;margin-top:-30px;font-size:11px}.dialogue-box p{min-height:42px;font-size:14px;line-height:1.6}.dialogue-hint,.dialogue-hint b{font-size:8px}.utility-bar{left:5%;right:5%;bottom:max(8px,env(safe-area-inset-bottom));justify-content:flex-end;gap:13px}.utility-bar button{font-size:9px}.mobile-action-trigger{display:block;position:absolute;z-index:24;right:5%;bottom:calc(25% + env(safe-area-inset-bottom));padding:9px 12px;border:1px solid #efd8e278;background:#241d2be8;font-size:10px}.mobile-action-trigger[aria-expanded=true]{background:#76546ce8}#toast{top:23%;width:max-content;max-width:90%;text-align:center}#intro-video{object-fit:contain;background:transparent}#intro-screen:before{filter:blur(28px) brightness(.5)}.intro-vignette{background:linear-gradient(180deg,#100d1659,transparent 20%,transparent 82%,#100d167a)}.intro-brand{top:21%;gap:11px}.intro-brand strong{font-size:clamp(20px,6vw,30px);letter-spacing:.08em}.intro-brand span{font-size:9px;letter-spacing:.32em}.intro-brand i{font-size:11px;letter-spacing:.08em}.intro-controls{top:auto;right:5%;bottom:5%;gap:8px}.intro-controls button{padding:9px 11px;font-size:11px}}
@media(min-aspect-ratio:1/1) and (max-height:650px){.action-panel{top:19%;bottom:25%;padding:12px;gap:5px}.action-card{min-height:44px}.dialogue-box{bottom:8%;min-height:108px;padding:16px 20px 11px}.dialogue-box p{min-height:34px;font-size:14px;line-height:1.5}.scene-caption{top:15%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.reset-run{margin-top:22px;border:1px solid #b99baa77;background:transparent;color:#dbc8d3;padding:10px 14px;font-size:11px;cursor:pointer}.reset-run:hover{background:#ffffff0c}

.quest-card{position:absolute;z-index:16;left:4%;top:21%;width:min(250px,24%);padding:13px 15px;background:linear-gradient(140deg,#211b2de0,#191522d9);border:1px solid #f4e2e33b;backdrop-filter:blur(12px);box-shadow:0 12px 36px #09070c26}.quest-top,.quest-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.quest-top .eyebrow{font-size:8px;letter-spacing:.18em}.quest-reward{color:#e7c0ce;font:10px Georgia,serif}.quest-card>strong{display:block;margin:9px 0 7px;font:400 16px 'AppleMyungjo','Batang',serif}.quest-bottom{font-size:9px;color:#c7b9c7}.quest-bottom span:last-child{white-space:nowrap;color:#e8ccd5}.quest-meter{height:3px;margin-top:10px;background:#ffffff20}.quest-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#d89cb2,#f4d7df);transition:width .3s}.skill-dialog{width:min(520px,92vw)}.skill-shell .eyebrow{font-size:9px}.skill-shell h2{margin:12px 0}.skill-track{position:relative;height:34px;margin:30px 0 12px;overflow:hidden;border:1px solid #f6e9e638;background:#110e18;border-radius:4px}.skill-target{position:absolute;left:43%;top:0;bottom:0;width:14%;background:linear-gradient(90deg,#9bbfa466,#cce9cfbb,#9bbfa466);box-shadow:0 0 18px #a9d3b75c}.skill-marker{position:absolute;left:0;top:0;bottom:0;width:9px;background:#f6d9e3;box-shadow:0 0 12px #f2c5d3;animation:timingSweep 1.25s ease-in-out infinite alternate}.skill-labels{display:flex;justify-content:space-between;gap:10px;color:#c7b9c7;font-size:10px}.skill-labels span:last-child{color:#efd3dc}.skill-hit{width:100%;margin-top:23px;padding:14px;border:1px solid #efd0db;background:#e8c1cf;color:#302432;font-weight:600;cursor:pointer}.skill-hit:hover{background:#f4d8e0}@keyframes timingSweep{from{left:0}to{left:calc(100% - 9px)}}
@media(max-aspect-ratio:1/1){.quest-card{top:22%;left:auto;right:5%;width:min(190px,45%);padding:9px 10px}.quest-card>strong{margin:6px 0 4px;font-size:14px}.quest-top .eyebrow{font-size:7px}.quest-reward,.quest-bottom{font-size:8px}.quest-meter{margin-top:7px}.skill-dialog{max-width:94vw;max-height:88dvh}.skill-shell{padding:23px 19px}.skill-shell h2{font-size:24px}.skill-shell>p{font-size:12px;line-height:1.65}.skill-track{height:31px;margin:23px 0 10px}.skill-hit{padding:13px;margin-top:20px}}
.gacha-dialog{width:min(570px,94vw);max-height:88vh;overflow:auto}.gacha-shell{text-align:center}.gacha-shell h2{margin:11px 0 20px}.gacha-shell video{display:block;width:min(100%,430px);max-height:42vh;aspect-ratio:16/9;object-fit:contain;margin:0 auto;background:#100d16;border:1px solid #ffffff26}.gacha-skip{margin-top:14px;padding:9px 14px;border:1px solid #ffffff38;background:#ffffff0b;color:#eee0e7;font-size:11px;cursor:pointer}.gacha-results[hidden]{display:none!important}#gacha-results>p{margin:16px 0;color:#ead6df}.gacha-result-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;max-height:32vh;overflow:auto}.gacha-result-card{display:flex;align-items:center;gap:12px;padding:12px;text-align:left;border:1px solid #ffffff24;background:#ffffff08}.gacha-result-card b,.gacha-result-card small{display:block}.gacha-result-card b{font-size:12px;font-weight:600}.gacha-result-card small{margin-top:4px;color:#c5b4c1;font-size:9px}.gacha-emblem{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:19px}.rarity-r .gacha-emblem{color:#cbd3df;background:#8390a522}.rarity-sr .gacha-emblem{color:#d3a8ee;background:#9d60bb33}.rarity-ssr{border-color:#e6c67e77;background:linear-gradient(110deg,#d8ac5020,#ffffff08)}.rarity-ssr .gacha-emblem{color:#f4d478;background:#f4d47822}.gacha-shell #gacha-collect{margin-top:15px}
@media(max-aspect-ratio:1/1){.gacha-dialog{max-height:90dvh}.gacha-shell{padding:21px 16px}.gacha-shell h2{font-size:23px;margin:9px 0 14px}.gacha-shell video{max-height:32vh}.gacha-result-list{grid-template-columns:1fr;max-height:35vh}.gacha-result-card{padding:9px}}
.wardrobe-dialog{width:min(560px,94vw)}.wardrobe-shell h2{margin:12px 0}.wardrobe-shell>p{margin-bottom:18px}.wardrobe-toggles{display:flex;flex-direction:column;gap:8px}.wardrobe-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #ffffff26;background:#ffffff08;cursor:pointer}.wardrobe-toggle.is-locked{opacity:.56;cursor:not-allowed}.wardrobe-toggle b,.wardrobe-toggle small{display:block}.wardrobe-toggle b{font-size:12px;font-weight:500}.wardrobe-toggle small{margin-top:5px;color:#c5b4c1;font-size:10px}.wardrobe-toggle input{appearance:none;flex:0 0 42px;width:42px;height:24px;border:1px solid #ffffff45;border-radius:20px;background:#382e3b;cursor:pointer;position:relative;transition:.2s}.wardrobe-toggle input:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#bcaeba;transition:.2s}.wardrobe-toggle input:checked{background:#b87691;border-color:#e2adbf}.wardrobe-toggle input:checked:before{left:21px;background:#fff2f6}.wardrobe-toggle input:disabled{cursor:not-allowed}.wardrobe-actions{display:flex;gap:9px;margin-top:15px}.wardrobe-actions button{flex:1;padding:11px 8px;border:1px solid #fff2e639;background:#ffffff0b;font-size:10px;cursor:pointer}.wardrobe-actions button:disabled{opacity:.45;cursor:not-allowed}
@media(max-aspect-ratio:1/1){.wardrobe-dialog{max-height:90dvh}.wardrobe-shell{padding:25px 17px}.wardrobe-shell h2{font-size:24px}.wardrobe-toggle{padding:11px}.wardrobe-actions button{font-size:9px}}
.quick-menu{position:absolute;top:14%;right:4%;z-index:22;display:flex;gap:7px}.quick-menu .icon-button{position:static}.wardrobe-open{border-color:#e5b5c775;background:#382638d9;color:#f6dce6}.wardrobe-open:hover{background:#55374fe8;border-color:#f1cddd}
.gacha-open{border-color:#dac17875;background:#342b20d9;color:#f7e6b1}.gacha-open:hover{background:#51432be8;border-color:#f5da8e}
.gacha-menu-dialog{width:min(520px,94vw);max-height:88dvh;overflow:auto}.gacha-menu-shell{text-align:center}.gacha-menu-shell h2{margin:11px 0}.gacha-menu-shell>p{font-size:12px;line-height:1.7}.gacha-menu-balance{margin:18px auto;padding:12px;border:1px solid #ffffff20;background:#ffffff08;color:#cdbdc9;font-size:12px}.gacha-menu-balance b{margin-left:8px;color:#f5e9b9;font-size:16px}.gacha-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gacha-menu-options button{display:grid;gap:7px;min-height:82px;place-content:center;border:1px solid #e3c47865;background:linear-gradient(135deg,#9b783326,#ffffff08);color:#f5e9de;cursor:pointer}.gacha-menu-options button:hover:not(:disabled){border-color:#f2d991;background:linear-gradient(135deg,#b48a3a44,#ffffff0c)}.gacha-menu-options button:disabled{opacity:.42;cursor:not-allowed}.gacha-menu-options b{font-size:14px}.gacha-menu-options span,.gacha-menu-rates{color:#cbbac7;font-size:10px;line-height:1.7}.gacha-menu-rates{margin:15px 0 0!important}
.gacha-menu-message:not([hidden]){margin:12px 0 0;color:#f5d3aa;font-size:12px;font-weight:600;line-height:1.5}
@media(max-aspect-ratio:1/1){.quick-menu{top:18%;right:5%;gap:5px}.quick-menu .icon-button{padding:6px 8px;font-size:9px}}

/* Mobile layout reserves separate space for the HUD, character and controls. */
.action-backdrop,.close-actions{display:none}
button{touch-action:manipulation}
button:focus-visible,[tabindex]:focus-visible{outline:2px solid #f4ccdc;outline-offset:3px}
@media(max-aspect-ratio:1/1){
 #game{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto minmax(80px,1fr) auto auto auto;gap:8px 10px;padding:max(12px,env(safe-area-inset-top)) 14px max(6px,env(safe-area-inset-bottom));height:100dvh;min-height:540px}
 .topbar{position:relative;inset:auto;grid-column:1/-1;grid-row:1;gap:8px;pointer-events:auto}
 .brand strong{font-size:17px}.brand span{font-size:8px;letter-spacing:.2em}.day-chip{padding:4px 9px}.day-chip>span{font-size:8px}
 .stats{border-radius:12px;overflow:hidden;background:#201927dc}.stat{padding:8px;gap:4px}.stat>span{font-size:10px}.stat>strong{font-size:12px;overflow-wrap:anywhere}
 .scene-caption{position:relative;inset:auto;grid-column:1;grid-row:2;align-self:center;font-size:10px;line-height:1.5}.caption-separator,#weather-label{display:none}
 .quick-menu{position:relative;inset:auto;grid-column:2;grid-row:2;gap:6px}.quick-menu .icon-button{min-height:44px;min-width:52px;padding:8px 10px;font-size:12px;border-radius:12px}
 .quest-card{position:relative;inset:auto;grid-column:1/-1;grid-row:3;width:100%;padding:9px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;border-radius:12px;background:#201927e8;box-shadow:none}
 .quest-top{grid-column:2;grid-row:1;justify-content:flex-end}.quest-top .eyebrow{display:none}.quest-reward{font-size:11px}
 .quest-card>strong{grid-column:1;grid-row:1;margin:0;font-family:inherit;font-size:12px;font-weight:600}.quest-bottom{grid-column:1/-1;font-size:10px;line-height:1.4}.quest-meter{grid-column:1/-1;margin:2px 0 0;height:2px}
 .dialogue-box{position:relative;inset:auto;grid-column:1/-1;grid-row:5;width:100%;min-height:130px;max-height:26dvh;overflow:auto;padding:12px 14px;border-radius:16px;background:#211a2e80;backdrop-filter:blur(4px)}
 .speaker-row{gap:9px}.speaker-name{margin:0;min-width:auto;padding:4px 10px;border-radius:6px;font-size:11px}.speaker-context{font-size:10px}.dialogue-box p{margin:8px 0;min-height:44px;font-size:14px;line-height:1.6;white-space:pre-line}.dialogue-hint{font-size:10px}.dialogue-hint>span{font-size:0}.dialogue-hint>span:after{content:"터치해서 대화 이어가기";font-size:10px}.dialogue-hint b{font-size:9px}
 .mobile-action-trigger{position:relative;inset:auto;grid-column:1/-1;grid-row:6;min-height:48px;border-radius:13px;font-size:14px;font-weight:600;background:#e7bdd0;color:#302034;border-color:#f4dbe5;box-shadow:0 4px 20px #100b1633}
 .utility-bar{position:relative;inset:auto;grid-column:1/-1;grid-row:7;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.utility-bar button{min-height:44px;padding:6px 2px;font-size:10px}
 .action-backdrop:not([hidden]){display:block;position:absolute;inset:0;z-index:39;background:#09061099;border:0;backdrop-filter:blur(4px)}
 .action-panel{z-index:40;top:auto;left:0;right:0;bottom:0;width:100%;max-height:85dvh;padding:18px 16px max(18px,env(safe-area-inset-bottom));gap:9px;border-radius:24px 24px 0 0;background:#251e30;overscroll-behavior:contain;box-shadow:0 -12px 50px #08050c66}
 .close-actions{display:block;position:absolute;top:13px;right:14px;min-height:44px;min-width:60px;border:0;background:#ffffff0d;border-radius:10px;font-size:12px}.panel-heading{padding:0 76px 4px 0}.panel-heading h2{font-size:23px}.action-card{min-height:62px;padding:10px 12px;border-radius:12px}.action-card b{font-size:14px}.action-card small{font-size:11px}.action-symbol{width:34px;height:34px;flex-shrink:0}.panel-footer{padding-top:8px}.panel-footer>span{font-size:10px;line-height:1.5}.panel-footer button{min-height:44px;font-size:12px}
 .game-dialog{width:calc(100vw - 24px);max-width:560px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px;overscroll-behavior:contain}.dialog-shell{padding:26px 20px}.dialog-shell h2{padding-right:28px;font-size:25px}.dialog-close{top:10px;right:10px;min-width:44px;min-height:44px;border-radius:10px}.dialog-shell>p{font-size:14px}.choice-option{min-height:58px;border-radius:12px}.choice-option b{font-size:14px;line-height:1.5}.choice-option small{font-size:12px;line-height:1.5}.wardrobe-toggle{min-height:68px;border-radius:12px}.wardrobe-toggle b{font-size:14px}.wardrobe-toggle small{font-size:11px;line-height:1.5}.wardrobe-actions{flex-wrap:wrap}.wardrobe-actions button{min-height:48px;font-size:12px;border-radius:10px}.status-card b{font-size:16px;overflow-wrap:anywhere}.gacha-skip{min-height:44px}.journal-list{max-height:55dvh}
 #toast{top:auto;bottom:calc(230px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);border-radius:12px;z-index:60;line-height:1.5}
 .intro-controls{bottom:max(20px,env(safe-area-inset-bottom))}.intro-controls button{min-height:44px;border-radius:10px}
}

.gacha-result-card{min-height:76px;gap:10px}
.gacha-result-card .gacha-emblem{flex:0 0 38px;width:38px;height:34px;border-radius:10px;font:800 9px/1 'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.04em}
.rarity-r .gacha-emblem{color:#f0f2f5;background:#8390a544}
.rarity-sr .gacha-emblem{color:#f1d7ff;background:#9d60bb66}
.rarity-ssr .gacha-emblem{color:#fff0b2;background:#f4d47844;box-shadow:0 0 14px #f4d4782b}
.gacha-item-preview{flex:0 0 58px;width:58px;height:58px;object-fit:contain;border:1px solid #ffffff20;border-radius:8px;background:#ffffff08}
.gacha-result-card>span:nth-child(2){flex:1;min-width:0}
.gacha-result-card b{line-height:1.5}
.wardrobe-dialog .wardrobe-shell{max-height:82vh;overflow-y:auto;overscroll-behavior:contain}
.wardrobe-section{margin-top:18px}
.wardrobe-section h3{margin:0 0 9px;color:#edc8d7;font-size:12px;font-weight:500;letter-spacing:.08em}
.wardrobe-section .wardrobe-toggles{gap:6px}
.wardrobe-section .wardrobe-toggle{padding:9px 11px}
.wardrobe-section .wardrobe-toggle small{font-size:9px}
@media(max-aspect-ratio:1/1){.gacha-item-preview{flex-basis:48px;width:48px;height:48px}.gacha-result-card{min-height:62px}.wardrobe-dialog .wardrobe-shell{max-height:90dvh}}
@media(max-aspect-ratio:1/1) and (max-height:700px){
 #game{gap:5px 8px;padding-top:max(8px,env(safe-area-inset-top));padding-inline:10px}.brand span{display:none}.brand strong{font-size:15px}.topbar{gap:5px}.stat{padding:5px 7px}.quest-card{padding:7px 10px}.dialogue-box{min-height:112px;padding:9px 12px}.dialogue-box p{font-size:13px;line-height:1.5;min-height:38px}.mobile-action-trigger{min-height:44px}.utility-bar button{min-height:44px}
}
@media(max-aspect-ratio:1/1) and (max-height:539px){html,body{overflow:auto}#game{height:540px}}
@media(min-aspect-ratio:1/1) and (max-width:950px) and (max-height:500px){
 #game{width:100vw;height:100dvh;aspect-ratio:auto}
 .topbar{top:max(8px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:16px}.brand span{display:none}.brand strong{font-size:16px}.day-chip{padding:4px 10px}.stats .stat{min-width:64px;padding:6px 8px}
 .scene-caption{left:12px;top:65px;font-size:10px}.quick-menu{right:12px;top:57px}.quick-menu .icon-button{min-height:44px;min-width:60px;border-radius:10px}
 .quest-card{left:12px;top:102px;width:155px;padding:10px}.quest-card>strong{font-size:13px}.quest-top .eyebrow{display:none}.quest-bottom{flex-wrap:wrap}
 .action-panel{top:108px;right:12px;bottom:54px;width:235px;min-width:0;padding:10px;gap:6px;overflow:auto;border-radius:14px}.panel-heading{padding:0}.panel-heading .eyebrow{display:none}.panel-heading h2{font-size:16px;margin:2px}.action-card{min-height:44px;flex-shrink:0;padding:6px 8px}.action-card small{display:none}.panel-footer{flex-shrink:0}.panel-footer>span{display:none}.panel-footer button{min-height:44px;font-size:12px;width:100%}
 .dialogue-box{left:12px;bottom:54px;width:calc(100% - 274px);min-height:94px;padding:10px 14px}.speaker-name{margin-top:-20px}.dialogue-box p{font-size:13px;min-height:32px;margin:6px 0}.dialogue-hint>span{font-size:0}.dialogue-hint>span:after{content:"터치해서 대화 이어가기";font-size:9px}
 .utility-bar{bottom:4px;right:12px;gap:12px}.utility-bar button{min-height:44px;padding:6px;font-size:11px}.game-dialog{max-height:92dvh;overflow:auto;border-radius:16px}.dialog-close{min-width:44px;min-height:44px}.choice-option{min-height:48px}
}
.memory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-card{padding:16px;border:1px dashed #ffffff29;border-radius:12px;color:#9f91a5;background:#ffffff04}.memory-card.is-found{border:1px solid #e2b2c776;color:#f7d8e5;background:linear-gradient(135deg,#b2769225,#ffffff06)}.memory-card strong{font-size:13px;line-height:1.5}.memory-card p{font-size:11px;line-height:1.5;margin-bottom:0}.action-panel{overflow-y:auto}.action-card{flex-shrink:0}@media(max-width:400px){.memory-list{grid-template-columns:1fr}}#memory-progress{font-size:12px}

.memory-dialog{width:min(760px,94vw);max-height:calc(100dvh - 36px);overflow:auto;border-radius:20px}.memory-dialog .dialog-shell{padding:clamp(22px,4vw,34px)}.memory-dialog #memory-progress{max-width:620px;line-height:1.7}.memory-list{gap:14px}.memory-card,.memory-card.is-found{padding:0;overflow:hidden;border-radius:15px}.memory-card.is-locked{background:#ffffff05}.memory-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.memory-open:hover .memory-art img,.memory-open:focus-visible .memory-art img{transform:scale(1.035)}.memory-open:focus-visible{outline:2px solid #f5bfd8;outline-offset:-3px}.memory-art{position:relative;display:grid;place-items:center;aspect-ratio:1216/832;overflow:hidden;background:radial-gradient(circle at 50% 35%,#59495e,#282131 72%)}.memory-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.memory-card.is-locked .memory-art{background:radial-gradient(circle at 50% 40%,#65556744,#25202b 72%),repeating-linear-gradient(135deg,#ffffff05 0 1px,transparent 1px 13px)}.memory-card.is-locked .memory-art:after{content:'?';position:absolute;color:#cbb7c982;font:70px Georgia,serif}.memory-lock{position:absolute;z-index:1;top:12px;right:12px;padding:4px 8px;border:1px solid #ffffff36;border-radius:99px;color:#dcc7d5;background:#221c29b8;font-size:14px}.memory-info{display:flex;flex-direction:column;gap:5px;padding:13px 15px 15px}.memory-badge{color:#a99aaa;font-size:10px;font-weight:700;letter-spacing:.08em}.is-found .memory-badge{color:#f2bacf}.memory-info strong{font-size:14px}.memory-info p{margin:0;color:#b9aaba;font-size:11px}.memory-preview-dialog{width:min(1000px,96vw);max-height:calc(100dvh - 24px);overflow:auto;border-radius:18px}.memory-preview-dialog .dialog-shell{padding:clamp(16px,3vw,28px)}.memory-preview-dialog h2{margin-bottom:3px}.memory-preview-dialog p{margin:0 0 14px;font-size:12px}.memory-preview-dialog img{display:block;width:100%;max-height:calc(100dvh - 190px);object-fit:contain;border-radius:10px;background:#17121d}@media(max-width:600px){.memory-list{grid-template-columns:1fr}.memory-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.memory-dialog .dialog-shell{padding:20px 15px}.memory-card{display:grid;grid-template-columns:1fr}.memory-preview-dialog{width:calc(100vw - 12px)}.memory-preview-dialog .dialog-shell{padding:52px 10px 12px}.memory-preview-dialog img{max-height:calc(100dvh - 145px)}}

.story-open{border-color:#d8a9bd99;color:#ffe3ef}.story-open.has-new:after{content:"";display:inline-block;margin-left:5px;width:6px;height:6px;border-radius:50%;background:#f3aecf;box-shadow:0 0 9px #edb2cc}.story-dialog{width:min(620px,94vw);max-height:90dvh;border-radius:22px;overflow:hidden;background:#201925}.story-shell{display:flex;flex-direction:column;max-height:88dvh}.story-header{position:relative;padding:24px 64px 16px 22px;border-bottom:1px solid #ffffff1c}.story-header h2{font:400 24px 'AppleMyungjo','Batang',serif;margin:8px 0}.story-header p{margin:0;font-size:11px;color:#cbb6c5}.story-thread{position:relative;padding:18px 20px;min-height:120px;overflow-y:auto;overscroll-behavior:contain;flex:1}.story-chapter{font-size:11px;text-align:center;color:#dfb9ce;margin:12px 0 20px;letter-spacing:.05em}.story-bubble{width:88%;margin:0 0 12px;padding:12px 14px;border-radius:3px 15px 15px 15px;background:#ffffff09;font-size:14px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-line}.story-author{display:block;font-size:10px;color:#d1a8bc;margin-bottom:4px}.story-you{margin-left:auto;background:#67475b;border-radius:15px 3px 15px 15px}.story-you .story-author{color:#f2cfde}.story-note{width:100%;background:none;padding:8px 2px;font-size:12px;line-height:1.8;color:#bcaabb}.story-note .story-author{display:none}.story-footer{padding:12px 18px 18px;border-top:1px solid #ffffff1c;background:#281f2d;flex-shrink:0;max-height:45dvh;overflow:auto}.story-footer>p{font-size:11px;color:#ceb5c8;line-height:1.6;margin:0 0 10px}#story-replies{display:grid;gap:8px}.story-reply{min-height:46px;width:100%;padding:12px 14px;border:1px solid #eac1d255;border-radius:12px;background:#ffffff08;text-align:left;font-size:13px;line-height:1.5;cursor:pointer}.story-reply:hover{background:#e5b0c622}.ending-screen .ending-story{margin-bottom:12px;background:transparent;color:#efd5df}.ending-screen #ending-letter{font-size:13px;line-height:1.7;max-width:600px}
@media(max-aspect-ratio:1/1){.story-dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:calc(100vw - 20px)}.story-shell{max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.story-header{padding:20px 58px 12px 16px}.story-header h2{font-size:21px}.story-thread{padding:14px}.story-bubble{font-size:13px;padding:10px 12px;width:94%}.story-note{width:100%;font-size:11px}.story-footer{padding:10px 14px 14px}.quick-menu{gap:4px}.quick-menu .icon-button{padding-inline:8px;min-width:44px}.scene-caption{overflow-wrap:anywhere}.ending-screen{overflow:auto;justify-content:flex-start;padding-top:40px}.ending-screen>button{flex-shrink:0}}

.story-bubble.story-typing{width:76px;min-height:65px;padding:10px 14px}.story-typing-dots{display:flex;align-items:center;gap:5px;height:20px}.story-typing-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#d9b9cb;animation:story-typing-bounce 1.1s ease-in-out infinite}.story-typing-dots i:nth-child(2){animation-delay:.15s}.story-typing-dots i:nth-child(3){animation-delay:.3s}.story-arrived{animation:story-arrival .24s ease-out}@keyframes story-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes story-arrival{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.story-typing-dots i,.story-arrived{animation:none!important}.story-typing-dots i{opacity:.8}}

/* Time passes with the two daily actions; the first arrival remains a rainy night. */
#background-layer{transition:filter 1.6s ease}
#daylight-layer{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:background 1.6s ease,opacity 1.6s ease}
#game[data-phase=morning] #background-layer{filter:brightness(1.08) saturate(.92)}
#game[data-phase=morning] #daylight-layer{opacity:.6;background:linear-gradient(130deg,#ffe5a838,transparent 60%)}
#game[data-phase=evening] #background-layer{filter:brightness(.83) saturate(.85) sepia(.16)}
#game[data-phase=evening] #daylight-layer{opacity:.7;background:linear-gradient(120deg,#ef99593b,#5b305820)}
#game[data-phase=night] #background-layer{filter:brightness(.53) saturate(.65)}
#game[data-phase=night] #daylight-layer{opacity:.8;background:linear-gradient(180deg,#171f5945,#15122e60)}
#live2d-canvas{transition:filter 1.6s ease}#game[data-phase=night] #live2d-canvas{filter:brightness(.86)}#game[data-phase=evening] #live2d-canvas{filter:sepia(.07) brightness(.95)}
#day-transition{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:24px;color:#f4e9f1;background:radial-gradient(ellipse at 50% 25%,#342b48f7,#100e1afa 75%);opacity:1;transition:opacity .45s ease,background 1s ease;overflow:auto}
#day-transition[open]{display:grid;place-items:center;animation:day-fall .65s ease both}#day-transition::backdrop{background:#0b0913aa;backdrop-filter:blur(8px)}
.day-transition-content{max-width:520px;text-align:center;margin:auto}.day-transition-symbol{font-size:54px;color:#e9c9dc;margin:25px 0 15px;text-shadow:0 0 40px #b6a3ed66}.day-transition-content h2{font:400 clamp(27px,5vw,42px) 'AppleMyungjo','Batang',serif;margin:12px 0 22px}.day-transition-content>p{white-space:pre-line;font-size:15px;line-height:2;color:#d5c6d9;word-break:keep-all}#day-transition-summary{font-size:11px;margin-top:26px;color:#a89ab5}#day-transition-skip{margin-top:24px;min-height:44px;padding:10px 22px;border:1px solid #dfcadd55;border-radius:24px;background:#ffffff08;color:inherit;font-size:12px;cursor:pointer}#day-transition.is-dawn{background:radial-gradient(ellipse at 50% 15%,#74616dfc,#302835fc 80%)}#day-transition.is-dawn .day-transition-symbol{color:#ffdfad;text-shadow:0 0 55px #ffb45a66}#day-transition.is-leaving{opacity:0;animation:none}@keyframes day-fall{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){#day-transition[open]{animation:none}#day-transition,#background-layer,#daylight-layer,#live2d-canvas{transition:none}}
@media(max-aspect-ratio:1/1){.scene-caption #weather-label{display:block;font-size:9px;color:#d6bdc9;margin-top:3px}.day-transition-content>p{font-size:14px}.day-transition-symbol{font-size:46px}}

/* A continuous nightfall and sunrise: the game scene remains visible underneath. */
#day-transition{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border:0;background:transparent;color:#fff;pointer-events:none}
#day-transition::backdrop{background:transparent}
#day-transition[open]{display:grid;place-items:center;animation:none}
.day-transition-content{position:absolute;inset:0;max-width:none;display:flex;justify-content:center;align-items:flex-start;padding:calc(max(18px,env(safe-area-inset-top)) + 58px) 18px 18px;text-align:center;background:#080a1b00;transition:background .75s ease,opacity .3s ease;pointer-events:none}
#day-transition[open] .day-transition-content{background:#080a1b7a}
.day-transition-date{display:flex;align-items:center;gap:11px;padding:8px 15px;border:1px solid #ffffff30;border-radius:999px;background:#15111e92;color:#f6edf4;box-shadow:0 4px 24px #09071038;opacity:0;transform:translateY(-8px);transition:opacity .45s ease,transform .45s ease,background .65s ease,color .65s ease}
#day-transition[open] .day-transition-date{opacity:1;transform:translateY(0)}.day-transition-date span{font:11px Georgia,serif;letter-spacing:.16em}.day-transition-date i{font:normal 16px Georgia,serif;color:#ddc6e2}#day-transition-date.is-morning{background:#554638bd;color:#fff4d7;border-color:#fff2cd66}#day-transition-date.is-morning i{color:#ffe7a2}#day-transition-skip{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-height:44px;padding:9px 15px;border:1px solid #ffffff36;border-radius:24px;background:#171320a6;color:#f7f0f5;font-size:11px;pointer-events:auto;cursor:pointer;opacity:.8}#day-transition-skip:hover{opacity:1}#day-transition.is-leaving .day-transition-content{opacity:0;transition:opacity .35s ease}@media(prefers-reduced-motion:reduce){.day-transition-content,.day-transition-date{transition:none}}

/* Keep only a small date marker over the uninterrupted game scene. */
#day-transition{background:transparent!important;overflow:hidden}#day-transition::backdrop{background:transparent!important;backdrop-filter:none!important}.day-transition-content{align-items:flex-start;padding-top:max(14px,env(safe-area-inset-top));background:#080a1b00!important}.day-transition-date{padding:8px 16px;border:0;border-radius:0;background:transparent!important;box-shadow:none;transform:none;opacity:0;transition:opacity .28s ease}.day-transition-date span{font:14px Georgia,serif;letter-spacing:.22em;text-shadow:0 1px 12px #090710dd}.day-transition-date i{font-size:15px}.day-transition-date.is-morning{color:#fff3d5}.day-transition-date.is-morning i{color:#ffe7a2}#day-transition[open] .day-transition-date{opacity:1}#day-transition-skip{bottom:max(18px,env(safe-area-inset-bottom));padding-inline:12px;border-color:#ffffff2c;background:#17132076;opacity:.68}#day-transition-skip:hover{opacity:1}#day-transition.is-leaving .day-transition-content{opacity:0}
.dialogue-box p.is-replying{width:fit-content;min-height:0;padding:7px 12px;border-radius:12px;background:#ffffff0c;color:#d9c7d5;font-size:12px;letter-spacing:0;animation:reply-status-pulse 1s ease-in-out infinite alternate}@keyframes reply-status-pulse{from{opacity:.58}to{opacity:1}}
/* 하루의 선택은 메뉴 패널 대신 에브와의 대화 선택지에서 진행합니다. */
#action-panel,#open-actions,#action-backdrop,.quest-card{display:none!important}
/* The final chapter leaves the scene to Eve and the conversation. */
#game.is-final-day .quest-card,
#game.is-final-day #action-panel,
#game.is-final-day #open-actions,
#game.is-final-day #action-backdrop { display:none!important; }
#game.is-final-day .day-chip { border-color:#f0cba2; background:#3e2c3d70; }
#game.is-final-day #chapter-label { color:#f4d3aa; }
#game.is-final-day #speaker-context { color:#eed3ae; }
#game.is-final-day[data-finale=together] #daylight-layer { background:radial-gradient(ellipse at 20% 70%,#ffc67545,transparent 65%); opacity:.8; }
#game.is-final-day .ending-screen:not([hidden]) { animation:final-ending-reveal 1.5s ease both; }
@keyframes final-ending-reveal { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { #game.is-final-day .ending-screen:not([hidden]) { animation:none!important; } }
#ending-test-dialog { width:min(820px,94vw); max-height:90dvh; overflow:auto; }
#ending-test-dialog h2 { padding-right:36px; }
#ending-test-modes { display:grid; gap:8px; margin:20px 0 0; padding:0; border:0; }
#ending-test-modes legend { margin-bottom:10px; font-size:13px; color:#f3d4e0; }
#ending-test-modes label { display:flex; align-items:center; gap:10px; min-height:58px; padding:10px 12px; border:1px solid #eac1d238; border-radius:10px; cursor:pointer; }
#ending-test-modes label:has(input:checked) { background:#8b587239; border-color:#edc2d7; }
#ending-test-modes input { width:18px; height:18px; margin:0; accent-color:#e8b7ce; flex-shrink:0; }
#ending-test-modes strong,#ending-test-modes small { display:block; }
#ending-test-modes strong { font-size:13px; font-weight:500; }
#ending-test-modes small { margin-top:4px; color:#c5b4c8; font-size:11px; line-height:1.5; }
#ending-test-dialog .ending-test-note { font-size:11px; color:#c4b0c4; }
.ending-test-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.ending-test-card { display:flex; gap:12px; min-width:0; padding:16px 12px; text-align:left; border:1px solid #e5b5c733; border-radius:12px; background:#ffffff05; cursor:pointer; }
.ending-test-card:hover,.ending-test-card.is-selected { background:#a66c8c25; border-color:#ebbbd0; }
.ending-test-card>span:first-child { color:#e1b6c9; font:12px Georgia,serif; padding-top:2px; }
.ending-test-card small,.ending-test-card strong { display:block; }
.ending-test-card small { color:#c8a4be; font-size:10px; margin-bottom:6px; }
.ending-test-card strong { font-size:14px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
.ending-test-card p { margin:7px 0 0; font-size:11px; line-height:1.6; color:#c7b6c8; }
.choice-test-button { display:block; margin:16px auto 0; min-height:44px; padding:8px 18px; border:1px solid #eac1d233; background:transparent; color:#cbb5c8; font-size:11px; cursor:pointer; }
.ending-test-exit { width:100%; min-height:48px; margin-top:20px; padding:12px; border:1px solid #edc2d7; border-radius:10px; background:#e9c7d6; color:#2c202d; cursor:pointer; }
.ending-screen>.ending-test-open { background:transparent; color:#efd5df; margin-bottom:12px; }
#game.is-ending-test .day-chip { border-color:#d6b9ff; background:#44335999; }
#game.is-ending-test #chapter-label { color:#ead7ff; }
#game.is-ending-test #save-game { color:#f1d0e0; text-decoration:underline; text-underline-offset:4px; }
@media(max-aspect-ratio:1/1) { .utility-bar { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:560px) { .ending-test-list { grid-template-columns:1fr; } #ending-test-dialog { width:calc(100vw - 24px); } }
.activity-condition-warning { color:#edc6a1!important; font-size:12px!important; line-height:1.65; white-space:pre-line; }
.work-game-dialog{width:min(520px,94vw);max-height:calc(100dvh - 30px);overflow:auto;border-radius:20px}
.work-game-dialog [hidden]{display:none!important}
.work-game-shell{padding:clamp(22px,4vw,36px)}
.work-game-shell h2{margin:10px 0 15px}
.work-game-shell>p{font-size:12px;line-height:1.6}
.work-game-stats{display:flex;justify-content:space-between;gap:10px;margin:14px 0;padding:10px 12px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff09;font-size:11px;color:#ccb8c7}
.work-game-stats b{display:block;margin-top:4px;color:#fff0e9;font-size:14px}
.dish-board{position:relative;display:grid;place-items:center;height:220px;overflow:hidden;border:1px solid #96b4b45b;border-radius:18px;background:radial-gradient(circle at 50% 35%,#a8ceca45,transparent 58%),linear-gradient(145deg,#253d45,#142733);box-shadow:inset 0 0 32px #070f16a0}
.dish-board:before,.dish-board:after{content:"";position:absolute;inset:14px;border:2px solid #d1e3df22;border-radius:16px;pointer-events:none}
.dish-board:after{inset:auto 0 16px;height:4px;border:0;background:#cce2dc24}
.dish-plate{position:relative;z-index:1;width:170px;height:170px;display:grid;place-items:center;border:10px solid #f6edf0;border-radius:50%;background:radial-gradient(circle,#fffdf9 0 45%,#ead8d8 46% 51%,#fff8f5 52%);box-shadow:0 9px 22px #06141ca8,inset 0 0 0 2px #d8bdc4;cursor:grab;touch-action:none;user-select:none;transition:transform .18s}
.dish-plate:active{cursor:grabbing;transform:rotate(-4deg) scale(.97)}
.dish-plate.is-clean{animation:dish-finish .35s ease-out}
.dish-stain{width:95px;height:80px;border-radius:44% 56% 55% 45%;background:radial-gradient(circle at 30% 40%,#a7725d,#774f48 57%,#925e5159 74%,transparent 76%);filter:blur(2px);opacity:var(--dirt-opacity,1);transition:opacity .16s}
.dish-shine{position:absolute;top:31%;right:24%;color:#b07893;font-size:28px;opacity:calc(1 - var(--dirt-opacity,1))}
.dish-suds{position:absolute;width:90px;height:90px;border:2px solid #d4fcf766;border-radius:50%;pointer-events:none;box-shadow:32px 12px 0 -20px #b4e9e899,-25px 30px 0 -18px #d2f4f499}
.suds-one{top:12px;left:16%}.suds-two{right:12%;bottom:7px;transform:scale(.7)}
.dish-under{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:#f0d1dd}
.dish-under span:last-child{text-align:right;color:#b9d8d1}
.work-game-tip{margin:13px 0 0!important;color:#c5b7c3!important}
.work-game-shell .choice-test-button{width:100%;margin:12px 0 0}
.work-game-shell .skill-hit{margin-top:17px}
.skill-dialog{width:min(650px,94vw);max-height:92dvh;overflow:auto}.skill-shell{padding:28px}.skill-shell>p.cafe-recipe-note{margin:0 0 10px;color:#d5c4cf;font-size:12px;line-height:1.6}.cafe-condition-warning{margin:0 0 13px;color:#e6bfc8;font-size:11px}.cafe-order-progress{display:flex;justify-content:space-between;gap:12px;margin:10px 0;color:#e3c7d1;font-size:11px}.cafe-workbench{display:grid;grid-template-columns:minmax(160px,.85fr) 1.15fr;align-items:center;gap:20px;padding:17px;border:1px solid #f2e7e51f;background:linear-gradient(135deg,#ffffff09,#ffffff03)}.cafe-cup-wrap{display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:245px;padding-top:5px}.cafe-cup{position:relative;width:min(150px,75%);height:218px;overflow:hidden;border:2px solid #ecedf1a6;border-top:1px solid #ffffff99;border-radius:8px 8px 30px 30px;background:linear-gradient(90deg,#ffffff24,#ffffff08 18%,#ffffff10 75%,#ffffff26);box-shadow:inset 10px 0 16px #ffffff0d,inset -10px 0 14px #ffffff12,0 14px 28px #08070e66}.cafe-cup:before{content:"";position:absolute;z-index:4;top:0;left:-2px;right:-2px;height:8px;border:2px solid #ffffffa6;border-radius:4px;background:#f5f3f425}.cafe-cup:after{content:"";position:absolute;z-index:3;top:9px;bottom:5px;left:14px;width:10px;border-radius:10px;background:linear-gradient(#ffffff25,transparent);pointer-events:none}.cafe-liquid{position:absolute;inset:0;overflow:hidden}.cafe-liquid-layer{position:absolute;left:0;right:0;display:block;opacity:.94;box-shadow:inset 0 3px 3px #ffffff42}.cafe-current-pour{position:absolute;z-index:2;left:0;right:0;opacity:.9;box-shadow:inset 0 3px 4px #ffffff52}.cafe-target-line{position:absolute;z-index:5;left:0;right:0;height:2px;background:#fff1a8;box-shadow:0 0 6px #ffe28c,0 0 12px #ffe28c99;transition:bottom .08s}.cafe-target-line span{position:absolute;right:-7px;top:-4px;width:9px;height:9px;border:2px solid #fff1a8;border-radius:50%;background:#503c26}.cafe-cup-volume{position:absolute;z-index:6;right:7px;bottom:8px;color:#fff8f1b8;font-size:9px;text-shadow:0 1px 4px #000}.cafe-cup-base{width:112px;height:9px;margin-top:7px;border-radius:50%;background:#ffffff35;filter:blur(2px)}.cafe-step-info{min-width:0}.cafe-step-overline{color:#c9b8c5;font-size:10px}.cafe-step-info>strong{display:block;margin:8px 0;color:#fff1ea;font:400 23px 'AppleMyungjo','Batang',serif}.cafe-step-info>p{margin:0;color:#d5c4cf;font-size:12px;line-height:1.9}.cafe-step-info>p b{color:#fff0d9;font-variant-numeric:tabular-nums}.cafe-progress-track{height:5px;margin:13px 0 9px;overflow:hidden;border-radius:9px;background:#ffffff20}.cafe-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d19fb1,#f0d48c);transition:width .06s linear}.cafe-step-info small{display:block;min-height:32px;color:#e5c9d3;font-size:10px;line-height:1.5}.cafe-recipe-steps{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}.cafe-recipe-chip{padding:6px 9px;border:1px solid #ffffff20;border-radius:999px;background:#ffffff08;color:#b9aab7;font-size:9px}.cafe-recipe-chip.is-current{border-color:#efd0db99;background:#e8c1cf1a;color:#ffe7ee}.cafe-recipe-chip.is-done{border-color:#b6d7cb66;color:#c5e5d6}.cafe-pour-button{touch-action:none;user-select:none;-webkit-user-select:none}.cafe-pour-button.is-pouring{background:#c7a1b2;box-shadow:0 0 20px #edc5d633}.cafe-controls-hint{margin:10px 0 0;color:#c5b7c3;font-size:10px;text-align:center}.skill-shell>.choice-test-button{width:100%;margin:12px 0 0}
.lottery-card{position:relative;display:grid;place-items:center;width:100%;height:170px;overflow:hidden;border:2px solid #e9c583;border-radius:16px;background:radial-gradient(circle at center,#644659,#372739 70%);box-shadow:0 9px 28px #100c1c91}
.choice-option:disabled{opacity:.55;cursor:not-allowed}.choice-option:disabled:hover{background:#fff1e607}
#lottery-odds{white-space:pre-line;line-height:1.65;font-variant-numeric:tabular-nums}
.lottery-card:before{content:"✦ LUCKY EVE ✦";position:absolute;top:11px;left:0;right:0;text-align:center;color:#f5dcb2;font:10px Georgia,serif;letter-spacing:.3em}
.lottery-prize{padding:28px 10px 0;text-align:center;color:#ffe8ab;font:600 clamp(21px,4vw,32px) 'AppleMyungjo','Batang',serif;text-shadow:0 2px 15px #f8dca356}
#lottery-cover{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='%23f4c542' stroke='%238b5a18' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='9' fill='none' stroke='%23fff0a8' stroke-width='1.5'/%3E%3Cpath d='M18.5 11.5c-.7-.8-1.5-1.1-2.6-1.1-1.5 0-2.6.8-2.6 2s1.1 1.8 2.7 2.2 2.8.9 2.8 2.3-1.1 2.3-2.9 2.3c-1.2 0-2.2-.4-3-1.3M16 8.7v14.6' fill='none' stroke='%238b5a18' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") 16 16,crosshair}
@keyframes dish-finish{50%{transform:scale(1.08) rotate(5deg);filter:brightness(1.2)}}
@media(max-width:560px){.work-game-shell{padding:21px 17px}.work-game-shell h2{font-size:25px}.work-game-stats{font-size:10px}.work-game-stats b{font-size:12px}.dish-board{height:190px}.dish-plate{width:150px;height:150px}.lottery-card{height:150px}.dish-under{font-size:11px}}
.fatigue-chat-log { display:grid; gap:12px; min-height:140px; margin:20px 0; }
.fatigue-chat-row { display:flex; align-items:flex-start; gap:10px; animation:story-arrival .22s ease-out; }
.fatigue-chat-avatar { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border-radius:50%; background:#a686a132; font-size:23px; }
.fatigue-chat-row>div { max-width:calc(100% - 46px); padding:10px 14px; border-radius:2px 14px 14px; background:#4a374b; border:1px solid #dcaebc33; }
.fatigue-chat-row small { color:#ddbbcb; font-size:10px; }
.fatigue-chat-row p { margin:5px 0 0; color:#fff0ed; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.fatigue-chat-continue { width:100%; min-height:46px; padding:12px; background:#e9c7d6; border:0; border-radius:10px; color:#2c202d; cursor:pointer; }
.audience-reaction.is-fatigued { --bubble:#493b4d; --accent:#d8b9c4; left:0; width:100%; }
.audience-reaction.is-fatigued .audience-bubble { color:#ffebe1; }
.audience-reaction.is-fatigued .audience-bubble strong { font-size:12px; }
@media(prefers-reduced-motion:reduce) { .fatigue-chat-row { animation:none!important; } }

/* The prologue holds each short film until the player advances its dialogue. */
#intro-screen.is-story .intro-brand{display:none}
.intro-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#100d16}
.intro-media[hidden]{display:none!important}
.intro-scene-label{position:absolute;z-index:2;top:clamp(17px,4vh,40px);left:clamp(17px,4vw,48px);display:flex;flex-direction:column;gap:5px;color:#fff3ed;text-shadow:0 2px 15px #100d16b0}
.intro-scene-label span{font:10px Georgia,serif;letter-spacing:.3em;color:#f3cdd9}
.intro-scene-label strong{font:500 11px 'Apple SD Gothic Neo',sans-serif;letter-spacing:.16em}
#intro-screen.is-story .intro-controls{z-index:3}
#intro-screen.is-story .intro-vignette{background:linear-gradient(180deg,#100d1680,transparent 25%,transparent 53%,#0e0a15df 100%)}
.intro-dialogue{position:absolute;z-index:3;bottom:clamp(25px,7vh,68px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;width:min(760px,88%);min-height:145px;padding:19px 24px 15px;border:1px solid #f4dce17d;border-radius:10px;background:linear-gradient(135deg,#211a28eb,#160f20e8);box-shadow:0 15px 50px #06050bb3;color:#fff5ee;text-align:left;cursor:pointer;backdrop-filter:blur(14px)}
.intro-dialogue:hover,.intro-dialogue:focus-visible{border-color:#ffdfec;background:linear-gradient(135deg,#312036f2,#201526ed)}
.intro-dialogue-head{display:flex;align-items:baseline;gap:12px}
.intro-dialogue-head strong{color:#f2c8d6;font:600 14px 'Apple SD Gothic Neo',sans-serif}
.intro-dialogue-head small{font-size:10px;letter-spacing:.11em;color:#c9b3c6}
.intro-line{display:block;font:clamp(15px,1.5vw,20px)/1.7 'AppleMyungjo','Batang','Apple SD Gothic Neo',serif;word-break:keep-all;overflow-wrap:anywhere}
.intro-dialogue-foot{display:flex;align-items:center;gap:10px;margin-top:auto;color:#d5c0cc;font-size:10px}
.intro-dialogue-foot #intro-status{flex:1;min-width:0;color:#ecc7d6}
.intro-dialogue-foot #intro-hint{white-space:nowrap}
.intro-dialogue-foot b{font-size:16px;color:#f0c8d8}
#intro-screen.is-story .intro-progress span{transition:width .25s ease}
#intro-screen.is-story #intro-start{z-index:4;top:43%;border-radius:999px;padding:15px 24px;background:#281b34ec;box-shadow:0 12px 38px #0c0815aa;color:#fff5ee;font-size:14px;font-weight:600;cursor:pointer}
#intro-screen.is-story #intro-start:hover,#intro-screen.is-story #intro-start:focus-visible{background:#4b304f;border-color:#ffe0eb}
@media(max-aspect-ratio:1/1){
 .intro-media{object-fit:contain;background:transparent}
 #intro-screen.is-story .intro-controls{top:max(57px,calc(env(safe-area-inset-top) + 56px));right:4%;bottom:auto;left:4%;justify-content:flex-end;gap:6px}
 #intro-screen.is-story .intro-controls button{padding:7px 9px;font-size:10px}
 .intro-scene-label{top:max(14px,env(safe-area-inset-top));left:5%}
 .intro-dialogue{bottom:calc(4% + env(safe-area-inset-bottom));width:92%;min-height:155px;padding:16px 17px 13px}
 .intro-line{font-size:14px;line-height:1.65}
 .intro-dialogue-foot{font-size:9px;flex-wrap:wrap;row-gap:4px}
 .intro-dialogue-foot #intro-hint{white-space:normal}
 #intro-start{top:47%;z-index:4;width:max-content;max-width:90%;white-space:normal}
}

/* The artwork itself is the reward card, with no duplicate frame or title. */
.gacha-dialog{width:min(920px,94vw)}
.gacha-dialog [hidden]{display:none!important}
.gacha-shell{padding:clamp(18px,3vw,32px)}
.gacha-result-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px 16px;max-height:60vh;max-height:60dvh;padding:8px 4px 16px;overflow:auto}
.gacha-result-list.is-single{grid-template-columns:minmax(0,max(150px,min(340px,calc((100dvh - 470px) / 2.2))));justify-content:center;max-height:none}
.gacha-result-card{--card-accent:#d8e0ef;display:block;min-width:0;min-height:0;padding:0;border:0;background:none;text-align:center;perspective:1100px}
.gacha-result-card.rarity-r{--card-accent:#a6cbff}.gacha-result-card.rarity-sr{--card-accent:#deb6ff}.gacha-result-card.rarity-ssr{--card-accent:#ffdc86;background:none}.gacha-result-card.rarity-ur{--card-accent:#ffb5e4}
.gacha-card-inner{display:grid;position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.7,.2,1);transform:rotateY(180deg)}
.gacha-result-card.is-revealed .gacha-card-inner{transform:rotateY(0)}
.gacha-card-front,.gacha-card-back{grid-area:1/1;box-sizing:border-box;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.gacha-card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;margin:5% 12%;padding:12px;transform:rotateY(180deg);border:1px solid #bc9cbe;border-radius:14px;background:repeating-linear-gradient(45deg,transparent 0 14px,#f5d8eb06 14px 15px),radial-gradient(ellipse at center,#594267,#20172f);box-shadow:inset 0 0 0 7px #251d31,inset 0 0 0 8px #ae90b266;color:#e9d1e5;font-size:12px}
.gacha-card-brand{font:10px Georgia,serif;letter-spacing:1px}.gacha-card-sigil{font-size:76px;color:#f7d5ee;text-shadow:0 0 35px #e6b2ff80}
.gacha-card-front{display:grid;place-items:center;padding:0;border:0;background:none;box-shadow:none}
.gacha-result-card .gacha-item-preview{display:block;width:100%;height:auto;max-height:none;min-height:0;flex:none;object-fit:contain;border:0;background:none;border-radius:0;filter:drop-shadow(0 8px 12px #0005)}
.gacha-image-fallback{display:grid;place-items:center;aspect-ratio:1/2;width:100%;padding:16px;box-sizing:border-box;color:var(--card-accent);font-size:18px}
.gacha-card-info{margin-top:10px;min-height:48px}.gacha-item-tag{font-size:12px;font-weight:700;color:var(--card-accent)}
.gacha-result-card small{margin-top:5px;font-size:12px;line-height:1.6;color:#d9cbdc}
.gacha-menu-rates{white-space:pre-line}
.gacha-ad-reward{margin:16px 0;padding:15px;border:1px solid #aee8ff50;border-radius:12px;background:#aee8ff0c;text-align:left}.gacha-ad-reward h3{margin:0 0 7px;color:#d4f3ff;font-size:14px}.gacha-ad-reward p{margin:0 0 10px;color:#cbbac7;font-size:11px;line-height:1.6}.gacha-ad-reward button{width:100%;min-height:42px;border:1px solid #aee8ff8a;border-radius:8px;background:#aee8ff27;color:#effaff;font-size:12px;cursor:pointer}.gacha-ad-reward button:disabled{opacity:.5;cursor:not-allowed}.gacha-ad-reward #gacha-ad-status{margin:9px 0 0;font-size:10px}
.gacha-ad-reward #gacha-test-ad{margin-top:12px;border-color:#d9b3df70;background:#d9b3df1c}.gacha-ad-reward #gacha-test-ad[hidden],.gacha-ad-reward #gacha-test-ad-status[hidden]{display:none}.gacha-ad-reward #gacha-test-ad-status{margin:9px 0 0;font-size:10px}
.gacha-ad-reward #gacha-watch-ad[hidden],.gacha-ad-reward #gacha-ad-status[hidden]{display:none}
#gacha-results>p{font-size:14px;line-height:1.6}#gacha-collect{min-height:46px}#gacha-collect:disabled{opacity:.5;cursor:wait}
@media(max-width:650px){.gacha-result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}.gacha-result-card small{font-size:11px}.gacha-card-brand{font-size:8px;letter-spacing:0}.gacha-card-back{gap:16px;font-size:10px}.gacha-card-sigil{font-size:52px}.gacha-shell h2{padding-right:0}}
@media(prefers-reduced-motion:reduce){.gacha-card-inner{transition:none}}

/* Owned card collection and a live, full-body fitting mirror. */
.wardrobe-dialog{width:min(1180px,96vw);max-width:none;height:min(850px,94dvh);max-height:94dvh;border-radius:24px;overflow:hidden;background:#211b2afc}
.wardrobe-dialog [hidden]{display:none!important}
.wardrobe-dialog .wardrobe-shell{height:100%;max-height:none;padding:26px;overflow:hidden;display:flex;flex-direction:column}
.wardrobe-header{display:flex;align-items:center;justify-content:space-between;flex:none;padding-right:44px;margin-bottom:18px}.wardrobe-header h2{margin:7px 0;font-size:28px}.wardrobe-header p{margin:0;color:#baaabd;font-size:12px}
.wardrobe-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.35fr);gap:24px;flex:1;min-height:0}
.wardrobe-preview-panel{display:flex;flex-direction:column;min-height:0;position:relative;border:1px solid #e6c2d62b;border-radius:20px;background:radial-gradient(ellipse at 50% 40%,#77556b55,transparent 65%),linear-gradient(135deg,#342736,#201a2b);overflow:hidden}
.wardrobe-preview-label{position:absolute;top:19px;left:20px;z-index:6;pointer-events:none}.wardrobe-preview-label span,.wardrobe-preview-label b{display:block}.wardrobe-preview-label span{color:#bda4ba;font:9px Georgia,serif;letter-spacing:2px}.wardrobe-preview-label b{margin-top:6px;font-size:15px;font-weight:500}
.wardrobe-preview{position:relative;flex:1;min-height:0;margin-top:58px}.wardrobe-preview:before{content:'';position:absolute;top:var(--wardrobe-floor-top,94%);left:15%;right:15%;height:6%;border-radius:50%;background:#d9adcb18;box-shadow:0 0 30px #d9adcb10}
#wardrobe-preview #live2d-canvas{inset:0;filter:none;transition:none;pointer-events:none}
#wardrobe-preview-status{position:absolute;inset:40% 10% auto;text-align:center;font-size:12px;color:#d4c2d2}
.wardrobe-preview-hint{flex:none;margin:12px;text-align:center;font-size:10px;color:#c4acc2;line-height:1.6}
.wardrobe-collection{display:flex;flex-direction:column;min-width:0;min-height:0}.wardrobe-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 14px}.wardrobe-collection-heading h3{margin:0;font-size:17px;font-weight:500}.wardrobe-collection-heading>span{color:#c4aec2;font-size:11px}
.wardrobe-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.wardrobe-filters button{padding:9px 11px;border:1px solid #e8c7d82b;border-radius:99px;background:transparent;color:#c8b4c5;cursor:pointer;font-size:11px}.wardrobe-filters button[aria-pressed=true]{background:#e7c0d4;border-color:#e7c0d4;color:#302135}
.wardrobe-collection .wardrobe-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:16px 10px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:5px 8px 12px 3px}
.wardrobe-card{position:relative;display:flex;flex-direction:column;align-items:center;align-self:start;min-width:0;padding:5px 5px 9px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;transition:background .18s,border-color .18s}
.wardrobe-card:hover{background:#ead0e312}.wardrobe-card[aria-pressed=true]{border-color:#efc0d5;background:#e9aeca15}.wardrobe-card:focus-visible,.wardrobe-filters button:focus-visible{outline:2px solid #ffe0ee;outline-offset:2px}
.wardrobe-card-art{display:grid;place-items:center;position:relative;width:100%;aspect-ratio:1/2.2;min-height:0}.wardrobe-card img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 6px #0004)}.wardrobe-card-status{display:block;margin-top:6px;font-size:11px;color:#b9a6bc}.wardrobe-card[aria-pressed=true] .wardrobe-card-status{color:#ffd4e7;font-weight:700}.wardrobe-image-fallback{display:grid;place-items:center;width:100%;height:100%;padding:8px;font-size:12px;line-height:1.7}
.wardrobe-empty{flex:1;margin:0;padding:30px 16px;text-align:center;color:#bba6bb;font-size:13px;line-height:1.9}.wardrobe-collection:has(.wardrobe-empty:not([hidden])) .wardrobe-toggles{flex:0;padding:0}
.wardrobe-feedback{min-height:18px;margin:12px 0 0;font-size:11px;line-height:1.6;color:#cbb6c8}.wardrobe-actions{flex:none;gap:7px;margin-top:10px}.wardrobe-actions button{min-height:44px;border-radius:10px;font-size:11px}.wardrobe-actions #wardrobe-done{background:#e7c0d4;border-color:#e7c0d4;color:#302135;font-weight:700}
@media(max-width:700px){
 .wardrobe-dialog{width:calc(100vw - 12px);height:94dvh;max-height:94dvh;border-radius:18px}.wardrobe-dialog .wardrobe-shell{padding:16px 10px}.wardrobe-header{margin-bottom:12px;padding-left:5px}.wardrobe-header h2{font-size:22px}.wardrobe-header p{font-size:10px}
 .wardrobe-layout{grid-template-columns:minmax(130px,.95fr) minmax(0,1.05fr);gap:9px}.wardrobe-preview-panel{border-radius:12px}.wardrobe-preview-label{top:15px;left:10px}.wardrobe-preview-label span{font-size:7px;letter-spacing:1px}.wardrobe-preview-label b{font-size:12px}.wardrobe-preview{margin-top:48px}.wardrobe-preview-hint{font-size:9px;margin:8px;word-break:keep-all}
 .wardrobe-collection-heading{display:block;margin:0 0 9px}.wardrobe-collection-heading h3{font-size:14px}.wardrobe-collection-heading>span{display:block;margin-top:5px;font-size:10px}.wardrobe-filters{gap:4px}.wardrobe-filters button{padding:8px;font-size:10px;min-height:34px}
 .wardrobe-collection .wardrobe-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 4px;padding:3px}.wardrobe-card{padding:2px 2px 6px;border-radius:8px}.wardrobe-card-status{font-size:9px}.wardrobe-feedback{font-size:10px}.wardrobe-actions{flex-wrap:wrap}.wardrobe-actions button{font-size:10px;padding:7px 4px}.wardrobe-actions #wardrobe-done{flex-basis:100%}
}
@media(max-height:500px){.wardrobe-dialog .wardrobe-shell{padding:12px}.wardrobe-header{margin-bottom:6px}.wardrobe-header h2{font-size:20px;margin:4px 0}.wardrobe-header p{display:none}.wardrobe-filters{margin-bottom:5px}.wardrobe-feedback{margin-top:4px}.wardrobe-actions{margin-top:4px}}

@media(max-width:480px){.wardrobe-collection .wardrobe-toggles{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px) and (max-aspect-ratio:1/1){
 .wardrobe-dialog{height:96dvh;max-height:96dvh}
 .wardrobe-dialog .wardrobe-shell{padding:12px 10px}
 .wardrobe-header{margin-bottom:8px}
 .wardrobe-header p{font-size:9px}
 .wardrobe-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(220px,.92fr) minmax(0,1.28fr);gap:9px}
 .wardrobe-preview-panel{min-height:0}
 .wardrobe-preview-label{top:10px;left:12px}
 .wardrobe-preview{margin-top:38px}
 .wardrobe-preview-hint{margin:4px 8px;font-size:8px}
 .wardrobe-collection{min-height:0}
 .wardrobe-collection-heading{display:flex;align-items:center;margin:0 0 5px}
 .wardrobe-collection-heading h3{font-size:13px}
 .wardrobe-collection-heading>span{margin:0;font-size:9px}
 .wardrobe-filters{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:5px;margin-bottom:6px;padding:2px 1px 5px;scrollbar-width:thin}
 .wardrobe-filters button{flex:0 0 auto;min-height:32px;padding:6px 9px;font-size:9px}
 .wardrobe-collection .wardrobe-toggles{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 5px;padding:3px 4px 8px}
 .wardrobe-card{padding:3px;border-radius:9px}
 .wardrobe-card-art{aspect-ratio:1/1.55}
 .wardrobe-card-status{margin-top:3px;font-size:9px}
 .wardrobe-feedback{min-height:14px;margin:4px 0 0;font-size:9px;line-height:1.35}
 .wardrobe-actions{gap:5px;margin-top:5px}
 .wardrobe-actions button{min-height:36px;padding:5px 4px;font-size:9px}
 .wardrobe-actions #wardrobe-done{flex:0 0 100%}
}

/* Picture-first outings; dialogue stays on top of the unlocked artwork. */
.memories-open{border-color:#c5b2e875;background:#32293fd9;color:#edddff}
.quick-menu{flex-wrap:wrap;justify-content:flex-end;max-width:92%}
.outing-scene{position:fixed;inset:0;margin:auto;width:min(1280px,98vw);height:min(880px,96dvh);max-width:98vw;max-height:96dvh;padding:0;border:1px solid #dec2d34d;border-radius:20px;background:#100e18;color:#fff4f9;overflow:hidden;isolation:isolate}
.outing-scene::backdrop{background:#0b0812dd;backdrop-filter:blur(10px)}
.outing-scene [hidden]{display:none!important}.outing-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.outing-heading{position:absolute;top:0;left:0;right:0;padding:24px 230px 40px 26px;background:linear-gradient(#100c19ba,transparent);pointer-events:none}.outing-heading span{font:10px Georgia,serif;letter-spacing:2px;color:#eed1e4}.outing-heading h2{margin:8px 0;font-size:24px;font-weight:500}
.outing-controls{position:absolute;top:18px;right:18px;display:flex;gap:8px;z-index:3}.outing-controls button{padding:10px 12px;border:1px solid #efd3e84d;border-radius:99px;background:#1e172ddd;color:#f9e7f4;font-size:11px;cursor:pointer;min-height:42px}
.outing-loading{position:absolute;top:40%;width:100%;text-align:center}.outing-dialogue{position:absolute;bottom:24px;left:4%;right:4%;padding:20px 24px;border:1px solid #edc4d977;border-radius:16px;background:linear-gradient(120deg,#20172ced,#302036e8);box-shadow:0 10px 40px #0005;backdrop-filter:blur(7px);max-height:52%;overflow:auto}.outing-speaker{font-size:13px;font-weight:700;color:#ffcde2}.outing-line{font-size:17px;line-height:1.85;white-space:pre-line;min-height:62px;margin:12px 0;word-break:keep-all}.outing-next{display:block;margin-left:auto;padding:10px 18px;border:1px solid #efc9da70;background:#f0c6d820;border-radius:9px;color:#ffe6f0;cursor:pointer;min-height:44px}.outing-page{position:absolute;left:24px;bottom:28px;font:11px Georgia,serif;color:#c5acc6}.outing-choices{display:grid;gap:8px}.outing-choices button{padding:12px;text-align:left;border:1px solid #f4cfe94d;border-radius:9px;background:#f5d4e80c;color:#ffeaf5;font-size:14px;line-height:1.6;cursor:pointer}.outing-choices button:hover{background:#f5d4e824}
.outing-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.outing-particles i{position:absolute;left:var(--x);top:-8%;width:6px;height:6px;border-radius:50%;background:#fff7d9;opacity:0;animation:outing-fall var(--duration) linear var(--delay) infinite}.outing-particles[data-effect=leaves] i{width:12px;height:19px;background:#c98d48aa;border-radius:0 80% 0 80%}.outing-particles[data-effect=snow] i{background:#fff;box-shadow:0 0 6px #fff6}.outing-particles[data-effect=stars] i,.outing-particles[data-effect=glow] i{top:calc(var(--x) * .65);animation-name:outing-glow;box-shadow:0 0 12px #ffe1a3}.outing-particles[data-effect=water] i{top:calc(40% + var(--x) * .45);width:30px;height:2px;background:#d1f8ff;animation-name:outing-glow}.outing-particles[data-effect=steam] i{top:80%;width:80px;height:130px;filter:blur(22px);background:#fffa;animation-name:outing-steam}
@keyframes outing-fall{0%{opacity:0;transform:translate(0,-20px) rotate(0)}15%{opacity:.65}85%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),95dvh) rotate(250deg)}}@keyframes outing-glow{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.6;transform:scale(1.2)}}@keyframes outing-steam{0%{opacity:0;transform:translateY(0)}40%{opacity:.2}100%{opacity:0;transform:translateY(-220px)}}
.memory-empty{grid-column:1/-1;text-align:center;padding:35px 12px;color:#cbb4c6;line-height:1.8}
@media(max-width:600px){.outing-scene{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.outing-heading{padding:76px 18px 25px}.outing-heading h2{font-size:18px}.outing-controls{top:14px;right:14px}.outing-dialogue{left:3%;right:3%;bottom:max(15px,env(safe-area-inset-bottom));padding:16px;max-height:48%}.outing-line{font-size:14px;line-height:1.8;min-height:70px}.outing-page{left:16px;bottom:29px}.outing-choices button{font-size:12px}.outing-art{object-fit:contain}.quick-menu .memories-open{font-size:11px}}
@media(prefers-reduced-motion:reduce){.outing-particles{display:none}}

.outing-scene::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#17101b66,#17101b99),var(--scene-art);background-size:cover;background-position:center;filter:blur(20px)}

@media(max-aspect-ratio:1/1){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats .stat{min-width:0;padding-inline:5px}.stats .stat-extra{font-size:7px;white-space:normal}.stats .stat>strong{overflow-wrap:anywhere}}
.stat-diamond strong{color:#aee8ff}.gacha-menu-balance{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.gacha-menu-balance b{color:#aee8ff}.gacha-menu-heading{margin:18px 0 10px;color:#f4e4ee;font-size:13px;font-weight:600}

.live-chat-dialog{width:min(1180px,96vw);height:min(780px,94dvh);max-width:none;max-height:94dvh;padding:0;border:1px solid #766b89;border-radius:22px;color:#f6efff;background:#15121e;overflow:hidden}
.live-chat-dialog::backdrop{background:#080611cf;backdrop-filter:blur(10px)}
.live-shell{height:100%;display:flex;flex-direction:column}.live-header{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #ffffff1c}.live-header strong{font-size:18px}.live-header small{display:block;font-size:12px;color:#b5a6c3;margin-top:4px}.live-badge{background:#b93058;padding:7px 10px;border-radius:6px;font-size:11px;font-weight:bold;letter-spacing:.08em}.live-viewers{margin-left:auto;font-size:12px;color:#dbcedf}
.live-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);flex:1;min-height:0}.live-stage{position:relative;overflow:hidden;background-size:cover;background-position:center}.live-stage #live2d-canvas{filter:none!important;pointer-events:none}.live-subtitle{position:absolute;z-index:8;bottom:20px;left:20px;right:20px;padding:15px 18px;border:1px solid #ffffff30;border-radius:14px;background:#1a1325e8;box-shadow:0 8px 32px #0005}.live-subtitle small{color:#efb7d4;font-size:11px}.live-subtitle p{font-size:16px;line-height:1.7;margin:6px 0 0;word-break:keep-all}
.live-chat-panel{min-height:0;display:flex;flex-direction:column;border-left:1px solid #ffffff1c;background:#1c1727}.live-chat-panel h2{font-size:12px;font-weight:500;padding:16px 20px;margin:0;border-bottom:1px solid #ffffff14;color:#cdbddb}.live-messages{flex:1;min-height:70px;overflow-y:auto;padding:16px 18px;overscroll-behavior:contain}.live-message{margin:0 0 14px;font-size:13px;line-height:1.65;overflow-wrap:anywhere;animation:live-chat-rise .25s ease-out}.live-message b{color:#bcabd9;margin-right:9px;font-size:11px}.live-message span{white-space:pre-line}.live-message.eve{padding:10px 12px;border-radius:9px;background:#e9b4d011}.live-message.eve b{color:#efb7d4}.live-message.intruder{border-left:2px solid #bb6584;padding-left:10px}.live-message.system{color:#b1d8c0;font-size:11px}.live-response{padding:12px 16px;border-top:1px solid #ffffff22;background:#272031;max-height:55%;overflow-y:auto}.live-response[hidden]{display:none}.live-response>p{font-size:12px;line-height:1.5;color:#d9c6df;margin:0 0 10px}.live-options{display:grid;gap:8px}.live-options button{min-height:48px;text-align:left;background:#352b44;border:1px solid #867293;border-radius:10px;padding:12px;font-size:12px;line-height:1.6;cursor:pointer}.live-options button:hover{background:#4c3c5d}.live-options button:focus-visible{outline:2px solid #f2bdda;outline-offset:2px}
.live-footer{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid #ffffff22}.live-status{font-size:11px;color:#c4b3cc;flex:1;line-height:1.5}.live-footer button{min-height:44px;background:#34283e;border:1px solid #806987;border-radius:9px;padding:8px 14px;cursor:pointer;font-size:12px}.live-footer .live-stop{background:#e5b5d0;color:#302037;border:0}
@keyframes live-chat-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.live-chat-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.live-header{padding:12px 14px;gap:10px}.live-header strong{font-size:15px}.live-header small,.live-viewers{font-size:10px}.live-body{display:flex;flex-direction:column}.live-stage{flex:0 0 42%;min-height:180px}.live-chat-panel{flex:1;border-left:0;border-top:1px solid #ffffff1c;min-height:0}.live-chat-panel h2{padding:9px 14px}.live-subtitle{bottom:10px;left:10px;right:10px;padding:9px 12px}.live-subtitle p{font-size:13px;line-height:1.5}.live-messages{padding:10px 14px}.live-message{font-size:12px;margin-bottom:9px}.live-response{max-height:65%;padding:8px 12px}.live-options{gap:6px}.live-options button{padding:8px 10px;min-height:44px;font-size:11px}.live-footer{gap:8px;padding:8px 10px max(8px,env(safe-area-inset-bottom));flex-wrap:wrap}.live-status{flex-basis:100%}.live-footer button{flex:1}.live-badge{font-size:10px}}
@media(prefers-reduced-motion:reduce){.live-message{animation:none}}

/* The selected ending movie leads into the large, specific title card. */
.ending-screen.ending-cinematic{position:fixed;inset:0;z-index:9000;display:block;padding:0;overflow:hidden;background:#09070d}.ending-screen.ending-cinematic[hidden]{display:none}.ending-cinematic #ending-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#08070b}.ending-cinematic:after{content:"";position:absolute;inset:40% 0 0;pointer-events:none;background:linear-gradient(transparent,#100c17a8)}.ending-caption-panel{position:absolute;z-index:2;bottom:7%;left:50%;width:min(820px,88vw);transform:translateX(-50%);padding:19px 23px;border:1px solid #f4e1e757;border-radius:16px;background:#15111be8;text-align:left;box-shadow:0 12px 60px #0009}.ending-caption-panel>span{font-size:11px;color:#f1bfd6}.ending-caption-panel p{margin:7px 0 14px;font:clamp(16px,2.4vw,24px)/1.75 'AppleMyungjo','Batang',serif;white-space:pre-line;word-break:keep-all}.ending-caption-panel button,.ending-actions button{min-height:44px;padding:10px 18px;border:1px solid #f0cbdc76;border-radius:9px;background:#382b40;color:#fff;font-size:12px;cursor:pointer}.ending-actions{position:absolute;z-index:3;right:20px;top:20px;display:flex;gap:9px}.ending-title-card{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:7vw 8vw;text-align:center;background:radial-gradient(ellipse at 50% 35%,#39273eec,#100d16f5 72%);overflow-y:auto;animation:ending-title-in 1.2s ease both}.ending-title-card[hidden]{display:none}.ending-title-card .eyebrow{font-size:11px}.ending-title-card h1{margin:12px 0 8px;font:400 clamp(36px,7vw,76px)/1.3 'AppleMyungjo','Batang',serif;color:#fff1f5;text-shadow:0 0 38px #e8afce52;word-break:keep-all}.ending-title-card>p{max-width:680px;color:#e5d6e2;font:clamp(14px,1.7vw,18px)/1.95 'AppleMyungjo','Batang',serif;white-space:pre-line}.ending-title-card #ending-summary{margin:12px 0;color:#c5b5c5;font-size:11px}.ending-title-card #ending-letter{font-size:14px;color:#f3d4e0}.ending-title-card>button{flex-shrink:0;margin-top:10px;padding:13px 24px;border:1px solid #f0cada;background:#ebc2d5;color:#312333;font-size:13px;cursor:pointer}@keyframes ending-title-in{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(max-aspect-ratio:1/1){.ending-caption-panel{bottom:max(8%,env(safe-area-inset-bottom));width:calc(100vw - 30px);padding:14px 16px}.ending-actions{right:10px;top:max(10px,env(safe-area-inset-top));flex-direction:column}.ending-actions button{min-height:40px;padding:8px 10px;font-size:10px}.ending-title-card{padding:max(38px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom))}.ending-title-card h1{font-size:clamp(34px,10vw,54px)}}
@media(prefers-reduced-motion:reduce){.ending-title-card{animation:none}}
@media(max-width:560px){.skill-shell{padding:21px 17px}.cafe-workbench{grid-template-columns:minmax(110px,.75fr) 1.25fr;gap:12px;padding:12px}.cafe-cup-wrap{min-height:205px}.cafe-cup{height:180px;width:min(122px,82%)}.cafe-cup-base{width:90px}.cafe-step-info>strong{font-size:19px}.cafe-step-info>p{font-size:11px}.cafe-recipe-chip{font-size:8px;padding:5px 7px}}
.hair-dialog{position:fixed;inset:50% auto auto max(16px,calc(50vw - 760px));transform:translateY(-50%);margin:0;width:min(410px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border-radius:22px;background:#211927f2;box-shadow:0 18px 70px #08050cc9}
.hair-dialog::backdrop{background:#08050b80;backdrop-filter:none}
.hair-shell{padding:28px}.hair-shell h2{margin:10px 0}.hair-shell>p{margin:0 0 16px;font-size:13px;line-height:1.65}
.hair-model-preview{display:none}
.hair-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hair-options button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:73px;padding:14px;border:1px solid #f1d7e447;border-radius:13px;background:#ffffff0a;text-align:left;cursor:pointer}
.hair-options button:hover,.hair-options button:focus-visible{border-color:#f0c6dc;background:#e8bbd022;outline:none}
.hair-options button[aria-pressed=true]{border-color:#f4bad9;background:#e8a9cb30;box-shadow:inset 0 0 0 1px #f4bad988}
.hair-options strong{font-size:14px}.hair-options span{color:#d4b9cc;font-size:11px}
.hair-preview-name{min-height:21px;margin:15px 0!important;color:#f0c3d8!important}
.hair-confirm{width:100%;min-height:48px;padding:11px 16px;border:1px solid #f4c9db;border-radius:12px;background:#e8bfd4;color:#2d1d30;font-size:14px;font-weight:700;cursor:pointer}
.hair-confirm:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px),(max-aspect-ratio:1/1){.hair-dialog{inset:auto 0 0;width:min(100vw,520px);max-height:min(90dvh,720px);margin:0 auto;transform:none;border-radius:20px 20px 0 0;overflow:auto}.hair-shell{padding:20px 18px max(20px,env(safe-area-inset-bottom))}.hair-shell h2{font-size:24px}.hair-model-preview{display:block;position:relative;height:clamp(130px,22dvh,210px);margin:0 0 15px;overflow:hidden;border:1px solid #f1d7e447;border-radius:14px;background:radial-gradient(ellipse at 50% 45%,#82647b88,#332739 70%)}.hair-model-preview #live2d-canvas{filter:none!important;transition:none;pointer-events:none}.hair-options button{min-height:65px;padding:11px}.hair-dialog::backdrop{background:linear-gradient(#08050b35,#08050b85)}}
@media(max-width:900px) and (max-height:640px){.hair-dialog{max-height:calc(100dvh - env(safe-area-inset-top))}.hair-shell{padding:12px 14px max(12px,env(safe-area-inset-bottom))}.hair-shell h2{margin:6px 0;font-size:22px}.hair-shell>p{margin-bottom:10px;font-size:12px;line-height:1.45}.hair-model-preview{height:115px;margin-bottom:10px}.hair-options{gap:6px}.hair-options button{min-height:56px;padding:7px}.hair-preview-name{margin:8px 0!important}.hair-confirm{min-height:44px}}
.skill-dialog{width:min(850px,95vw)}.skill-shell{padding:clamp(24px,4vw,38px)}.skill-shell h2{font-size:clamp(29px,4vw,40px);letter-spacing:.02em}.cafe-recipe-note{font-size:14px!important}.cafe-order-progress{font-size:12px}.cafe-workbench{grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:clamp(22px,4vw,42px);padding:clamp(20px,4vw,36px);border-radius:24px;background:radial-gradient(ellipse at 24% 60%,#e6c38b20,transparent 43%),linear-gradient(145deg,#352637,#201b29 70%,#29232d);box-shadow:inset 0 1px #fff2,0 18px 50px #07060c55}.cafe-cup-wrap{position:relative;min-height:360px;justify-content:flex-end;padding:26px 0 0}.cafe-cup{z-index:1;width:218px;height:294px;border:3px solid #f8f3edb0;border-top:2px solid #fff;border-radius:16px 16px 48px 48px;background:linear-gradient(90deg,#ffffff42,#ffffff0c 18%,#ffffff05 50%,#ffffff16 83%,#ffffff55);box-shadow:inset 15px 0 22px #fff2,inset -13px 0 18px #fff2,0 22px 32px #08060c88,0 0 0 1px #fff3;backdrop-filter:blur(2px)}.cafe-cup:before{z-index:8;top:-3px;left:-4px;right:-4px;height:13px;border:3px solid #fff;border-radius:9px;background:linear-gradient(#fff9,#ffffff25);box-shadow:0 3px 5px #100b1b55}.cafe-cup:after{z-index:7;top:18px;bottom:20px;left:22px;width:15px;border-radius:20px;background:linear-gradient(90deg,#ffffff6b,#ffffff03);pointer-events:none}.cafe-liquid{z-index:1;inset:8px 3px 3px;border-radius:10px 10px 40px 40px}.cafe-liquid-layer{opacity:.95;box-shadow:inset 0 4px 5px #fff7,0 -2px 4px #fff4}.cafe-current-pour{opacity:.98;box-shadow:inset 0 4px 6px #fff8,0 -2px 5px #fff5}.cafe-cup-handle{position:absolute;z-index:0;right:calc(50% - 143px);bottom:95px;width:73px;height:133px;border:14px solid #f8f3edb3;border-left:0;border-radius:0 45px 45px 0;box-shadow:inset -8px 0 9px #fff4,5px 8px 14px #08060c55}.cafe-cup-brand{position:absolute;z-index:9;top:48%;left:50%;transform:translate(-50%,-50%);width:65px;height:55px;display:grid;align-content:center;border:1px solid #fff9;border-radius:10px;background:#f7e9dfba;color:#5c3f44;text-align:center;font:700 13px Georgia,serif;letter-spacing:.12em;box-shadow:0 3px 12px #08060c2b;pointer-events:none}.cafe-cup-brand small{font-size:7px;letter-spacing:.22em}.cafe-cup-volume{z-index:10;right:12px;bottom:11px;padding:3px 6px;border-radius:8px;background:#19131a8c;color:#fff;font-size:10px}.cafe-target-line{z-index:11;height:3px;background:#fff0a3;box-shadow:0 0 8px #ffe28c,0 0 17px #ffe28caa}.cafe-target-line span{right:-8px;top:-5px;width:12px;height:12px;box-shadow:0 0 9px #ffe28c}.cafe-saucer{position:absolute;z-index:0;bottom:20px;left:50%;width:265px;height:39px;transform:translateX(-50%);border:2px solid #fff9;border-radius:50%;background:radial-gradient(ellipse at center,#f8f1e8 0 38%,#dbcacb 41% 54%,#fff8f3 58% 72%,#bca9b6 75% 80%,#554254 83%);box-shadow:0 15px 22px #07060c70}.cafe-cup-base{z-index:2;width:117px;height:10px;margin-top:-2px;background:#ffffff56;filter:blur(3px)}.cafe-stream{position:absolute;z-index:5;top:0;left:50%;width:7px;height:0;transform:translateX(-50%);border-radius:0 0 8px 8px;background:linear-gradient(90deg,#5a392d,#9a6a4c 48%,#553426);opacity:0;filter:drop-shadow(0 0 4px #efcda844);transition:height .12s,opacity .12s}.skill-shell.is-pouring .cafe-stream{height:77px;opacity:.95;animation:cafe-stream-pulse .32s ease-in-out infinite alternate}.skill-shell.is-pouring .cafe-stream:after{content:"";position:absolute;bottom:-4px;left:-3px;width:13px;height:8px;border-radius:50%;background:#96694d;filter:blur(1px)}.cafe-station-sparkle{position:absolute;z-index:4;top:64px;right:19px;color:#f4d593;font-size:24px;text-shadow:0 0 16px #f5d99a;opacity:.8;animation:cafe-sparkle 2s ease-in-out infinite}.cafe-step-info{padding:8px 0}.cafe-step-overline{color:#e2c1cf;font-size:11px;letter-spacing:.07em}.cafe-step-info>strong{margin:13px 0 15px;font-size:clamp(26px,3.2vw,36px)}.cafe-step-info>p{font-size:14px;line-height:2.1}.cafe-progress-track{height:7px;margin:17px 0 12px}.cafe-step-info small{font-size:12px}.cafe-recipe-chip{padding:8px 12px;font-size:10px}.cafe-controls-hint{font-size:11px}.cafe-pour-button{border-radius:13px;font-size:16px}.cafe-pour-button.is-pouring{background:#e3afbd;box-shadow:0 0 25px #f2bdce66, inset 0 1px #fff9}.cafe-workbench.is-pouring{box-shadow:inset 0 0 35px #e5b8c01c,0 18px 50px #07060c55}@keyframes cafe-stream-pulse{from{transform:translateX(-50%) scaleX(.78)}to{transform:translateX(-50%) scaleX(1.2)}}@keyframes cafe-sparkle{0%,100%{transform:scale(.8) rotate(-12deg);opacity:.45}50%{transform:scale(1.2) rotate(14deg);opacity:1}}
@media(max-width:620px){.skill-dialog{width:min(96vw,560px)}.skill-shell{padding:21px 17px}.cafe-workbench{grid-template-columns:minmax(130px,.78fr) 1.22fr;gap:12px;padding:15px}.cafe-cup-wrap{min-height:265px}.cafe-cup{width:154px;height:220px;border-radius:12px 12px 36px 36px}.cafe-cup-handle{right:calc(50% - 103px);bottom:76px;width:52px;height:95px;border-width:10px}.cafe-saucer{width:194px;height:30px}.cafe-cup-brand{width:52px;height:45px;font-size:10px}.cafe-cup-volume{font-size:8px}.cafe-stream{top:11px}.skill-shell.is-pouring .cafe-stream{height:53px}.cafe-station-sparkle{top:58px;right:4px}.cafe-step-info>strong{font-size:23px}.cafe-step-info>p{font-size:12px}.cafe-recipe-chip{padding:6px 8px;font-size:9px}}
@media(max-width:410px){.cafe-workbench{grid-template-columns:120px minmax(0,1fr);gap:10px;padding:11px}.cafe-cup{width:135px;height:200px}.cafe-cup-handle{right:calc(50% - 94px);bottom:75px;width:46px;height:86px}.cafe-saucer{width:174px}.cafe-step-info>strong{font-size:20px}.cafe-step-info>p{font-size:11px}.cafe-step-overline{font-size:9px}.cafe-cup-wrap{min-height:240px}}

.skill-shell.is-pouring .cafe-workbench{box-shadow:inset 0 0 35px #e5b8c01c,0 18px 50px #07060c55}
#open-ending-test[hidden],#intro-ending-test[hidden],#choice-ending-test[hidden],#ending-open-test[hidden],#ending-test-dialog[hidden]{display:none!important}
