/* v1.11.0 · local world runtime + adaptive quality */
:root{--quality-blur:.18;--quality-shadow:.56;--quality-parallax:0;--world-warm:rgba(222,174,101,.16);--world-cool:rgba(105,138,165,.13)}
.game-page{min-height:var(--app-height,100dvh);isolation:isolate}
.game-page::before,.game-page::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}
.game-page::before{background:radial-gradient(ellipse at 22% 8%,var(--world-warm),transparent 48%),radial-gradient(ellipse at 82% 30%,var(--world-cool),transparent 56%);opacity:calc(.5 + var(--background-intensity-value,.5)*.35)}
.game-page::after{z-index:-1;opacity:.16;background:linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.26) 48%,transparent 58%);transform:translateX(calc(var(--quality-parallax)*-1.5%));transition:transform 1.2s ease}
.game-page.scene-temperature-cool{--world-warm:rgba(192,166,127,.08);--world-cool:rgba(91,130,166,.2)}
.game-page.scene-temperature-warm{--world-warm:rgba(228,164,78,.22);--world-cool:rgba(136,112,91,.08)}
.game-page .story-atmosphere-canvas{z-index:0!important;pointer-events:none!important}
.game-page .story-reading-surface{z-index:1;position:relative;box-shadow:0 20px calc(42px*var(--quality-shadow)) rgba(70,54,38,.13),inset 0 1px rgba(255,255,255,.4)}
body[data-quality="ultra"] .game-page .story-reading-surface{-webkit-backdrop-filter:blur(10px) saturate(1.08);backdrop-filter:blur(10px) saturate(1.08)}
body[data-quality="high"] .game-page .story-reading-surface{-webkit-backdrop-filter:blur(7px) saturate(1.02);backdrop-filter:blur(7px) saturate(1.02)}
body[data-quality="balanced"] .game-page .story-reading-surface,body[data-quality="low"] .game-page .story-reading-surface{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(180deg,rgba(248,243,233,.94),rgba(243,236,224,.92))!important}
body[data-quality="low"] .game-page::after,body[data-quality="low"] .story-atmosphere-canvas{display:none!important}
.world-clock-chip{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 10px;border:1px solid rgba(120,99,72,.13);border-radius:999px;background:rgba(247,241,231,.58);font-size:11px;letter-spacing:.04em;color:rgba(87,73,57,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(38vw,250px)}
.world-clock-chip::before{content:"◷";font-size:12px;opacity:.62}
.game-top .world-clock-chip{margin-left:auto;margin-right:6px}
.world-arrival{position:fixed;top:calc(env(safe-area-inset-top,0px) + 72px);left:50%;transform:translate(-50%,-8px);z-index:40;padding:8px 13px;border-radius:999px;background:rgba(54,48,42,.82);color:#f7efe2;font-size:12px;box-shadow:0 10px 28px rgba(25,20,15,.2);opacity:0;pointer-events:none;animation:world-arrival 2.4s ease both}
@keyframes world-arrival{12%,72%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,6px)}}
.quality-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid rgba(123,101,75,.13);border-radius:12px;background:rgba(255,255,255,.32)}
.quality-diagnostics span{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:8px;background:rgba(255,255,255,.34)}
.quality-diagnostics b{font-size:12px;color:var(--ink,#463c32)}.quality-diagnostics small{font-size:10px;color:var(--muted,#807466)}
.settings-v2-segments.quality-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.settings-v2-segments.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.state-ribbon[data-resolved-locally="true"]::after{content:"";position:absolute;inset:2px 18% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(226,187,118,.44),transparent);pointer-events:none}
@media(max-width:600px){
  .game-top .world-clock-chip{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 9px);transform:translateX(-50%);max-width:36vw;padding:5px 8px;font-size:9.5px}
  .settings-v2-segments.quality-five{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-v2-segments.quality-five label:nth-child(n+4){grid-column:span 1}
  .settings-v2-segments.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality-diagnostics{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.world-arrival{animation:none;display:none}.game-page::after{display:none}}

/* v1.11.0 final responsive reading composition */
@media (min-width:900px){
  body[data-quality="ultra"] .game-page .story-stream,
  body[data-quality="high"] .game-page .story-stream{column-count:1!important;column-gap:0!important;column-rule:0!important;padding:18px!important;overflow:visible}
  body[data-quality="ultra"] .game-page .story-reading-surface,
  body[data-quality="high"] .game-page .story-reading-surface{column-count:2;column-gap:76px;column-rule:1px solid rgba(117,84,55,.12);padding:34px 42px 54px;min-height:calc(100vh - 150px)}
  body[data-quality="ultra"] .game-page .story-reading-surface .node,
  body[data-quality="high"] .game-page .story-reading-surface .node{display:inline-block!important;width:100%!important;max-width:none!important;margin:0!important;break-inside:avoid-column;page-break-inside:avoid}
  body[data-quality="ultra"] .game-page .story-atmosphere-canvas,
  body[data-quality="high"] .game-page .story-atmosphere-canvas{position:absolute;inset:0;width:100%;height:100%}
}
@media(max-width:600px){
  .game-top .world-clock-chip{max-width:31vw!important;left:43%!important;font-size:9px!important;letter-spacing:0!important}
  .composer input,.settings-v2-page input,.settings-v2-page textarea,.settings-v2-page select{font-size:16px!important}
}
body[data-quality="low"] .game-page::before{display:none!important}
body[data-quality="low"] .game-page .story-reading-surface{box-shadow:none!important;border-color:rgba(118,101,80,.12)!important}
body[data-quality="low"] .state-ribbon-glow,body[data-quality="low"] .state-ribbon::after{display:none!important}

/* v1.11.0 desktop spread + narrow header collision fix */
@media (min-width:900px){
  body[data-quality="ultra"] .game-page .story-reading-surface,
  body[data-quality="high"] .game-page .story-reading-surface{
    column-count:initial!important;
    column-gap:initial!important;
    column-rule:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 76px;
    align-items:start;
    padding:34px 42px 54px;
    min-height:calc(100vh - 150px);
  }
  body[data-quality="ultra"] .game-page .story-reading-surface::after,
  body[data-quality="high"] .game-page .story-reading-surface::after{
    content:"";
    position:absolute;
    left:50%;
    top:28px;
    bottom:38px;
    width:1px;
    background:linear-gradient(180deg,transparent,rgba(117,84,55,.14) 12%,rgba(117,84,55,.14) 88%,transparent);
    pointer-events:none;
  }
  body[data-quality="ultra"] .game-page .story-reading-surface .node,
  body[data-quality="high"] .game-page .story-reading-surface .node{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  body[data-quality="ultra"] .game-page .story-material-mark,
  body[data-quality="high"] .game-page .story-material-mark{display:none!important}
}
@media(max-width:600px){
  .game-top .world-clock-chip{
    left:38%!important;
    max-width:24vw!important;
    padding:4px 5px!important;
    font-size:8.5px!important;
  }
  .game-top .world-clock-chip::before{display:none!important}
}
@media (min-width:1100px){
  body[data-quality="ultra"] .game-page,
  body[data-quality="high"] .game-page{max-width:1200px!important}
  body[data-quality="ultra"] .game-page .reading-shell,
  body[data-quality="high"] .game-page .reading-shell{max-width:1120px!important;padding-inline:64px!important}
  body[data-quality="ultra"] .game-page .story-stream,
  body[data-quality="high"] .game-page .story-stream{max-width:980px!important;width:100%!important}
  body[data-quality="ultra"] .game-page .story-reading-surface,
  body[data-quality="high"] .game-page .story-reading-surface{gap:0 96px!important}
  body[data-quality="ultra"] .game-page .story-reading-surface .node,
  body[data-quality="high"] .game-page .story-reading-surface .node,
  body[data-quality="ultra"] .game-page .story-reading-surface .story,
  body[data-quality="high"] .game-page .story-reading-surface .story{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere}
  body[data-quality="ultra"] .game-page .composer,
  body[data-quality="high"] .game-page .composer{max-width:1040px!important}
}
