/* Premium full-product skin: title, archive pages, and game chrome. */
:root {
  --ink:#2f2730;--muted:#736873;--cream:#fffaf5;
  --panel:rgba(255,250,246,.91);--panel-strong:rgba(255,253,249,.97);
  --orange:#e96586;--orange-deep:#c9466c;--purple:#b65578;--purple-dark:#3b2935;
  --rose:#ef6f91;--rose-deep:#cc466d;--champagne:#e7bd7c;--night:#14121a;
}
button,input{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible{outline:2px solid rgba(255,211,225,.96);outline-offset:3px}

/* Full-bleed title */
.title-screen{
  position:absolute;inset:0;z-index:44;min-width:900px;min-height:620px;overflow:visible;
  color:#fff9f6;background:#100e15;isolation:isolate;
  font-family:"Pretendard","Noto Sans KR","Segoe UI",sans-serif;
  transition:opacity .32s ease,visibility .32s ease,transform .32s ease
}
.title-screen::before,.title-screen::after{content:none}
.title-art{position:absolute;inset:0;z-index:-5;margin:0;overflow:hidden;background:#131018}
.title-art img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.98) contrast(1.02) brightness(.88);transform:scale(1.012);
  animation:titleBreath 18s ease-in-out infinite alternate
}
.title-grade{
  position:absolute;inset:0;z-index:-4;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(10,9,15,.96),rgba(13,11,18,.89) 20%,rgba(15,12,20,.42) 43%,rgba(10,9,15,.04) 66%,rgba(10,8,14,.42)),
    linear-gradient(180deg,rgba(8,7,12,.62),transparent 27%,transparent 66%,rgba(8,7,12,.82)),
    radial-gradient(circle at 56% 36%,transparent 0 18%,rgba(8,6,11,.14) 54%,rgba(8,6,11,.48))
}
.title-rain{
  position:absolute;inset:-12% 48% -12% 0;z-index:-3;pointer-events:none;opacity:.14;
  transform:skewX(-8deg);background-image:repeating-linear-gradient(110deg,transparent 0 17px,rgba(209,225,255,.3) 18px,transparent 19px 38px);
  background-size:170px 230px;animation:titleRain 14s linear infinite;mask-image:linear-gradient(90deg,#000,transparent)
}
.title-topbar{
  position:absolute;top:clamp(24px,3.4vh,44px);left:clamp(38px,4.2vw,84px);right:clamp(38px,4.2vw,84px);
  z-index:24;display:flex;align-items:center;justify-content:space-between;pointer-events:none
}
.title-studio,.title-utilities{pointer-events:auto}
.title-studio{display:flex;align-items:center;gap:11px;color:rgba(255,247,244,.94)}
.studio-mark{
  display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,220,229,.58);
  border-radius:8px;color:#ffd1dc;background:rgba(18,15,23,.45);font:800 11px/1 Georgia,serif;
  letter-spacing:.08em;backdrop-filter:blur(12px)
}
.title-studio>span:last-child{display:grid;gap:2px}
.title-studio strong{font-size:11px;font-weight:850;letter-spacing:.16em}
.title-studio small{color:rgba(255,235,231,.56);font-size:9px;font-weight:700;letter-spacing:.12em}
.title-utilities{display:flex;gap:9px}
.title-utility{
  display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:8px;
  color:rgba(255,247,244,.86);background:rgba(18,15,24,.48);box-shadow:0 12px 32px rgba(0,0,0,.18);
  cursor:pointer;backdrop-filter:blur(14px);transition:.16s ease
}
.title-utility svg,.title-action svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.title-utility svg{width:21px;height:21px}
.title-utility:hover{color:#fff;border-color:rgba(255,176,200,.62);background:rgba(204,70,109,.62);transform:translateY(-1px)}
.title-utility.is-muted{color:rgba(255,255,255,.4);border-color:rgba(255,255,255,.1)}

.title-home{position:absolute;inset:0;z-index:4;transition:opacity .24s,transform .24s,filter .24s}
.title-copy{
  position:absolute;top:clamp(88px,10.5vh,126px);left:clamp(42px,5vw,96px);z-index:8;
  display:flex;flex-direction:column;align-items:flex-start;width:min(470px,32vw);padding:0;text-align:left;transform:none
}
.title-kicker{
  display:inline-flex;align-items:center;min-height:22px;padding:4px 9px;border:1px solid rgba(255,194,210,.48);
  border-radius:4px;color:#ffd6df;background:rgba(178,58,93,.28);box-shadow:none;
  font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(9px)
}
.title-logo{
  margin-top:12px;color:#fff9f5;font-family:"Noto Serif KR","Batang",Georgia,serif;
  font-size:clamp(39px,2.85vw,54px);font-weight:760;line-height:1.04;letter-spacing:0;
  text-shadow:0 5px 30px rgba(0,0,0,.46);white-space:normal
}
.title-logo span{display:block}.title-logo span:last-child{color:#ffb2c7}
.title-en{
  margin-top:9px;color:rgba(255,235,230,.72);font:600 clamp(10px,.78vw,13px)/1.2 Georgia,serif;
  letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.4)
}
.title-tagline{
  width:100%;margin-top:12px;color:rgba(255,245,241,.74);font-size:12px;font-weight:600;
  line-height:1.65;letter-spacing:.02em;word-break:keep-all;text-shadow:0 2px 14px rgba(0,0,0,.5)
}
.title-actions{display:grid;gap:6px;width:min(326px,100%);margin-top:20px}
.title-action{
  position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;
  min-height:48px;padding:6px 13px 6px 8px;overflow:hidden;border:1px solid rgba(255,255,255,.13);
  border-radius:8px;color:rgba(255,249,246,.9);background:linear-gradient(90deg,rgba(25,21,31,.8),rgba(25,21,31,.52));
  box-shadow:0 11px 26px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.05);
  text-align:left;cursor:pointer;backdrop-filter:blur(13px);transition:.16s ease
}
.title-action::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent;transition:.16s}
.title-action::after{content:none}
.title-action .action-icon{
  position:static;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.13);
  border-radius:7px;color:#e7bdc9;background:rgba(255,255,255,.055);box-shadow:none;font-size:0;transform:none
}
.title-action svg{width:19px;height:19px}
.title-action strong{display:grid;gap:2px;min-width:0;color:inherit;font-size:13px;font-weight:780;line-height:1.05;text-transform:none}
.title-action strong small{display:block;color:rgba(255,231,229,.43);font-size:8.5px;font-weight:700;letter-spacing:.12em}
.title-action .action-arrow{
  position:static;display:block;width:auto;height:auto;color:rgba(255,255,255,.36);background:none;box-shadow:none;
  font:300 24px/1 Georgia,serif;transform:none;transition:.16s ease
}
.title-action.primary{
  border-color:rgba(255,173,198,.6);color:#fff;
  background:linear-gradient(100deg,rgba(218,72,113,.94),rgba(234,99,137,.76));
  box-shadow:0 14px 32px rgba(163,37,77,.25),inset 0 1px 0 rgba(255,255,255,.2)
}
.title-action.primary .action-icon{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.13)}
.title-action.archive .action-icon{color:#e9c38f}.title-action.chapter-select .action-icon{color:#f3a9c1}.title-action.subtle{opacity:.78}
.title-action:hover,.title-action:focus-visible{
  border-color:rgba(255,177,202,.6);background:linear-gradient(90deg,rgba(78,39,57,.92),rgba(39,28,41,.7));
  box-shadow:0 16px 34px rgba(0,0,0,.2);filter:none;transform:translateX(4px);outline:none
}
.title-action:hover::before,.title-action:focus-visible::before{background:#f0799b}
.title-action:hover .action-arrow{color:#ffd1dc;transform:translateX(3px)}
.title-action:active{transform:translateX(4px) scale(.988)}
.title-action[disabled]{cursor:not-allowed;opacity:.34;filter:grayscale(.35);transform:none}

.title-memory-note{
  position:absolute;top:13.5vh;right:clamp(48px,5.5vw,110px);z-index:7;width:min(310px,22vw);
  padding:17px 18px 16px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:rgba(255,246,242,.92);
  background:linear-gradient(135deg,rgba(24,19,30,.68),rgba(34,25,38,.42));
  box-shadow:0 18px 46px rgba(0,0,0,.2);backdrop-filter:blur(15px);transform:rotate(-1deg)
}
.title-memory-note>span{color:#f1a5ba;font-size:8px;font-weight:850;letter-spacing:.15em}
.title-memory-note p{margin-top:11px;font-family:"Noto Serif KR","Batang",serif;font-size:clamp(14px,1vw,17px);line-height:1.65}
.title-memory-note small{display:block;margin-top:9px;color:rgba(255,235,231,.5);font-size:9px}

.title-dashboard{
  position:absolute;left:clamp(42px,5vw,96px);right:clamp(42px,5vw,96px);bottom:clamp(24px,3.2vh,42px);
  z-index:9;display:flex;align-items:flex-end;justify-content:space-between;gap:26px;pointer-events:none
}
.title-now-playing,.title-record-status{pointer-events:auto;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(20,17,26,.7);box-shadow:0 16px 40px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
.title-now-playing{
  position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) auto;grid-template-rows:auto 4px;
  gap:0 12px;width:min(520px,42vw);min-height:78px;padding:11px 12px;color:#fff8f5
}
.title-now-playing>img{grid-row:1/3;width:54px;height:54px;border-radius:6px;object-fit:cover;box-shadow:0 8px 18px rgba(0,0,0,.22)}
.track-copy{align-self:center;display:grid;min-width:0;gap:2px}
.track-copy span,.title-record-status>span{color:#ef8eaa;font-size:8px;font-weight:850;letter-spacing:.14em}
.track-copy select{
  width:100%;min-width:0;padding:0 22px 0 0;border:0;border-radius:0;color:#fff8f5;
  background:linear-gradient(45deg,transparent 50%,#ef8eaa 50%) right 4px center/5px 5px no-repeat transparent;
  font:700 13px/1.35 Georgia,"Noto Serif KR",serif;cursor:pointer;outline:none;appearance:none
}
.track-copy select:focus-visible{box-shadow:0 2px 0 #ef8eaa}
.track-copy select option{color:#271e28;background:#fff8f5;font-family:"Noto Sans KR",sans-serif}
.track-copy small{overflow:hidden;color:rgba(255,237,232,.5);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
.title-track-controls{align-self:center;display:flex;gap:5px}
.title-now-playing button{
  align-self:center;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.16);
  border-radius:50%;color:#fff;background:rgba(255,255,255,.07);cursor:pointer;transition:.16s
}
.title-now-playing #titleMusicToggle{background:rgba(226,86,126,.82)}
.title-now-playing button:hover{border-color:rgba(255,255,255,.38);background:#e96388;transform:scale(1.05)}
.title-now-playing button span{font-size:11px;font-weight:900}
.track-progress{grid-column:2;align-self:end;height:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.11)}
.track-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e95f86,#efc08f);transition:width .45s linear}
.title-now-playing time{grid-column:3;align-self:end;color:rgba(255,235,231,.48);font-size:8px;text-align:center}
.title-record-status{
  display:grid;grid-template-columns:auto repeat(3,minmax(64px,auto));align-items:center;gap:19px;min-height:78px;padding:12px 16px
}
.title-record-status div{display:grid;gap:2px;padding-left:17px;border-left:1px solid rgba(255,255,255,.1)}
.title-record-status strong{color:#fff7f3;font-size:14px;font-weight:780}
.title-record-status small{color:rgba(255,235,231,.48);font-size:8.5px}

/* Unified title subpages */
.title-page{
  position:absolute;inset:0;z-index:30;display:none;grid-template-rows:auto minmax(0,1fr);gap:25px;
  min-width:900px;padding:clamp(82px,9vh,112px) clamp(52px,6vw,116px) clamp(38px,5vh,64px);
  border:0;border-radius:0;color:#fff7f4;
  background:linear-gradient(100deg,rgba(14,12,18,.96),rgba(18,14,22,.9) 46%,rgba(13,11,17,.84));
  box-shadow:none;backdrop-filter:blur(14px) saturate(.82)
}
.title-screen[data-page="chapters"] #titleChapterPage,
.title-screen[data-page="photos"] #titlePhotoPage,
.title-screen[data-page="rewards"] #titleRewardPage,
.title-screen[data-page="endings"] #titleEndingPage,
.title-screen[data-page="load"] #titleLoadPage,
.title-screen[data-page="settings"] #titleSettingsPage{display:grid;animation:titlePageIn .22s ease-out both}
.title-screen:not([data-page="home"]) .title-home{opacity:0;pointer-events:none;transform:scale(.992);filter:blur(4px)}
.title-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}
.title-page-head h2{
  margin:8px 0 5px;color:#fff9f5;font-family:"Noto Serif KR","Batang",serif;
  font-size:clamp(34px,3vw,52px);font-weight:700;line-height:1;text-shadow:0 4px 22px rgba(0,0,0,.3)
}
.title-page-head span{color:rgba(255,237,232,.54);font-size:12px;font-weight:600}
.title-back-btn{
  min-width:104px;min-height:40px;padding:0 17px;border:1px solid rgba(255,255,255,.18);border-radius:8px;
  color:rgba(255,249,246,.9);background:rgba(255,255,255,.06);box-shadow:none;font-size:11px;font-weight:750;cursor:pointer
}
.title-back-btn:hover{border-color:rgba(255,177,201,.58);background:rgba(207,67,107,.5);transform:translateX(-2px)}
.title-chapter-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;min-height:0;
  overflow:auto;padding:3px 8px 12px 1px;scrollbar-width:thin;scrollbar-color:rgba(238,111,146,.52) rgba(255,255,255,.06)
}
.title-chapter-card{
  display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:104px;padding:15px 17px;
  border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff7f4;background:linear-gradient(120deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow:0 14px 34px rgba(0,0,0,.16);text-align:left;cursor:pointer;backdrop-filter:blur(9px);transition:.16s ease
}
.title-chapter-card:hover,.title-chapter-card:focus-visible{
  border-color:rgba(242,144,171,.5);background:linear-gradient(120deg,rgba(108,55,75,.54),rgba(49,31,44,.34));
  box-shadow:0 18px 38px rgba(0,0,0,.22);transform:translateY(-2px);outline:none
}
.chapter-index{
  display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(242,158,183,.35);border-radius:8px;
  color:#f6b2c6;background:rgba(203,67,107,.14);font:800 12px/1 Georgia,serif;letter-spacing:.06em
}
.chapter-copy{display:grid;min-width:0;gap:5px}.chapter-copy small{color:#ed8fad;font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.chapter-copy strong{color:#fff8f5;font-family:"Noto Serif KR","Batang",serif;font-size:16px;font-weight:720;line-height:1.25}
.chapter-copy span{overflow:hidden;color:rgba(255,237,232,.52);font-size:10.5px;font-weight:560;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.chapter-jump{color:rgba(255,210,222,.55);font:300 27px/1 Georgia,serif;transition:.16s}.title-chapter-card:hover .chapter-jump{color:#ffd1dc;transform:translateX(3px)}
.title-archive-grid,.title-ending-list,.title-save-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:16px;min-height:0;
  overflow:auto;padding:3px 8px 12px 1px;scrollbar-width:thin;scrollbar-color:rgba(238,111,146,.52) rgba(255,255,255,.06)
}
.title-archive-grid{grid-auto-rows:max-content;align-items:start}
.title-archive-grid.rewards{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(260px,max-content)}
.title-archive-card,.title-ending-card{
  display:grid;align-content:start;gap:9px;min-height:0;padding:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
  border-radius:8px;color:#fff5f2;background:rgba(255,255,255,.055);box-shadow:0 13px 34px rgba(0,0,0,.16);
  text-decoration:none;backdrop-filter:blur(9px);transition:.16s
}
.title-archive-card:hover{border-color:rgba(242,144,171,.44);background:rgba(87,48,64,.36);transform:translateY(-2px)}
.title-archive-card img,.title-locked-art{
  display:grid;place-items:center;width:100%;aspect-ratio:16/9;border-radius:6px;object-fit:cover;
  background:linear-gradient(135deg,rgba(102,65,80,.56),rgba(26,22,30,.88));color:rgba(255,255,255,.5);
  font-size:9px;font-weight:800;letter-spacing:.14em
}
.title-archive-card strong,.title-ending-card strong{color:#f2a2b8;font-size:13px;font-weight:780}
.title-archive-card span,.title-ending-card p{color:rgba(255,237,232,.5);font-size:11px;font-weight:560;line-height:1.48}
.title-archive-card.locked,.title-ending-card.locked{opacity:.5;filter:saturate(.55)}
.title-empty-card{
  grid-column:1/-1;display:grid;place-items:center;min-height:260px;padding:28px;border:1px dashed rgba(237,116,151,.34);
  border-radius:8px;color:rgba(255,237,232,.54);background:rgba(255,255,255,.035);text-align:center
}
.title-empty-card strong{color:#f2a2b8;font-size:18px}.title-empty-card span{max-width:520px;margin-top:8px;font-size:12px;line-height:1.55}
.title-ending-card{min-height:164px;padding:17px}
.title-ending-card>span{
  justify-self:start;padding:4px 8px;border:1px solid rgba(239,135,165,.35);border-radius:4px;
  color:#f4afc2;background:rgba(196,62,101,.18);font-size:8px;font-weight:850;letter-spacing:.1em
}
.title-save-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.title-save-grid .save-slot{
  display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;min-height:122px;padding:10px;
  border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff7f4;background:rgba(255,255,255,.05);box-shadow:0 14px 34px rgba(0,0,0,.16)
}
.title-save-grid .slot-thumb{width:150px;height:100px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background-position:center;background-size:cover}
.title-save-grid .slot-thumb.empty{display:grid;place-items:center;color:rgba(255,255,255,.3);background:rgba(255,255,255,.035);font-size:9px;letter-spacing:.14em}
.title-save-grid .slot-info{display:grid;align-content:center;min-width:0;gap:4px}
.title-save-grid .slot-info strong{color:#f4a8bc;font-size:12px}
.title-save-grid .slot-info span,.title-save-grid .slot-info em,.title-save-grid .slot-info small{
  overflow:hidden;color:rgba(255,240,236,.56);font-size:10px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap
}
.title-save-grid .slot-actions{display:grid;align-content:center;gap:7px}
.title-save-grid .slot-actions button{
  min-width:72px;min-height:32px;border:1px solid rgba(255,255,255,.13);border-radius:6px;
  color:rgba(255,249,246,.84);background:rgba(255,255,255,.055);font-size:10px;font-weight:730;cursor:pointer
}
.title-save-grid .slot-actions button:first-child{border-color:rgba(238,112,147,.42);background:rgba(199,62,101,.42)}
.title-save-grid .slot-actions button:disabled{cursor:not-allowed;opacity:.25}

.title-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;min-height:0;overflow:auto;padding:3px 7px 12px 1px}
.title-settings-grid label{
  display:grid;grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr);align-items:center;gap:20px;min-height:78px;
  padding:14px 17px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:rgba(255,255,255,.045)
}
.title-settings-grid label>span{display:grid;gap:3px}.title-settings-grid label strong{color:#fff7f3;font-size:13px}
.title-settings-grid label small{color:rgba(255,232,228,.4);font-size:8px;font-weight:750;letter-spacing:.11em}
.title-settings-grid input[type="range"]{width:100%;accent-color:#e86588;cursor:pointer}
.title-settings-note{
  grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:82px;
  padding:15px 17px;border:1px solid rgba(231,189,124,.2);border-radius:8px;background:rgba(109,77,43,.13)
}
.title-settings-note>strong{color:#efc78e;font-size:12px}.title-settings-note p{color:rgba(255,239,230,.55);font-size:11px;line-height:1.55}
.title-settings-note button{min-height:36px;padding:0 14px;border:1px solid rgba(239,158,181,.35);border-radius:6px;color:#fff5f2;background:rgba(203,67,106,.38);font-size:10px;font-weight:750;cursor:pointer}

/* The same rose/champagne language continues in-game. */
.main-sprite::before{background:none}
.round-control{width:56px;height:56px;border:1px solid rgba(255,255,255,.56);color:#e65f84;background:rgba(255,251,248,.94);box-shadow:0 12px 30px rgba(18,12,20,.24);font-size:25px}
.auto-button{color:#fff;background:rgba(31,25,34,.86)}.auto-button.active{outline:2px solid rgba(234,103,140,.66)}
.quick-controls{gap:8px;min-width:210px;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:linear-gradient(180deg,rgba(24,20,29,.62),rgba(24,20,29,.38));backdrop-filter:blur(12px)}
.quick-action{font-size:13px;font-weight:760}.quick-action span{width:28px;height:28px;border-radius:7px;color:#8d4961}
.dialogue{border-radius:0 8px 8px 8px;border-color:rgba(255,255,255,.88);background:linear-gradient(180deg,rgba(255,253,250,var(--dialogue-opacity)),rgba(255,248,242,calc(var(--dialogue-opacity) - .045)));box-shadow:0 25px 64px rgba(24,14,20,.3);backdrop-filter:blur(17px)}
.dialogue::before{content:none}.dialogue::after{inset:9px;border-radius:0 6px 6px 6px;border-color:rgba(215,139,160,.13)}
.nameplate{border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,244,.97));box-shadow:0 12px 30px rgba(31,18,26,.18)}
.avatar-dot{background:linear-gradient(145deg,#f29ab2,#d8537a);box-shadow:inset 0 0 0 6px rgba(255,255,255,.72),0 6px 18px rgba(185,57,94,.22)}
.speaker{color:#493b44;font-weight:850}.speech-dot{border-radius:8px;background:linear-gradient(180deg,rgba(206,139,159,.74),rgba(152,94,113,.62))}
#line{color:var(--purple-dark);font-weight:820}
.choice{border-color:rgba(209,77,116,.34);border-radius:8px;color:#49333e;background:linear-gradient(180deg,rgba(255,252,249,.97),rgba(255,238,238,.92));box-shadow:0 10px 24px rgba(118,43,67,.12);font-weight:760;transition:.14s}
.choice:hover,.choice:focus-visible{border-color:rgba(216,78,119,.72);background:linear-gradient(180deg,#fffaf8,#ffe0e9);transform:translateY(-2px)}
.loading-ring{border-color:rgba(220,83,123,.52)}
.drawer{color:#392f37;background:rgba(251,247,245,.96);box-shadow:-20px 0 55px rgba(18,12,20,.22);backdrop-filter:blur(18px)}
.panel{border-color:rgba(116,76,91,.13);background:rgba(255,255,255,.76);box-shadow:0 8px 22px rgba(75,42,55,.055)}
.tab.active{color:#fff;background:#4a3541}.bubble.from-seoa{border-color:rgba(224,111,143,.28);background:#fff3f6}
.reward-progress{background:linear-gradient(135deg,#e7b36c,#d34d75)}
.reward-card{border-color:rgba(206,76,114,.22);background:linear-gradient(180deg,#fffdfa,#ffebeb);box-shadow:0 10px 24px rgba(111,41,63,.1)}
.reward-card strong,.photo strong,.codex-card strong{color:#c8446b}
.toast{color:#fff7f4;background:rgba(32,25,34,.94)}

@media (min-width:2200px){
  .title-copy{left:7vw;width:520px}.title-logo{font-size:64px}.title-actions{width:390px;gap:8px}
  .title-action{min-height:58px}.title-action strong{font-size:14px}.title-memory-note{width:350px}
  .title-dashboard{left:7vw;right:7vw}.title-now-playing{width:620px}
  .title-chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:3200px){
  .title-topbar{top:58px;left:7vw;right:7vw}.studio-mark{width:48px;height:48px;font-size:14px}
  .title-studio strong{font-size:14px}.title-studio small{font-size:11px}.title-utility{width:52px;height:52px}
  .title-copy{top:8.5vh;width:650px}.title-kicker{min-height:28px;padding:5px 12px;font-size:11px}
  .title-logo{margin-top:18px;font-size:82px;line-height:1.03}.title-en{font-size:16px}.title-tagline{font-size:15px}
  .title-actions{width:470px;gap:10px;margin-top:28px}.title-action{grid-template-columns:48px minmax(0,1fr) 24px;min-height:72px;padding:8px 18px 8px 10px}
  .title-action .action-icon{width:46px;height:46px}.title-action svg{width:24px;height:24px}.title-action strong{font-size:18px}.title-action strong small{font-size:10px}
  .title-memory-note{right:7vw;width:430px;padding:23px 25px}.title-memory-note>span{font-size:11px}.title-memory-note p{font-size:22px}.title-memory-note small{font-size:12px}
  .title-dashboard{bottom:52px}.title-now-playing{grid-template-columns:72px minmax(0,1fr) auto;width:790px;min-height:104px;padding:15px 16px}
  .title-now-playing>img{width:72px;height:72px}.track-copy span,.title-record-status>span{font-size:10px}.track-copy select{font-size:17px}.track-copy small{font-size:11px}
  .title-now-playing button{width:40px;height:40px}.title-now-playing time{font-size:10px}
  .title-record-status{min-height:104px;padding:16px 22px}.title-record-status strong{font-size:18px}.title-record-status small{font-size:11px}
}
@media (max-width:1360px){
  .title-copy{left:42px;width:320px}.title-logo{font-size:42px}.title-actions{width:300px}
  .title-memory-note{right:42px;width:270px}.title-record-status{display:none}
  .title-dashboard{left:42px;right:42px}.title-now-playing{width:480px}
}
@media (max-height:850px){
  .title-topbar{top:18px}.title-copy{top:58px}.title-logo{margin-top:8px;font-size:36px}
  .title-en{margin-top:5px}.title-tagline{display:none}.title-actions{gap:4px;margin-top:13px}
  .title-action{min-height:40px;grid-template-columns:32px minmax(0,1fr) 14px}
  .title-action .action-icon{width:30px;height:30px}.title-action strong{font-size:11.5px}
  .title-memory-note{top:12vh}.title-dashboard{bottom:16px}.title-now-playing{min-height:66px}
  .title-page{padding-top:68px;padding-bottom:26px}
}
@media (max-width:1080px){
  .title-screen,.title-page{min-width:760px}.title-art img{object-position:58% center}
  .title-grade{background:linear-gradient(90deg,rgba(9,8,14,.97),rgba(12,10,17,.85) 38%,rgba(10,8,14,.2) 70%,rgba(10,8,14,.46)),linear-gradient(180deg,rgba(8,7,12,.58),transparent 28%,rgba(8,7,12,.76))}
  .title-memory-note{display:none}.title-page{padding-left:38px;padding-right:38px}
  .title-chapter-grid{grid-template-columns:1fr}.title-archive-grid,.title-ending-list,.title-archive-grid.rewards{grid-template-columns:repeat(2,minmax(0,1fr))}.title-save-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.title-art img,.title-rain{animation:none}.title-action,.title-page{transition-duration:.01ms}}
@keyframes titleBreath{from{transform:scale(1.012)}to{transform:scale(1.028)}}
@keyframes titleRain{to{background-position:170px 230px}}
@keyframes titlePageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
