:root {
  --fable-bg:#0a0c10;--fable-surface:#141820;--fable-surface-2:#1a1f29;
  --fable-line:rgba(255,255,255,.08);--fable-line-strong:rgba(255,255,255,.14);
  --fable-text:#f5f2eb;--fable-muted:#a6abb7;--fable-faint:#6f7583;
  --fable-accent:#34d399;--fable-accent-soft:rgba(52,211,153,.12);
  --fable-lav:#a78bfa;--fable-rose:#f38ba8;--fable-gold:#f2c86b;
  --fable-rail:84px;--fable-radius:20px;--fable-shadow:0 24px 70px rgba(0,0,0,.34);--fable-mono:var(--mono,"IBM Plex Mono",monospace);
  --fable-rail-bg:#0f1218;--fable-panel-bg:linear-gradient(150deg,rgba(24,29,38,.98),rgba(15,18,24,.98));
  --fable-panel-shadow:0 14px 34px rgba(0,0,0,.2);--fable-tabbar-bg:rgba(20,24,32,.94);
  --fable-control-hover:#212734;--fable-track:#0d1117;--fable-hover-soft:rgba(255,255,255,.025);
  --fable-selected-soft:rgba(52,211,153,.055);--fable-inset-bg:rgba(255,255,255,.025);
  --fable-eval-bg:linear-gradient(180deg,#1b1e23 0%,#15181c 55%,#141619 100%);
  --fable-inset-highlight:rgba(255,255,255,.04)
}
.fable-analysis-rail,.fable-app-rail,.fable-analysis-head,.fable-load-scrim,.fable-load-close{display:none}
.fable-load-scrim[hidden]{display:none!important}
:root[data-ui-version="fable-v5"] body{color-scheme:dark}

/* Classic keeps the Fable geometry but uses a deliberate warm-light palette. */
:root[data-ui-version="fable-v5"][data-theme="classic"] body.analysis-page,
:root[data-ui-version="fable-v5"][data-theme="classic"] body.workspace-puzzle-page{
  color-scheme:light;
  --fable-bg:#f6f4ef;--fable-surface:#ffffff;--fable-surface-2:#eceae4;
  --fable-line:rgba(29,36,43,.12);--fable-line-strong:rgba(29,36,43,.2);
  --fable-text:#171b20;--fable-muted:#59616b;--fable-faint:#7a838e;
  --fable-accent:#168a65;--fable-accent-soft:rgba(22,138,101,.1);
  --fable-lav:#6d58b8;--fable-rose:#b64564;--fable-gold:#9a6419;
  --fable-shadow:0 24px 64px rgba(31,37,43,.14);
  --fable-rail-bg:#ebe8e1;--fable-panel-bg:linear-gradient(150deg,#ffffff,#f8f6f1);
  --fable-panel-shadow:0 12px 30px rgba(31,37,43,.09);--fable-tabbar-bg:rgba(255,255,255,.9);
  --fable-control-hover:#e1ded6;--fable-track:#d9d6ce;--fable-hover-soft:rgba(23,27,32,.035);
  --fable-selected-soft:rgba(22,138,101,.08);--fable-inset-bg:rgba(23,27,32,.035);
  --fable-eval-bg:linear-gradient(180deg,#ffffff 0%,#f2f0ea 58%,#ebe8e1 100%);
  --fable-inset-highlight:rgba(255,255,255,.72)
}

/* Fable v5 Puzzles workspace: board at left, six working modes at right. */
:root[data-ui-version="fable-v5"] body.workspace-puzzle-page{
  --bg:var(--fable-bg);--panel:var(--fable-surface);--panel-strong:var(--fable-surface-2);
  --line:var(--fable-line);--text:var(--fable-text);--muted:var(--fable-muted);--accent:var(--fable-accent);
  --header-h:0px;--sidebar-w:var(--fable-rail);--page-pad-y:16px;--page-pad-x:12px;
  --fable-puzzle-board-size:min(860px,calc(100dvh - 102px),calc(100dvw - var(--fable-rail) - 579px));
  --fable-puzzle-shell-size:calc(var(--fable-puzzle-board-size) + 6px);
  color:var(--fable-text);background:radial-gradient(circle at 55% -20%,color-mix(in srgb,var(--fable-accent) 7%,transparent),transparent 34%),var(--fable-bg)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .site-header{display:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .workspace{height:100dvh;min-height:0;background:transparent}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .workspace-footer{display:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-dock{
  width:var(--fable-rail);flex:0 0 var(--fable-rail);padding:0;border-right:1px solid var(--fable-line);background:var(--fable-rail-bg);box-shadow:none
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .dock-nav-item{
  width:50px;height:50px;border:1px solid transparent;border-radius:15px;color:var(--fable-faint);background:transparent
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .dock-nav-item:hover{
  color:var(--fable-text);background:var(--fable-surface-2);border-color:var(--fable-line)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .dock-nav-item.is-active{
  color:var(--fable-accent);background:var(--fable-accent-soft);border-color:rgba(52,211,153,.2);box-shadow:inset 3px 0 0 var(--fable-accent)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-main{padding:var(--page-pad-y) var(--page-pad-x);background:transparent}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(.hub-card,.mode-card,.dashboard-card,.puzzle-card,.workspace-card,.panel){
  border-color:var(--fable-line);border-radius:var(--fable-radius);background:var(--fable-panel-bg);box-shadow:var(--fable-panel-shadow)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(h1,h2,h3,.hub-title,.mode-card-title){color:var(--fable-text)}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(p,.muted,.hub-subtitle,.mode-card-copy){color:var(--fable-muted)}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(.hub-card,.dashboard-card):hover{
  border-color:color-mix(in srgb,var(--fable-accent) 28%,var(--fable-line));box-shadow:var(--fable-shadow);transform:translateY(-2px)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseHub{height:100%;min-height:0;overflow:hidden}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-layout{
  display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,480px);align-items:stretch;flex:0 0 auto;gap:26px;width:100%;height:var(--fable-puzzle-shell-size);min-height:0
}
.fable-puzzle-board-col{display:flex;min-width:0;min-height:0;align-items:flex-start;justify-content:center;gap:5px}
.fable-puzzle-board-shell{
  flex:0 0 auto;width:var(--fable-puzzle-shell-size);aspect-ratio:1;padding:0;border:1px solid var(--fable-line-strong);border-radius:19px;
  background:var(--fable-surface);box-shadow:var(--fable-shadow);overflow:hidden
}
.fable-puzzle-board{width:100%;height:100%;border-radius:inherit;overflow:hidden}
.fable-puzzle-board>.poodle-board,.fable-puzzle-board>.poodle-chessground-board{width:100%!important;height:100%!important}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board .puzzle-board-shell{
  padding:0;border-color:var(--fable-line-strong);background:var(--fable-surface);box-shadow:var(--fable-shadow)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board .puzzle-board{
  border-radius:inherit
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(.fable-puzzle-board,.puzzle-learning-board .puzzle-board)>.cg-mount.cg-wrap{
  position:absolute;inset:0;width:auto!important;height:auto!important;max-height:none;aspect-ratio:auto
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(.fable-puzzle-board,.puzzle-learning-board .puzzle-board)>.cg-mount.cg-wrap>cg-container{
  inset:0!important;width:auto!important;height:auto!important
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page :is(.fable-puzzle-board,.puzzle-learning-board .puzzle-board)>.cg-mount.cg-wrap>cg-container>cg-board{
  inset:0;width:100%;height:100%
}
.fable-puzzle-board-settings{position:relative;flex:0 0 auto}
.fable-puzzle-gear{
  display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid var(--fable-line);border-radius:11px;
  color:var(--fable-muted);background:var(--fable-surface-2);cursor:pointer
}
.fable-puzzle-gear:hover,.fable-puzzle-gear[aria-expanded="true"]{color:var(--fable-accent);border-color:rgba(52,211,153,.4);background:var(--fable-accent-soft)}
.fable-puzzle-gear svg{width:18px;height:18px}
.fable-puzzle-settings-menu{
  position:absolute;z-index:50;top:44px;right:0;display:grid;gap:10px;min-width:214px;padding:10px;border:1px solid var(--fable-line-strong);
  border-radius:14px;background:var(--fable-surface);box-shadow:var(--fable-shadow)
}
.fable-puzzle-settings-menu[hidden]{display:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.puzzle-learning-settings{
  width:38px!important;min-width:38px;height:38px!important;min-height:38px;padding:0!important;border:1px solid var(--fable-line)!important;
  border-radius:11px!important;color:var(--fable-muted)!important;background:var(--fable-surface-2)!important;box-shadow:none!important
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.puzzle-learning-settings:hover,
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.puzzle-learning-settings[aria-expanded="true"]{
  color:var(--fable-accent)!important;border-color:rgba(52,211,153,.4)!important;background:var(--fable-accent-soft)!important
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.puzzle-learning-settings svg{width:18px;height:18px}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.fable-puzzle-settings-menu{
  position:absolute;z-index:50;inset:44px 0 auto auto!important;display:grid;gap:10px;min-width:214px;padding:10px;
  border:1px solid var(--fable-line-strong);border-radius:14px;background:var(--fable-surface);box-shadow:var(--fable-shadow);backdrop-filter:none
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-board-settings>.fable-puzzle-settings-menu[hidden]{display:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls{
  display:grid;grid-template-columns:1fr;gap:6px
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls>button{
  display:flex;width:100%;min-height:36px;padding:8px 10px;align-items:center;justify-content:flex-start;border:1px solid var(--fable-line);
  border-radius:9px;color:var(--fable-muted);background:var(--fable-surface-2);font-size:11.5px;font-weight:700;white-space:nowrap;cursor:pointer
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls>button:hover,
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls>button.active{
  color:var(--fable-accent);border-color:rgba(52,211,153,.4);background:var(--fable-accent-soft)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls>button svg,
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .fable-settings-controls>button .coordinate-icon{width:16px;height:16px;margin-right:8px;flex:0 0 auto}
:root[data-ui-version="fable-v5"] #puzzleToggleFlip::after,:root[data-ui-version="fable-v5"] #dailyToggleFlip::after{content:"Flip board"}
:root[data-ui-version="fable-v5"] #puzzleToggleCoords::after,:root[data-ui-version="fable-v5"] #dailyToggleCoords::after{content:"Coordinates"}
:root[data-ui-version="fable-v5"] #puzzleToggleSound::after,:root[data-ui-version="fable-v5"] #dailyToggleSound::after{content:"Sound"}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .storm-setting{
  display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--fable-line);border-radius:9px;background:var(--fable-surface-2)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu .storm-setting>span{color:var(--fable-muted);font-size:11.5px;font-weight:700}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzle-settings-menu>h3{display:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards{position:relative;display:flex;min-width:0;min-height:0}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards>#hubTitle{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .hub-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;width:100%;height:100%;min-height:0;overflow:visible
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card{
  --mode-tone:var(--fable-accent);position:relative;z-index:1;display:flex;min-height:0;width:100%;flex-direction:column;align-items:stretch;gap:0;
  padding:16px;overflow:visible;color:var(--fable-text);text-align:left;animation:fable-mode-card-in .5s cubic-bezier(.22,1,.36,1) .08s backwards
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card.is-active{z-index:3}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:hover{transform:none}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:nth-child(2){--mode-tone:var(--fable-lav);animation-delay:.14s}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:nth-child(3){--mode-tone:var(--fable-rose);animation-delay:.2s}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:nth-child(4){--mode-tone:var(--fable-lav);animation-delay:.26s}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:nth-child(5){--mode-tone:var(--fable-gold);animation-delay:.32s}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card:nth-child(6){animation-delay:.38s}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card>*:not(.mode-glow){position:relative;z-index:2}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-glow{
  position:absolute;z-index:0;right:28px;top:28px;width:88px;height:88px;border-radius:50%;filter:blur(28px);opacity:1;pointer-events:none;
  transition:transform .55s cubic-bezier(.3,1.35,.45,1);will-change:transform
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-halo{
  display:none
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card-icon{
  width:40px;height:40px;flex:0 0 auto;border-radius:12px;color:var(--mode-tone);background:color-mix(in srgb,var(--mode-tone) 16%,transparent)
}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card-copy{display:flex;min-height:0;flex:1;flex-direction:column;gap:0}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card-title{margin-top:12px;font-size:14px;font-weight:800}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card-desc{margin-top:3px;color:var(--fable-faint);font-size:12px;line-height:16px}
:root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card-status{display:none}
@keyframes fable-mode-card-in{from{opacity:0;transform:perspective(900px) translateY(20px) rotateX(-12deg)}to{opacity:1;transform:none}}
.fable-mode-toasts{
  position:fixed;z-index:520;left:var(--fable-toast-left,50%);bottom:20px;display:flex;width:min(448px,calc(100vw - 32px));
  transform:translateX(-50%);flex-direction:column;gap:8px;pointer-events:none
}
.fable-mode-toast{
  display:flex;min-height:50px;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--fable-line-strong);border-radius:16px;
  color:var(--fable-text);background:color-mix(in srgb,var(--fable-surface) 82%,transparent);box-shadow:0 25px 50px -12px rgba(0,0,0,.55);
  opacity:0;transform:translateY(20px) scale(.96);backdrop-filter:blur(14px);transition:opacity .25s ease,transform .32s cubic-bezier(.22,1,.36,1);pointer-events:auto
}
.fable-mode-toast.is-visible{opacity:1;transform:none}
.fable-mode-toast.is-leaving{opacity:0;transform:translateY(10px) scale(.97)}
.fable-mode-toast-icon{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--fable-accent);background:var(--fable-accent-soft)}
.fable-mode-toast-icon svg{width:14px;height:14px}
.fable-mode-toast-message{min-width:0;flex:1;font-size:14px;font-weight:650}
.fable-mode-toast-close{display:grid;width:28px;height:28px;flex:0 0 auto;padding:0;place-items:center;border:0;border-radius:8px;color:var(--fable-faint);background:transparent;cursor:pointer}
.fable-mode-toast-close:hover,.fable-mode-toast-close:focus-visible{color:var(--fable-text);background:var(--fable-surface-2)}
.fable-mode-toast-close:focus-visible{outline:2px solid var(--fable-accent);outline-offset:2px}
.fable-mode-toast-close svg{width:16px;height:16px}

/* Keep every board-bearing phase on the same Fable stage as the hub preview. */
@media(min-width:1081px){
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseHub{overflow:visible}
  :root[data-ui-version="fable-v5"] body.workspace-puzzle-page{
    --learning-stage-size:var(--fable-puzzle-shell-size);--review-stage-size:var(--fable-puzzle-shell-size);--library-stage-size:var(--fable-puzzle-shell-size)
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-layout{
    grid-template-columns:minmax(360px,1fr) minmax(400px,480px)!important;gap:26px!important;align-items:start!important;
    height:var(--fable-puzzle-shell-size)!important;overflow:visible!important
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board{
    width:calc(var(--fable-puzzle-shell-size) + 43px)!important;max-width:100%;height:var(--fable-puzzle-shell-size);justify-self:center!important;align-items:flex-start
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board :is(.puzzle-board-wrapper,.puzzle-board-shell){
    width:var(--fable-puzzle-shell-size)!important;height:var(--fable-puzzle-shell-size)!important;max-width:none
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board-tools{
    inset:0 0 auto auto!important;width:38px!important;min-height:38px;align-items:stretch;flex-direction:column
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-board-tools.fable-board-settings{
    inset:0 auto auto calc(var(--fable-puzzle-shell-size) + 5px)!important
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .puzzle-learning-card{
    width:100%!important;max-width:none!important;height:var(--fable-puzzle-shell-size)!important;max-height:var(--fable-puzzle-shell-size)!important;
    margin-top:0!important;justify-self:stretch!important
  }

  /* Daily owns a two-row header. Keep the generic solver header rule from
     turning its title, rating and metadata into one overlapping row. */
  :root[data-ui-version="fable-v5"] .daily-puzzle-page .puzzle-learning-card-head{
    display:flex!important;flex:0 0 auto;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    width:100%;min-width:0;gap:12px!important
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page .puzzle-learning-card-head>.head-row{
    display:flex!important;width:100%;min-width:0;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page .puzzle-learning-card-head>.head-row>div:first-child{
    display:block!important;min-width:0!important;flex:1 1 auto!important
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page .puzzle-learning-rating{
    display:flex;min-width:0;flex:0 0 auto;align-items:flex-start;gap:8px
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page #dailyRatingCard{
    width:160px!important;min-width:160px!important;max-width:160px!important;min-height:0!important;height:auto!important;
    flex:0 0 160px!important;box-sizing:border-box;padding:10px 12px 9px 16px!important
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page #dailyRatingCard .puzzle-learning-rating-score{
    gap:4px!important
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page #dailyTargetRating{
    display:block;margin-top:2px;font-size:11px;line-height:1.25
  }
  :root[data-ui-version="fable-v5"] .daily-puzzle-page .daily-meta{
    display:flex;width:100%;min-width:0;flex-wrap:wrap;row-gap:8px;overflow:visible
  }

  /* The rail shares the board's exact stage height. Its library body is the
     scroll owner, so the action footer remains visible inside that boundary. */
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseMyPuzzles .my-review-rail{
    display:flex!important;min-height:0!important;overflow:hidden!important;flex-direction:column
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseMyPuzzles .my-review-rail>.rail-stack{
    display:flex!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important;flex-direction:column
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseMyPuzzles #myLibraryMission{
    display:flex!important;min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;
    flex-direction:column;scrollbar-gutter:stable;padding-right:4px
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseMyPuzzles .my-review-rail .item-list{
    min-height:0!important;max-height:none!important;flex:1 0 auto!important
  }
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseMyPuzzles .my-review-rail>.puzzle-learning-actions{
    min-height:0;flex:0 0 auto
  }
}

/* Analysis uses v5 geometry; functional right-cell panels remain the same nodes. */
:root[data-ui-version="fable-v5"] body.analysis-page{
  --bg:var(--fable-bg);--panel:var(--fable-surface);--line:var(--fable-line);--text:var(--fable-text);--muted:var(--fable-muted);
  min-height:100vh;padding-left:var(--fable-rail);color:var(--fable-text);overflow:hidden;
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 45% -20%,color-mix(in srgb,var(--fable-accent) 7.5%,transparent),transparent 36%),var(--fable-bg)
}
:root[data-ui-version="fable-v5"] .analysis-page>.wrap{
  width:auto;max-width:none;height:100vh;margin:0;padding:14px clamp(16px,2vw,32px) 18px;overflow:hidden
}
:root[data-ui-version="fable-v5"] .analysis-page .wrap>.top,
:root[data-ui-version="fable-v5"] .analysis-page .wrap>footer{display:none}
:root[data-ui-version="fable-v5"] :is(.fable-analysis-rail,.fable-app-rail){
  position:fixed;z-index:500;inset:0 auto 0 0;display:flex;width:var(--fable-rail);padding:0;
  flex-direction:column;border-right:1px solid var(--fable-line);background:var(--fable-rail-bg);transition:width .3s cubic-bezier(.22,1,.36,1)
}
:root[data-ui-version="fable-v5"] body.fable-shell-page{
  min-height:100vh;padding-left:var(--fable-rail);color:var(--fable-text);color-scheme:dark;
  background:radial-gradient(circle at 48% -18%,rgba(52,211,153,.075),transparent 36%),var(--fable-bg)
}
:root[data-ui-version="fable-v5"] body.fable-shell-page .skip-link:focus{z-index:800}
[data-fable-rail]{position:relative;overflow:visible;transition:width .3s cubic-bezier(.22,1,.36,1)}
.fable-rail-brand{display:flex;min-height:82px;align-items:center;justify-content:center;gap:12px;padding:20px;color:var(--fable-text);text-decoration:none}
.fable-rail-brand svg{width:38px;height:38px;flex:0 0 auto}
.fable-rail-nav{display:flex;flex-direction:column;gap:4px;padding:0 12px}
.fable-rail-link{position:relative;display:flex;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:10px 12px;border:0;border-radius:12px;color:var(--fable-muted);text-decoration:none}
.fable-rail-link:hover{color:var(--fable-text)}
.fable-rail-hover,.fable-rail-active-bg{position:absolute;inset:0;border-radius:12px}
.fable-rail-hover{background:var(--fable-surface-2);opacity:0;transition:opacity .2s ease}
.fable-rail-link:hover .fable-rail-hover{opacity:1}
.fable-rail-active-bg{border:1px solid var(--fable-line-strong);background:linear-gradient(120deg,var(--fable-accent-soft),rgba(185,171,247,.1))}
.fable-rail-bar{position:absolute;left:0;top:50%;width:3px;height:20px;transform:translateY(-50%);border-radius:0 999px 999px 0;background:var(--fable-accent);box-shadow:0 0 10px var(--fable-accent)}
.fable-rail-icon{position:relative;z-index:1;display:grid;flex:0 0 auto;place-items:center;transition:transform .2s ease}
.fable-rail-link:hover .fable-rail-icon{transform:scale(1.1)}
.fable-rail-link.is-active .fable-rail-icon{color:var(--fable-accent)}
.fable-rail-icon svg{width:20px;height:20px}
.fable-rail-label{position:relative;z-index:1;display:none;min-width:0;flex:1;white-space:nowrap}
.fable-rail-label strong{display:block;font-size:14px;line-height:1.2}.fable-rail-label small{display:block;margin-top:3px;color:var(--fable-faint);font-size:11px}
.fable-rail-footer{display:flex;margin-top:auto;flex-direction:column;gap:8px;padding:0 12px 16px}
.fable-rail-profile{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;border:1px solid transparent;border-radius:16px;color:var(--fable-text);text-decoration:none}
.fable-rail-profile:hover{border-color:var(--fable-line);background:var(--fable-surface-2)}
.fable-rail-avatar{position:relative;display:grid;width:36px;height:36px;flex:0 0 auto;padding:2px;place-items:center;border-radius:50%;background:conic-gradient(from 180deg,var(--fable-accent),#b9abf7,var(--fable-accent));font-size:14px;font-weight:800}
.fable-rail-avatar>span{display:grid;width:100%;height:100%;place-items:center;border-radius:50%;background:var(--fable-surface)}
.fable-rail-avatar i{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border:2px solid var(--fable-surface);border-radius:50%;background:var(--fable-accent)}
.fable-rail-toggle{position:absolute;z-index:30;top:80px;right:-14px;display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid var(--fable-line-strong);border-radius:50%;color:var(--fable-muted);background:var(--fable-surface);box-shadow:0 10px 20px -8px color-mix(in srgb,var(--fable-text) 24%,transparent);cursor:pointer}
.fable-rail-toggle:hover{color:var(--fable-text);transform:scale(1.08)}.fable-rail-toggle svg{width:14px;height:14px;transition:transform .3s ease}
[data-fable-rail].is-expanded{width:272px!important;box-shadow:30px 0 80px color-mix(in srgb,var(--fable-text) 24%,transparent)}
[data-fable-rail].is-expanded .fable-rail-brand,[data-fable-rail].is-expanded .fable-rail-link,[data-fable-rail].is-expanded .fable-rail-profile{justify-content:flex-start}
[data-fable-rail].is-expanded .fable-rail-label{display:block}
[data-fable-rail].is-expanded .fable-rail-toggle svg{transform:rotate(180deg)}
:root[data-ui-version="fable-v5"] .fable-analysis-head{
  position:relative;display:flex;min-height:84px;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px
}
.fable-analysis-kicker{margin:0;color:var(--fable-faint);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fable-analysis-head h1{margin:2px 0 0;color:var(--fable-text);font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.02em}
.fable-analysis-meta{margin:4px 0 0;color:var(--fable-faint);font-size:12px}
.fable-analysis-actions{position:absolute;z-index:30;left:calc(100% - 340px);top:50%;display:flex;align-items:center;justify-content:flex-end;gap:8px;transform:translateY(-50%)}
.fable-action{
  min-height:40px;padding:0 15px;border:1px solid var(--fable-line-strong);border-radius:12px;color:var(--fable-text);
  background:var(--fable-surface-2);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer
}
.fable-action:hover{border-color:rgba(52,211,153,.32)}
.fable-action-primary{color:#07130e;border-color:var(--fable-accent);background:var(--fable-accent)}
.fable-action svg{width:16px;height:16px}.fable-action-primary{display:inline-flex;align-items:center;gap:8px}
.fable-analysis-actions .analysis-save-panel{position:relative;padding:0;gap:0}
.fable-analysis-actions .analysis-save-button{
  min-inline-size:auto;min-block-size:40px;padding:0 15px 0 35px;border:1px solid var(--fable-line-strong);border-radius:12px;
  color:var(--fable-text);background:var(--fable-surface-2);box-shadow:none;font-size:13px;font-weight:700
}
.fable-analysis-actions .analysis-save-button::before{inset-inline-start:14px;width:10px;height:13px}
.fable-analysis-actions .analysis-save-button:hover{border-color:rgba(52,211,153,.32)}
.fable-analysis-actions .analysis-save-button.is-saved{color:#07130e;border-color:var(--fable-accent);background:var(--fable-accent)}
.fable-analysis-actions .analysis-save-status{
  position:absolute;top:calc(100% + 8px);right:0;width:max-content;max-width:280px;padding:8px 10px!important;border:1px solid var(--fable-line);
  border-radius:10px;color:var(--fable-muted);background:var(--fable-surface-2);box-shadow:var(--fable-shadow);font-size:10px
}
.fable-analysis-actions .analysis-save-status:empty{display:none}
.fable-settings-button{display:grid;width:38px;height:38px;min-height:38px;padding:0;place-items:center;border-radius:11px}
.fable-action-menu{
  position:absolute;z-index:600;top:calc(100% + 8px);right:0;min-width:190px;padding:7px;border:1px solid var(--fable-line);
  border-radius:14px;background:var(--fable-surface-2);box-shadow:var(--fable-shadow)
}
.fable-action-menu button{width:100%;padding:9px 10px;border:0;border-radius:9px;color:var(--fable-text);background:transparent;text-align:left;cursor:pointer}
.fable-action-menu button:hover{background:var(--fable-accent-soft)}
.fable-settings-controls{display:flex;gap:6px}.fable-settings-controls button{flex:1;white-space:nowrap}
.fable-engine-switch{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--fable-line)}
.fable-engine-switch label{position:relative;display:grid;flex:1;padding:8px 10px;place-items:center;border:1px solid var(--fable-line);border-radius:9px;color:var(--fable-muted);font-size:11.5px;font-weight:700;cursor:pointer}
.fable-engine-switch label:has(input:checked){color:var(--fable-accent);border-color:rgba(52,211,153,.4);background:var(--fable-accent-soft)}
.fable-engine-switch input{position:absolute;inset:0;opacity:0;cursor:pointer}
:root[data-ui-version="fable-v5"] .analysis-page #board.fable-board-chessground .sq.light{background:#dee3e6}
:root[data-ui-version="fable-v5"] .analysis-page #board.fable-board-chessground .sq.dark{background:#8ca2ad}
:root[data-ui-version="fable-v5"] .analysis-page #appLayout{
  display:grid;grid-template-columns:260px minmax(360px,1fr) 340px;align-items:stretch;gap:16px;width:100%;height:calc(100vh - 116px);min-height:0;margin:0
}
:root[data-ui-version="fable-v5"] .analysis-page :is(.col-left,.col-center,.col-right){min-width:0;min-height:0}
:root[data-ui-version="fable-v5"] .analysis-page .col-left{display:flex;height:100%;flex-direction:column;gap:12px;overflow:hidden}
:root[data-ui-version="fable-v5"] .analysis-page #loadGameCard{display:none}
:root[data-ui-version="fable-v5"] .analysis-page .col-left>.panel:not(#loadGameCard){flex:1;min-height:0;overflow:auto}
:root[data-ui-version="fable-v5"] .analysis-page .col-left>.panel:not(#loadGameCard){display:flex;flex-direction:column;padding:16px;overflow:hidden}
:root[data-ui-version="fable-v5"] .analysis-page .col-left>.panel:not(#loadGameCard)>h2{margin:0 0 10px;color:var(--fable-muted);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page #movelist{flex:1;min-height:0;overflow:auto}
:root[data-ui-version="fable-v5"] .analysis-page #movelist{padding:0;border:0;background:transparent;box-shadow:none}
:root[data-ui-version="fable-v5"] .analysis-page .col-left .board-controls{margin-top:auto!important;padding-top:12px;justify-content:center;gap:8px}
:root[data-ui-version="fable-v5"] .analysis-page .col-left .btn-icon{width:38px;height:38px;border:1px solid var(--fable-line);border-radius:50%;color:var(--fable-muted);background:var(--fable-surface-2)}
:root[data-ui-version="fable-v5"] .analysis-page .col-left .btn-icon:hover{color:var(--fable-text);border-color:var(--fable-line-strong);background:var(--fable-control-hover)}
:root[data-ui-version="fable-v5"] .analysis-page .notation-scale-control select{color:var(--fable-text);border-color:var(--fable-line);background:var(--fable-surface-2)}
:root[data-ui-version="fable-v5"] .analysis-page .col-center{display:flex;align-items:flex-start;justify-content:center;overflow:hidden}
:root[data-ui-version="fable-v5"] .analysis-page .board-area{
  display:grid;grid-template-columns:20px minmax(0,1fr);align-items:stretch;gap:12px;width:min(100%,calc(100vh - 132px));max-width:100%
}
:root[data-ui-version="fable-v5"] .analysis-page .board-area>.evalbar{width:20px;min-width:20px}
:root[data-ui-version="fable-v5"] .analysis-page .board-frame{width:100%;min-width:0;padding:0;border-radius:19px;overflow:hidden}
:root[data-ui-version="fable-v5"] .analysis-page #board{width:100%;height:auto;aspect-ratio:1;border-radius:inherit}
:root[data-ui-version="fable-v5"] .analysis-page :is(.panel:not(.analysis-workflow-surface),.col-right){
  border-color:var(--fable-line);background:var(--fable-panel-bg);box-shadow:var(--fable-panel-shadow)
}
:root[data-ui-version="fable-v5"] .analysis-page .board-frame{
  border-color:var(--fable-line);background:transparent;box-shadow:var(--fable-panel-shadow)
}
:root[data-ui-version="fable-v5"] .analysis-page .col-right{height:100%;align-self:stretch;border:1px solid var(--fable-line);border-radius:var(--fable-radius);overflow:auto}
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress{
  position:absolute;z-index:25;right:0;bottom:5px;width:min(340px,100%);height:3px;margin:0;padding:0;border:0;background:transparent;box-shadow:none
}
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress .live-stream-log,
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress #progressLabel{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0
}
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress .progress-line{
  position:absolute;right:0;bottom:8px;display:flex;width:auto;min-width:36px;height:auto;min-height:18px;margin:0;padding:3px 7px;
  align-items:center;justify-content:center;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;pointer-events:none;
  border:1px solid var(--fable-line-strong);border-radius:999px;color:var(--fable-accent);background:var(--fable-surface);
  box-shadow:0 5px 14px color-mix(in srgb,var(--fable-text) 12%,transparent);font-size:10px;font-weight:800;line-height:1
}
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress .progress-track{height:3px;border:0;background:var(--fable-track)}
:root[data-ui-version="fable-v5"] .analysis-page .fable-analysis-head>.fable-analysis-progress .progress-fill{background:linear-gradient(90deg,#34d399,#69e7bd);box-shadow:0 0 8px rgba(52,211,153,.38)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-tabbar{
  position:sticky;z-index:20;top:0;display:flex;flex-wrap:wrap;gap:4px;padding:4px 16px 0;border-bottom:1px solid var(--fable-line);
  background:var(--fable-tabbar-bg);backdrop-filter:blur(12px)
}
:root[data-ui-version="fable-v5"] .analysis-page .gr-tab{
  position:relative;min-height:36px;padding:0 3px;border:0;border-radius:0;color:var(--fable-faint);background:transparent;font-size:10.5px;font-weight:600;white-space:nowrap
}
:root[data-ui-version="fable-v5"] .analysis-page .gr-tab.active{color:var(--fable-text);background:transparent}
:root[data-ui-version="fable-v5"] .analysis-page .gr-tab.active::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:999px;background:var(--fable-accent)}
:root[data-ui-version="fable-v5"] .analysis-page #gameReviewRightContent{gap:12px;padding:4px 16px 16px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-top{min-width:0;color:var(--fable-text)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;padding-top:8px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player{
  display:flex;min-width:0;align-items:center;gap:7px;padding:4px;border:1px solid transparent;border-radius:11px;color:inherit;background:transparent;cursor:pointer
}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player.white{justify-content:flex-end;text-align:right}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player.black{justify-content:flex-start;text-align:left}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player:hover{border-color:var(--fable-line-strong);background:var(--fable-hover-soft)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player.is-selected{border-color:color-mix(in srgb,var(--fable-accent) 22%,transparent);background:var(--fable-selected-soft)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player-copy{display:flex;min-width:0;flex-direction:column}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player-name{overflow:hidden;color:var(--fable-text);font-size:12px;font-weight:800;line-height:1.15;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player-meta{display:flex;margin-top:4px;align-items:center;gap:4px;color:var(--fable-muted);font:700 8px/1 var(--fable-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player.white .gr-kimi-player-meta{justify-content:flex-end}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-player-title{color:var(--fable-gold)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-king{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:linear-gradient(150deg,#2b2f35,#15181d);box-shadow:inset 0 0 0 1px rgba(240,237,230,.14),0 6px 16px -8px rgba(0,0,0,.8)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-king.black{background:linear-gradient(150deg,#17181b,#0c0d0f);box-shadow:inset 0 0 0 1px rgba(240,237,230,.22),inset 0 2px 4px rgba(255,255,255,.05),0 6px 16px -8px rgba(0,0,0,.8)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-king img{width:25px;height:25px;user-select:none}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-result{text-align:center;white-space:nowrap}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-result strong{display:block;color:var(--fable-text);font:700 13px/1 var(--fable-mono)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-result span{display:block;margin-top:4px;color:var(--fable-faint);font:700 7.5px/1 var(--fable-mono);letter-spacing:.08em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-divider{height:1px;margin:13px 0;background:var(--fable-line)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-section-label{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--fable-faint);font:700 8.5px/1 var(--fable-mono);letter-spacing:.16em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-help{display:inline-grid;width:15px;height:15px;place-items:center;border:1px solid var(--fable-line-strong);border-radius:50%;color:var(--fable-muted);font:700 8px/1 var(--fable-mono)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-values{display:grid;grid-template-columns:1fr auto 1fr;margin-top:7px;align-items:baseline;gap:9px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-values strong{color:var(--fable-text);font:650 32px/1 var(--fable-mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-values strong:first-child{text-align:right}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-values strong.is-empty{color:var(--fable-faint)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-values>span{color:var(--fable-faint);font:600 9px/1 var(--fable-mono)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-bars{display:grid;grid-template-columns:1fr 1fr;margin-top:9px;gap:12px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-track{display:block;height:5px;overflow:hidden;border-radius:999px;background:var(--fable-track)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--fable-text) 72%,var(--fable-surface)),var(--fable-text));box-shadow:0 0 10px -2px color-mix(in srgb,var(--fable-text) 24%,transparent);transition:width .65s cubic-bezier(.16,1,.3,1)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-track.white .gr-kimi-accuracy-fill{margin-left:auto}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-accuracy-track.black .gr-kimi-accuracy-fill{background:linear-gradient(90deg,var(--fable-muted),var(--fable-faint))}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-row{display:grid;grid-template-columns:1fr 104px 1fr;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--fable-line)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-row.is-last{border-bottom:0}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-value{color:var(--fable-text);font:600 12px/1 var(--fable-mono);font-variant-numeric:tabular-nums}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-value.white{text-align:right}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-label{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--fable-muted);font:700 8px/1 var(--fable-mono);letter-spacing:.1em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-metric-label .gr-kimi-help{width:14px;height:14px;font-size:7.5px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-eyebrow{display:flex;align-items:center;gap:7px;color:var(--fable-faint);font:700 8.5px/1 var(--fable-mono);letter-spacing:.15em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-eyebrow span{padding:3px 7px;border:1px solid color-mix(in srgb,var(--fable-gold) 30%,transparent);border-radius:999px;color:var(--fable-gold);background:color-mix(in srgb,var(--fable-gold) 10%,transparent);letter-spacing:0}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-details{margin-top:7px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-details summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0;list-style:none;cursor:pointer}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-details summary::-webkit-details-marker{display:none}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-copy{display:flex;min-width:0;flex-direction:column}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-name{color:var(--fable-text);font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.025em}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-variation{margin-top:4px;color:var(--fable-muted);font-size:10.5px;line-height:1.35}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-chevron{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border:1px solid var(--fable-line-strong);border-radius:50%;color:var(--fable-muted);transition:transform .2s ease}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-details[open] .gr-kimi-opening-chevron{transform:rotate(180deg)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-body{padding-top:9px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-sequence{margin:0;padding:9px 10px;border:1px solid var(--fable-line);border-radius:8px;color:var(--fable-text);background:var(--fable-inset-bg);font:500 9.5px/1.6 var(--fable-mono)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-opening-jump{display:flex;margin-top:8px;align-items:center;gap:7px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--fable-gold) 28%,transparent);border-radius:8px;color:var(--fable-gold);background:color-mix(in srgb,var(--fable-gold) 8%,transparent);font-size:9.5px;font-weight:700;cursor:pointer}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-head h3{margin:0;color:var(--fable-text);font-size:12px}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-head span{color:var(--fable-faint);font:700 7.5px/1 var(--fable-mono);letter-spacing:.1em;text-transform:uppercase}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-wrap{margin-top:8px;overflow:hidden;border:1px solid var(--fable-line);border-radius:10px;background:var(--fable-eval-bg);box-shadow:0 12px 30px -18px color-mix(in srgb,var(--fable-text) 28%,transparent)}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-wrap svg{display:block;width:100%;height:142px;cursor:crosshair;touch-action:none}
:root[data-ui-version="fable-v5"] .analysis-page .gr-kimi-eval-foot{display:flex;margin-top:6px;align-items:center;justify-content:space-between;gap:5px;color:var(--fable-faint);font:600 7.5px/1.2 var(--fable-mono)}
:root[data-ui-version="fable-v5"] .analysis-page .fable-load-scrim{
  position:fixed;z-index:700;inset:0;display:block;border:0;background:rgba(4,6,9,.72);backdrop-filter:blur(5px)
}
:root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard{
  position:fixed;z-index:710;top:50%;left:calc(50% + var(--fable-rail)/2);display:block;width:min(560px,calc(100vw - 120px));
  max-height:calc(100dvh - 24px);overflow:hidden;transform:translate(-50%,-50%);box-shadow:var(--fable-shadow)
}
:root[data-ui-version="fable-v5"] .analysis-page .fable-load-close{
  position:absolute;z-index:2;top:11px;right:11px;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--fable-line);
  border-radius:50%;color:var(--fable-text);background:var(--fable-surface-2);cursor:pointer
}
#tabPanelDashboard{padding:16px}
.fable-dashboard-hero{padding:0;border:0;background:transparent}
.fable-dashboard-hero h2{margin:0;color:var(--fable-muted);font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.fable-dashboard-hero p{margin:4px 0 0;color:var(--fable-faint);font-size:10px;line-height:1.4}
.fable-dashboard-status{min-height:18px;margin:12px 2px;color:var(--fable-muted);font-size:12px}
.fable-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fable-metric,.fable-dashboard-card{padding:13px;border:1px solid var(--fable-line);border-radius:14px;background:var(--fable-surface-2)}
.fable-metric-label{display:block;margin-bottom:7px;color:var(--fable-faint);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fable-metric-value{color:var(--fable-text);font:500 24px/1 Georgia,serif}
.fable-dashboard-card{margin-top:9px}.fable-dashboard-card h3{margin:0 0 10px;color:var(--fable-text);font-size:12px}
#fableRatingChart{display:block;width:100%;height:92px}.fable-session-list{display:grid;gap:7px}
.fable-session{display:flex;justify-content:space-between;gap:12px;padding-top:7px;border-top:1px solid var(--fable-line);color:var(--fable-muted);font-size:11px}
@media(max-width:1220px){
  :root[data-ui-version="fable-v5"] body.analysis-page{overflow:auto}
  :root[data-ui-version="fable-v5"] .analysis-page>.wrap{height:auto;min-height:100vh;overflow:visible}
  :root[data-ui-version="fable-v5"] .analysis-page #appLayout{grid-template-columns:240px minmax(340px,1fr);height:auto}
  :root[data-ui-version="fable-v5"] .analysis-page .col-right{grid-column:1/-1;min-height:520px}
  .fable-analysis-actions{position:static;flex-wrap:wrap;transform:none}
}
@media(max-width:1080px){
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page #phaseHub{height:auto;min-height:100%;overflow:auto}
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-layout{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto}
  .fable-puzzle-board-col{position:relative;min-height:auto}
  .fable-puzzle-board-shell{width:min(100%,680px)}
  .fable-puzzle-board-settings{position:absolute;z-index:4;top:5px;right:5px}
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .hub-grid{min-height:540px}
}
@media(max-width:820px){
  :root[data-ui-version="fable-v5"] body.analysis-page{padding:0 0 0 var(--fable-rail)}
  :root[data-ui-version="fable-v5"] body.fable-shell-page{padding-left:var(--fable-rail)}
  :root[data-ui-version="fable-v5"] .fable-analysis-rail{inset:0 auto 0 0;width:var(--fable-rail);height:100vh;flex-direction:column;border-top:0;border-right:1px solid var(--fable-line)}
  :root[data-ui-version="fable-v5"] .fable-analysis-head{align-items:flex-start;flex-direction:column;padding-bottom:14px}
  .fable-analysis-actions{justify-content:flex-start}
  :root[data-ui-version="fable-v5"] .analysis-page #appLayout{grid-template-columns:1fr}
  :root[data-ui-version="fable-v5"] .analysis-page .col-right{grid-column:auto}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard{left:50%;width:calc(100vw - 28px)}
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .hub-grid{grid-template-columns:1fr;grid-template-rows:none;min-height:0}
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card{min-height:150px}
}
@media(max-height:780px){
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard{padding-right:16px;padding-bottom:14px;padding-left:16px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-header{min-height:46px;margin-inline:-16px;padding:7px 48px 7px 16px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-title-icon{width:28px;height:28px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-subheading,
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-toggle-btn{display:none}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .fable-load-close{top:7px;right:8px;width:30px;height:30px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-section{padding:10px 0}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .game-source-tabs{margin-bottom:8px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .game-source-tab{min-height:34px;padding-block:5px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .upload-btn{padding:11px 14px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .pgn-paste-label{margin-top:8px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .pgn-paste-input{min-height:72px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .field-hint{margin-top:5px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-settings-grid{margin-top:10px!important}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-analyze-btn{padding-block:10px}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .error-box{margin-top:8px;padding:8px 11px}
}
@media(max-height:650px) and (min-width:760px){
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard{width:min(900px,calc(100vw - 120px))}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);grid-template-rows:auto auto auto;column-gap:18px;align-content:start
  }
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner>.lac-divider{display:none}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner>.lac-section:nth-child(1){
    grid-column:1;grid-row:1/4;padding-right:18px;border-right:1px solid var(--fable-line)
  }
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner>.lac-section:nth-child(3){grid-column:2;grid-row:1}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner>.lac-section:nth-child(5){grid-column:2;grid-row:2}
  :root[data-ui-version="fable-v5"] .analysis-page.fable-load-open #loadGameCard .lac-card-body-inner>.lac-section:nth-child(7){grid-column:2;grid-row:3}
}
@media(prefers-reduced-motion:reduce){
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards .mode-card{animation:none!important}
  :root[data-ui-version="fable-v5"] .workspace-puzzle-page .fable-puzzles-cards :is(.mode-glow,.mode-halo){transition:none!important}
  .fable-mode-toast{transition:none!important}
}
@media(prefers-reduced-motion:reduce){:root[data-ui-version="fable-v5"] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
:root[data-ui-version="fable-v5"].fable-no-motion *,
:root[data-ui-version="fable-v5"].fable-no-motion *::before,
:root[data-ui-version="fable-v5"].fable-no-motion *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
