:root{--bg:#12160e;--card:#1a1f14;--border:#2b3122;--masthead-lo:#161815;--masthead:#1d1f1b;--masthead-hi:#2a2c27;--ink-hi:#f7f8ef;--ink-warm:#e6e2cf;--row-green:#1f2b18;--row-dark:#111311;--ink-olive:#93ad68;--text:#e9eada;--muted:#8b9179;--accent:#9cc06b;--accent-fill:#6f8f4e;--accent-tint:#9cc06b24;--action:#b39a66;--action-hi:#c2aa78;--action-ink:#1b1609;--action-tint:#b39a661f;--action-edge:#b39a668c;--good:#a9cc7c;--bad:#d9584a;--loss:var(--action);--square-light:#eeeed2;--square-dark:#769656;--font:"Public Sans", system-ui, "Segoe UI", Roboto, sans-serif;--fs-micro:12px;--fs-small:13px;--fs-ui:15px;--fs-body:16px;--fs-lead:19px;--fs-display:48px;--r-sm:4px;--r-md:8px;--r-lg:14px;font:var(--fs-body) / 1.55 var(--font);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;overflow-x:clip}.san{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.launch-veil{z-index:1000;pointer-events:none;background:#000;place-items:center;transition:opacity 1.2s ease-in-out;display:grid;position:fixed;inset:0}.launch-veil img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.launch-veil.go{opacity:0}.launch-veil.go img{transform:scale(1.6)}@media (prefers-reduced-motion:reduce){.launch-veil.go img{transform:none}}html.native-root,html.native-root body{overscroll-behavior:none;height:100%;overflow:hidden}.native-app{background:var(--bg);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed;inset:0}.native-app input,.native-app textarea{-webkit-user-select:text;user-select:text}.native-app .nh{min-height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(6px + env(safe-area-inset-right)) 0 calc(12px + env(safe-area-inset-left));background:linear-gradient(100deg, var(--masthead-lo) 0%, var(--masthead) 40%, var(--masthead-hi) 100%);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;margin:0;display:flex}.native-app .nh-left{flex:1;min-width:0}.native-app .nh-title{letter-spacing:-.01em;color:var(--ink-warm);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;display:flex}.native-app .nh-mark{color:var(--accent);font-family:Apple Symbols,Segoe UI Symbol,serif;font-size:24px;font-weight:400;line-height:1}.native-app button.bare.nh-back{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:2px;max-width:100%;margin-left:-6px;padding:8px 6px 8px 0;font-size:16px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.native-app .nh-right{flex:none;align-items:center;gap:2px;display:flex}.native-app button.bare.nh-icon,.native-app .nh .icon-btn{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--text);background:0 0;border:none;place-items:center;padding:0;line-height:0;display:inline-grid}.native-app .nh .icon-btn svg,.native-app .nh-icon svg{width:22px;height:22px}.native-app .nh .account-btn.signed-in{color:var(--accent)}.native-app .nh-chip{border:1px solid var(--border);height:30px;color:var(--accent);white-space:nowrap;background:#00000038;border-radius:999px;align-items:center;gap:3px;margin-right:4px;padding:0 9px 0 12px;font-size:13px;font-weight:700;display:inline-flex}.native-app .nh-sub{padding:8px calc(12px + env(safe-area-inset-right)) 8px calc(12px + env(safe-area-inset-left));border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.native-app .seg{background:var(--card);border:1px solid var(--border);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.native-app .seg-btn{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600}.native-app .seg-btn.active{background:var(--accent-tint);color:var(--accent)}.native-app .nh-count{color:var(--muted);white-space:nowrap;font-size:13px}.native-app .native-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:12px calc(12px + env(safe-area-inset-right)) 16px calc(12px + env(safe-area-inset-left));-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.native-app .native-import .import-line{text-align:left;justify-content:flex-start;margin:0}.native-app .empty-state{padding:32px 16px}.native-app .tabbar{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--masthead-lo);border-top:1px solid var(--border);flex:none;grid-template-columns:repeat(4,1fr);display:grid}.native-app .tabbar-btn{color:var(--muted);letter-spacing:.01em;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:7px 0 5px;font-size:10.5px;font-weight:600;display:flex}.native-app .tabbar-btn svg{width:25px;height:25px}.native-app.position-open .native-content{gap:0;padding:0;overflow:hidden;container-type:size}.native-app.position-open .native-content>.demo-note,.native-app.position-open .native-content>.feed-warning,.native-app.position-open .native-content>.success-note,.native-app.position-open .native-content>.native-import{flex:none;margin:8px 12px 0}.native-app.position-open .native-content>.native-import{display:none}.native-app .review{flex-direction:column;flex:1;min-height:0;display:flex}.native-app .review-head{flex:none;margin:0;padding:8px 12px}.native-app .layout{flex-direction:column;flex:1;align-items:stretch;gap:0;min-height:0;max-height:none;display:flex}.native-app .board-wrap{flex:none;align-self:center;width:min(100cqw,100cqh - 250px);max-width:none;margin:8px auto 0}.native-app .side{overscroll-behavior:contain;width:100%;min-width:0;min-height:0;padding-bottom:env(safe-area-inset-bottom);border-bottom:none;border-left:none;border-right:none;border-radius:0;flex-direction:column;flex:1;margin-top:8px;display:flex;overflow-y:auto}.native-app .side>.panel{flex:none}.native-app.position-open .native-content>.demo-note{display:none}.native-app .side .puzzle-foot,.native-app .side>.panel>.actions:last-child{z-index:2;background:var(--card);margin-top:12px;padding:10px 0;position:sticky;bottom:0}@container (orientation:landscape){.native-app .layout{flex-direction:row}.native-app .board-wrap{width:min(62cqw,100cqh - 16px);margin:8px 0 8px calc(8px + env(safe-area-inset-left));align-self:flex-start}.native-app .side{margin:8px calc(8px + env(safe-area-inset-right)) 0 8px;border:1px solid var(--border);border-radius:var(--r-md) var(--r-md) 0 0;border-bottom:none}}.native-app .sheet-root{z-index:60;position:fixed;inset:0}.native-app .sheet-scrim{opacity:0;background:#00000080;transition:opacity .26s;position:absolute;inset:0}.native-app .sheet{background:var(--card);border-top:1px solid var(--border);max-height:85svh;padding-bottom:env(safe-area-inset-bottom);border-radius:14px 14px 0 0;flex-direction:column;transition:transform .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -12px 32px #00000073}.native-app .sheet-root.shown .sheet-scrim{opacity:1}.native-app .sheet-root.shown .sheet{transform:translateY(0)}@media (width>=700px){.native-app .sheet{width:540px;margin-left:-270px;left:50%;right:auto}}.native-app .sheet-grab{touch-action:none;padding:8px 48px 6px 18px;position:relative}.native-app .sheet-handle{background:var(--border);border-radius:999px;width:36px;height:5px;margin:0 auto 12px;display:block}.native-app .sheet-title{color:var(--ink-hi);margin:0;font-size:17px;font-weight:700;line-height:1.3}.native-app button.bare.sheet-close{width:36px;height:36px;font-size:15px;line-height:1;position:absolute;top:18px;right:10px}.native-app .sheet-body{padding:10px 18px 18px;overflow-y:auto}.native-app .sheet-note{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.5}.native-app .sheet-note strong{color:var(--text)}.native-app button.sheet-cta{width:100%;margin-top:18px;padding:12px 16px}.native-app .sheet-filter .period{flex-wrap:wrap;gap:8px;margin:0}.native-app .sheet-filter .period-btn{min-height:40px;padding:0 16px;font-size:15px}.settings-links{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 16px;margin:8px 0 0;padding-top:12px;font-size:13px;display:flex}.settings-copy{color:var(--muted);margin-left:auto}.native-app:not(.position-open) .native-content>*{align-self:center;width:100%;max-width:760px}.native-app .side .movelist{max-width:420px}.native-app .modal-backdrop{justify-content:center;align-items:flex-end;padding:0}.native-app .modal{width:100%;max-width:540px;max-height:88svh;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-bottom:none;border-radius:14px 14px 0 0;margin:0;animation:.26s cubic-bezier(.2,.8,.2,1) sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.native-app .modal{animation:none}}.native-app .nh-sub{padding-left:max(calc(12px + env(safe-area-inset-left)), calc((100% - 760px) / 2));padding-right:max(calc(12px + env(safe-area-inset-right)), calc((100% - 760px) / 2))}.native-app .item-row>button.row-action{display:none}.native-app .row-chevron{display:inline-flex}.native-app .item-row:active{background:var(--accent-tint)}.native-app .tabbar-btn.active{color:var(--action)}.native-app .nh-sub{border-bottom:1px solid var(--border);background:var(--masthead-lo);padding:0}.native-app .seg{background:0 0;border:none;border-radius:0;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;width:100%;max-width:760px;margin:0 auto;padding:0;display:grid}.native-app .seg-btn{border-bottom:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:11px 8px 9px;font-size:14px;display:inline-flex}.native-app .seg-btn.active{color:var(--action);border-bottom-color:var(--action);background:0 0}.native-app .seg-count{font-variant-numeric:tabular-nums;min-width:20px;color:var(--muted);background:#ffffff0f;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.native-app .seg-btn.active .seg-count{color:var(--action-ink);background:var(--action)}.native-app .nh-badge{font-variant-numeric:tabular-nums;color:var(--action-ink);background:var(--action);border-radius:999px;margin-left:2px;padding:1px 7px;font-size:12px;font-weight:700}.native-app button.bare.nh-refresh:disabled{opacity:.45}.native-app .nh-refresh.spinning svg{animation:1s linear infinite nh-spin}@keyframes nh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.native-app .nh-refresh.spinning svg{animation-duration:3s}}.native-app .nh-strip{padding:7px calc(10px + env(safe-area-inset-right)) 9px calc(12px + env(safe-area-inset-left));color:var(--text);background:var(--masthead-lo);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;font-size:12.5px;line-height:1.35;display:flex;position:relative}.native-app .nh-strip.error{color:var(--bad)}.native-app .nh-strip-text{flex:1;min-width:0}.native-app button.bare.nh-strip-btn{border:1px solid var(--action-edge);border-radius:var(--r-md);color:var(--action);flex:none;padding:5px 10px;font-size:12.5px;font-weight:600;line-height:1.2}.native-app button.bare.nh-strip-x{flex:none;padding:6px;font-size:13px;line-height:1}.native-app .nh-strip-bar{background:0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.native-app .nh-strip-bar>span{background:var(--action);height:100%;transition:width .25s;display:block}.native-app .item-row{align-items:center;gap:12px;padding:10px 12px 10px 10px}.native-app .thumb{width:76px;height:76px}.native-app .thumb-sq{font-size:8px}.native-app .item-title{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind kind""name status""score score";align-items:center;gap:4px 8px;display:grid}.native-app .item-title>.kind-chip{grid-area:kind;justify-self:start}.native-app .item-title>.item-name{grid-area:name}.native-app .item-title>.item-status{grid-area:status;justify-self:end}.native-app .item-title>.score-chip{grid-area:score;justify-self:start}.native-app .item-status>*{margin:0}.native-app .item-meta{gap:1px 12px;margin-top:4px}.native-app .meta-field+.meta-field,.native-app .item-meta>a.link{border-left:none;margin-left:0;padding-left:0}.native-app .move-hint{display:none}.native-app .panel.prompt p,.native-app .panel.reveal p{margin:0 0 6px;line-height:1.45}.native-app .panel.prompt,.native-app .panel.reveal{padding-top:12px}.native-app .to-move{margin-bottom:4px}.native-app .panel.info{flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:8px 12px;font-size:13px;display:flex}.native-app .panel.info>.info-title{flex-basis:100%;margin-bottom:2px}.native-app .panel.info>.item-meta{display:contents}.native-app .layout{overscroll-behavior:contain;overflow-y:auto}.native-app .side{display:contents}.native-app .side>.panel{background:var(--card)}.native-app .layout>.board-wrap{order:1}.native-app .side>.panel.info{order:0}.native-app .side>.panel:not(.info):not(.notes){order:2}.native-app .side>.panel.notes{order:3}.native-app .board-wrap{width:min(100cqw,100cqh - 330px);margin-top:6px}@container (orientation:landscape){.native-app .layout{overflow:hidden}.native-app .side{order:2;display:flex}.native-app .layout>.board-wrap{order:1}.native-app .board-wrap{width:min(62cqw,100cqh - 16px)}}.native-app .info-title{flex-wrap:wrap;row-gap:6px}.native-app .info-title .head-actions:has(.opp-select){flex-basis:100%}.native-app .info-title .opp-select{flex:1;min-width:0;max-width:220px}.native-app .info-title .head-actions:has(.opp-select) .share-bare{margin-left:auto}.app{max-width:1280px;padding:calc(20px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));flex-direction:column;gap:16px;min-height:100svh;margin:0 auto;display:flex}.layout{align-items:stretch;gap:14px;display:flex}@media (width>=1024px){.layout{max-height:calc(78svh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.side{min-height:0}.side>.panel:not(.info):not(.notes){flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.side>.panel.notes{margin-top:auto}.side>.panel .puzzle-foot,.side>.panel>.actions:last-child{margin-top:auto;padding-top:16px}.panel.review>.actions:last-child{justify-content:flex-end}}.side{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;flex:1 1 0;min-width:240px;display:flex;overflow:hidden}@media (width<=767px){.layout{flex-direction:column}.side{flex:none;width:100%}}@media (width>=768px) and (width<=1023px){.side{min-width:200px}.board-wrap{width:min(58vw, calc(62svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.layout{align-items:flex-start}}.title-row{justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}header{background:linear-gradient(100deg, var(--masthead-lo) 0%, var(--masthead) 40%, var(--masthead-hi) 100%);margin-inline:calc(50% - 50vw);margin-top:calc(-20px - env(safe-area-inset-top));padding:calc(40px + 20px + env(safe-area-inset-top)) calc(50vw - 50%) 44px}@media (width<=767px){header{padding-top:calc(18px + 20px + env(safe-area-inset-top));padding-bottom:26px}}.nav{flex-direction:column;margin-top:-4px;display:flex}.tab-panel{border:1px solid var(--border);border-radius:0 0 var(--r-md) var(--r-md);border-top:none;flex-direction:column;gap:10px;padding:14px 16px 18px;display:flex}button.bare.home-btn{font:inherit;color:inherit;cursor:pointer;border-radius:var(--r-sm);align-self:flex-start;align-items:center;gap:10px;padding:0;display:inline-flex}@media (any-hover:hover){button.bare.home-btn:hover{color:var(--accent)}}button.bare.home-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header h1{font-size:var(--fs-display);letter-spacing:-.03em;margin:0;font-weight:700;line-height:1}.mark{color:var(--accent);letter-spacing:0;font-family:Apple Symbols,Segoe UI Symbol,Noto Sans Symbols2,serif;font-size:1.55em;font-weight:400;line-height:1}.wordmark-text{color:var(--ink-warm)}.wordmark{flex-direction:column;align-items:flex-start;gap:5px;line-height:1;display:flex}@media (width<=767px){header h1{font-size:34px}}.header-btns{align-items:center;gap:8px;display:flex}.who{color:var(--ink-hi);background:var(--accent-tint);border-radius:var(--r-sm);text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding:4px 12px;font-size:13px;font-weight:600;overflow:hidden}.import-line{color:var(--muted);text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin:-4px 0 0;font-size:13px;display:flex}.import-line.busy{color:var(--accent)}.import-line.error{color:var(--bad)}button.ghost.import-btn{border-radius:var(--r-md);color:var(--text);padding:3px 10px;font-size:12px;font-weight:600}.import-bar{background:var(--border);border-radius:999px;flex:1;min-width:90px;max-width:220px;height:4px;overflow:hidden}.import-bar-fill{background:var(--accent);height:100%;transition:width .25s;display:block}.feed-warning{color:var(--bad);border:1px solid var(--bad);border-radius:var(--r-md);background:#d9584a1f;margin:0;padding:8px 11px;font-size:13px;line-height:1.55}.feed-warning strong{color:var(--text)}.review-filter{margin:0}.review-filter .period-custom input[type=date]{width:auto}.review-head{align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.review-count{color:var(--muted);font-variant-numeric:tabular-nums}.review-level{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}button.ghost.review-back{border-radius:var(--r-md);color:var(--text);padding:2px 9px;font-size:12px}.review-repeat{color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 9px;font-size:12px}.review-head .verdict{margin:0;font-size:13px}.review-done{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 2px;display:flex}.review-done .verdict,.review-done .hook{margin:0}.review-empty{max-width:44ch;padding:18px 2px;line-height:1.6}.demo-note{color:var(--muted);background:var(--accent-tint);border:1px solid var(--border);border-radius:var(--r-md);margin:0;padding:8px 11px;font-size:13px;line-height:1.55}.demo-note strong{color:var(--accent)}.account{position:relative}.account-btn.signed-in{color:var(--accent);border-color:var(--accent)}.modal-backdrop{z-index:40;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(360px,100%);max-height:calc(100svh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0000008c}button.modal-close{padding:4px 6px;font-size:15px;line-height:1;position:absolute;top:12px;right:12px}.auth,.account-settings{flex-direction:column;gap:12px;display:flex}.auth h2{margin:0;font-size:19px}.auth label,.account-settings label{color:var(--muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}.auth input,.account-settings input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:9px 11px;font-size:15px}.auth input:focus,.account-settings input:focus{border-color:var(--accent);outline:none}button.ghost.google-btn{width:100%;color:var(--text);justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:flex}@media (any-hover:hover){button.ghost.google-btn:hover{border-color:var(--muted)}}.or-rule{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.or-rule:before,.or-rule:after{content:"";background:var(--border);flex:1;height:1px}button.forgot{color:var(--accent);align-self:flex-start;padding:0;font-size:13px;text-decoration:underline}@media (any-hover:hover){button.forgot:hover{color:var(--good)}}button.ghost.logout-btn{color:var(--text);font-weight:600}@media (any-hover:hover){button.ghost.logout-btn:hover{border-color:var(--muted)}}.notice{color:var(--good);background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--r-md);margin:0;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.55}.field-error{color:var(--bad);font-size:12px;font-weight:500}.settings-head{flex-direction:column;gap:2px;display:flex}.settings-email{color:var(--text);text-overflow:ellipsis;font-size:14px;overflow:hidden}.account-settings .btn-group,.auth .btn-group{gap:8px}.tabs{border-bottom:1px solid var(--border);gap:3px;display:flex}.tab{font:inherit;border:1px solid var(--border);border-radius:var(--r-md) 9px 0 0;background:var(--card);color:var(--muted);cursor:pointer;border-bottom:none;margin-bottom:-1px;padding:9px 20px;font-size:15px;font-weight:600;transition:color .15s,background .15s}@media (any-hover:hover){.tab:hover:not(.active){color:var(--text)}}.tab.active{background:var(--bg);color:var(--accent);border-color:var(--border);box-shadow:0 1px 0 0 var(--bg);padding-bottom:10px}.tab:active{transform:none}.subtab-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.subtabs{gap:5px;display:flex}.period{align-items:center;gap:3px;margin-left:auto;display:flex}button.period-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}@media (any-hover:hover){button.period-btn:hover:not(.active){color:var(--text)}}button.period-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}.period-custom{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.period-custom input{width:58px;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:var(--r-md);padding:3px 6px;font-size:12px}.period-custom input:focus{outline:none}.subtab{font:inherit;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:600}.subtab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.item-list{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.item-row{border-top:1px solid var(--border);background:linear-gradient(100deg, var(--row-green) 0%, var(--card) 40%, var(--row-dark) 100%);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.item-row:first-child{border-top:0}.item-row{cursor:pointer}.row-chevron{color:var(--muted);flex:none;display:none}@media (any-hover:hover){.item-row:hover .item-title{color:var(--ink-hi)}}@media (width<=767px){.item-row{gap:12px;padding:12px}.item-row>button.row-action{display:none}.row-chevron{display:inline-flex}.item-row:active{background:var(--accent-tint)}}.item-info{flex:1;min-width:0}.item-title{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:15px;font-weight:600;display:flex}.score-chip,.new-chip,.solved-chip,.kind-chip{white-space:nowrap}.score-chip{color:var(--accent);background:var(--accent-tint);border-radius:var(--r-sm);padding:1px 8px;font-size:12px;font-weight:600}.kind-chip{color:var(--accent);background:var(--accent-tint);border-radius:var(--r-sm);white-space:nowrap;padding:1px 8px;font-size:12px;font-weight:600}.new-chip,.solved-chip{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.new-chip{color:var(--accent);border:1px solid var(--accent)}.solved-chip{color:var(--muted);border:1px solid var(--border);font-weight:500}.thumb{border-radius:var(--r-sm);border:1px solid var(--border);flex:none;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:60px;height:60px;display:grid;overflow:hidden}.thumb-sq{justify-content:center;align-items:center;font-size:6.5px;line-height:1;display:flex}.item-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;margin-top:2px;font-size:13px;display:flex}.meta-field+.meta-field,.item-meta>a.link{border-left:1px solid var(--border);margin-left:8px;padding-left:8px}.mq{color:var(--muted);margin-right:.35em;font-size:1.1em;font-weight:700}.mq.good{color:var(--good)}.mq.bad{color:var(--loss)}.icon-btn{border:1px solid var(--border);border-radius:var(--r-md);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;place-items:center;padding:0;line-height:0;display:inline-grid}.icon-btn svg{width:22px;height:22px}.actions.retry-row{flex-wrap:wrap;flex:none;gap:6px;margin-top:4px}.actions.retry-row .ghost{border-radius:var(--r-md);padding:4px 10px;font-size:12px;font-weight:600}.actions{flex-wrap:wrap}.btn-group{gap:8px;display:flex}header .tag{color:#e9eadab8;letter-spacing:0;white-space:nowrap;font-size:15px;font-weight:400}@media (width<=767px){header .tag{font-size:13px}}.nav .sub{color:var(--muted);margin:0;font-size:12.5px}.panel-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:-4px;display:flex}.panel-meta .import-line{margin:0 0 0 auto}.board-wrap{width:min(66%, calc(78svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)));aspect-ratio:1;background:var(--square-dark);flex:none;align-self:flex-start;max-width:100%}@media (width<=767px){.board-wrap{flex:none;width:100%;max-width:480px;margin:0 auto}}.panel{border-top:1px solid var(--border);padding:16px 18px}.side>.panel:first-child{border-top:0}.panel.prompt p{margin-bottom:12px}.verdict{margin-bottom:10px;font-size:18px}.panel.review>.verdict,.panel.review>p.verdict{margin-top:0;margin-bottom:4px;font-size:14px;font-weight:400;line-height:1.5}.verdict.good{color:var(--good)}.verdict.bad{color:var(--loss)}.verdict.neutral{color:var(--text)}.hook{color:var(--muted);font-size:15px}.actions{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}button{font:inherit;border-radius:var(--r-md);background:var(--action);color:var(--action-ink);cursor:pointer;border:none;padding:9px 16px;font-size:15px;font-weight:600}button:active{transform:translateY(1px)}button.ghost{color:var(--muted);border:1px solid var(--border);background:0 0;font-weight:500}button.ghost.active{color:var(--accent);border-color:var(--accent);background:var(--accent-tint);font-weight:600}button.heart-btn{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:999px;padding:6px 12px;font-size:20px;line-height:1;transition:color .15s,border-color .15s,background .15s}@media (any-hover:hover){button.heart-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}}button.heart-btn.saved{color:var(--accent);border-color:var(--accent);background:var(--accent-tint)}@media (any-hover:hover){button.heart-btn.saved:hover{opacity:.75}}.to-move{align-items:center;gap:8px;margin-bottom:4px;display:flex}.side-chip{border-radius:var(--r-sm);border:1.5px solid #fff;flex:none;width:13px;height:13px}.side-chip.white{background:#fff}.side-chip.black{background:#111}.prompt-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.prompt-head .to-move{margin-bottom:0}.opp-select{font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;max-width:150px;padding:3px 6px;font-size:12px;font-weight:600}@media (any-hover:hover){.opp-select:hover{color:var(--text);border-color:var(--muted)}}.opp-select:focus{border-color:var(--accent);outline:none}.info-tip{color:var(--muted);cursor:help;align-items:center;display:inline-flex;position:relative}@media (any-hover:hover){.info-tip:hover,.info-tip:focus-visible{color:var(--accent);outline:none}}.info-bubble{z-index:20;width:max-content;max-width:220px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);opacity:0;visibility:hidden;padding:7px 10px;font-size:12px;font-weight:500;line-height:1.45;transition:opacity .12s;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 8px 22px #00000073}.bubble-note{border-top:1px solid var(--border);color:var(--muted);margin-top:6px;padding-top:6px;display:block}.info-tip.open .info-bubble{opacity:1;visibility:visible}@media (any-hover:hover){.info-tip:hover .info-bubble{opacity:1;visibility:visible}}button.bare.info-btn{color:inherit;align-items:center;padding:0;display:inline-flex}.head-actions{align-items:center;gap:2px;display:flex}button.bare{color:var(--muted);background:0 0;border:none;padding:2px 6px;line-height:0;transition:color .15s}@media (any-hover:hover){button.bare:hover:not(:disabled){color:var(--text)}}button.bare:active{transform:none}button.heart-bare.saved{color:#fff}@media (any-hover:hover){button.danger-bare:hover:not(:disabled){color:var(--bad)}}.panel.notes{padding:12px 14px}.notes-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.notes-label{color:var(--muted);font-size:13px;font-weight:600}button.notes-btn{border-radius:var(--r-md);padding:4px 12px;font-size:13px;font-weight:600}.notes-text{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.notes-input{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);resize:vertical;padding:8px 10px;font-size:14px;line-height:1.5}.notes-input:focus{border-color:var(--accent);outline:none}.what-happened{color:var(--muted);font-size:14px;line-height:1.6}.what-happened p{margin:0}.what-happened strong{color:var(--text)}.what-happened .delta{color:var(--loss);font-weight:600}.confirm-delete{align-items:center;gap:4px;display:flex}button.confirm-yes{color:var(--bad);padding:3px 6px;font-size:13px;font-weight:600;line-height:1}button.confirm-no{padding:3px 6px;font-size:14px;line-height:1}.puzzle-foot{flex-direction:column;gap:12px;margin-top:16px;display:flex}.puzzle-foot .what-happened{margin-top:auto}.puzzle-foot .btn-group{gap:8px;display:flex}.puzzle-foot .fixed-w{text-align:center;flex:0 0 104px;padding-left:0;padding-right:0}.puzzle-foot .grow{flex:1;min-width:0;font-size:15px}.retry-feedback{justify-content:space-between;align-items:center;gap:12px;display:flex}.link{color:var(--accent);text-underline-offset:.28em;font-weight:600;text-decoration:none;text-decoration-thickness:1px}@media (any-hover:hover){.link:hover{text-decoration:underline}}.panel.info{color:var(--muted);padding:12px 14px;font-size:13px;line-height:1.55}.info-title{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.info-title-text{align-items:center;gap:8px;min-width:0;display:flex}.info-result{text-transform:capitalize;border-radius:var(--r-sm);border:1px solid var(--border);color:var(--muted);padding:0 8px;font-size:12px;font-weight:600}.info-result.win{color:var(--good);border-color:var(--good)}.info-result.loss{color:var(--loss);border-color:var(--loss)}.eval-chart{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex:none;width:100%;height:auto;margin:4px 0 10px;display:block}.stepper{flex-wrap:wrap;flex:none;align-items:center;gap:4px;margin:2px 0;display:flex}.stepper .ghost{border-radius:var(--r-md);padding:2px 8px;font-size:12px;line-height:1.4}.step-label{text-align:center;color:var(--muted);flex:1;min-width:140px;font-size:14px}.step-label strong{color:var(--text)}.movelist{font-variant-numeric:tabular-nums;grid-template-columns:2.2em 1fr 1fr;align-content:start;gap:1px 4px;max-height:132px;margin:2px 0;display:grid;overflow-y:auto}.move-no{color:var(--muted);text-align:right;padding-right:2px;font-size:12px}button.move{font:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:left;border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;border:none;padding:1px 6px;font-size:13px}@media (any-hover:hover){button.move:hover{background:var(--accent-tint)}}button.move.active{background:var(--accent);color:var(--bg);font-weight:600}.move-gap{color:var(--muted);padding:1px 6px;font-size:13px}.delta.bad{color:var(--loss)}.delta.good{color:var(--good)}button:disabled{opacity:.4;cursor:default}.app-foot{border-top:1px solid var(--border);font-size:var(--fs-small);color:var(--muted);flex-direction:column;align-items:center;gap:6px;margin-top:40px;padding-top:16px;display:flex}.foot-links{flex-wrap:wrap;justify-content:center;display:flex}.foot-links>*+*{margin-left:10px;padding-left:10px}.foot-links>*+a,.foot-links>*+button.bare{border-left:1px solid var(--border)}.app-foot .link{color:var(--muted);font-size:13px}@media (pointer:coarse){button.modal-close,button.icon-btn,button.heart-btn,button.bare.info-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.subtab{padding-top:10px;padding-bottom:10px}.auth input,.account-settings input,.period-custom input,.notes-input,.opp-select{font-size:16px}}html,body{overscroll-behavior:none}html{background:var(--bg)}button,.tab,.subtab,.period-btn,.link,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.board-wrap,.move-list,.thumb{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}header .icon-btn{background:#0000002e;border-color:#e9eada2e}.intro{background:linear-gradient(100deg, var(--row-green) 0%, var(--card) 55%);border:1px solid var(--border);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.intro-title{color:var(--ink-hi);letter-spacing:-.01em;margin:0 0 10px;font-size:17px;font-weight:700}.intro-points{color:var(--text);flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;line-height:1.5;list-style:none;display:flex}.intro-points li{align-items:baseline;gap:10px;display:flex}.intro-marker{flex:none;justify-content:center;width:20px;display:inline-flex}.intro-points:not(.ordered) .intro-marker:before{content:"";background:var(--accent);border-radius:1px;width:6px;height:6px;transform:translateY(-2px)}.intro-points.ordered .intro-marker{height:20px;color:var(--bg);background:var(--accent);border-radius:999px;align-self:flex-start;align-items:center;margin-top:1px;font-size:11px;font-weight:700}.intro-foot{color:var(--muted);margin:10px 0 0;font-size:13px}button.intro-cta{white-space:nowrap;flex:none}@media (width<=767px){.intro{flex-direction:column;align-items:stretch;padding:16px}}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:var(--r-md);flex-direction:column;align-items:center;gap:6px;padding:40px 20px 44px;display:flex}.empty-mark{color:var(--muted);opacity:.6;margin-bottom:4px;font-family:Apple Symbols,Segoe UI Symbol,Noto Sans Symbols2,serif;font-size:34px;line-height:1}.empty-title{color:var(--ink-hi);margin:0;font-size:16px;font-weight:600}.empty-body{max-width:42ch;color:var(--muted);margin:0;font-size:14px;line-height:1.55}button.bare.back-link{color:var(--muted);align-self:flex-start;padding:2px 0;font-size:13px;font-weight:600;line-height:1.4}@media (any-hover:hover){button.bare.back-link:hover{color:var(--accent)}}button.bare.inline-link{line-height:inherit;font:inherit;color:var(--accent);text-underline-offset:.28em;padding:0;font-weight:600;text-decoration:underline;display:inline}.form-error{color:var(--bad);border-radius:var(--r-md);background:#d9584a1a;border:1px solid #d9584a73;margin:0;padding:8px 11px;font-size:13px;line-height:1.5}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:48px 0;font-size:14px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:999px;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@media (width<=1023px){.info-title{flex-wrap:wrap;row-gap:8px}.info-title .head-actions{margin-left:auto}}.move-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=1023px){.info-title .head-actions:has(.opp-select){width:100%}.info-title .opp-select{flex:1;min-width:0}}.panel.reveal .move-hint{margin-top:10px}.to-move-side{color:var(--muted);font-weight:400}@media (width<=767px){.puzzle-foot button{white-space:nowrap;padding-inline:12px}.puzzle-foot .fixed-w{flex-basis:80px}}.panel-meta .sub>strong{color:var(--text);margin-right:6px;font-weight:600}.panel-meta .sub .info-tip{vertical-align:-3px;margin-left:6px}.info-tip.align-left .info-bubble{left:0;right:auto}.panel-meta .sub .info-bubble{width:min(320px,100vw - 48px);max-width:none;padding:10px 12px;font-size:13px;line-height:1.5}@media (width<=1023px){.panel-meta .sub .info-tip{position:static}.panel-meta .sub{position:relative}.panel-meta .sub .info-tip.align-left .info-bubble{width:min(360px,100%);left:auto;right:0}}@media (width<=767px){.header-btns{flex-wrap:wrap;justify-content:flex-end;row-gap:6px;max-width:50%}.header-btns .who{text-align:right;max-width:none;color:var(--ink-warm);background:0 0;flex-basis:100%;order:3;padding:0;font-size:12px}}.intro{position:relative}button.intro-close{position:absolute;top:8px;right:8px}.intro.dismissible .intro-title{padding-right:36px}@media (any-hover:hover){button:not(.ghost):not(.bare):not(.icon-btn):not(.subtab):not(.tab):not(.period-btn):not(.row-action):not(.danger-btn):not(:disabled):hover{background:var(--action-hi)}}button.row-action{color:var(--action);border:1px solid var(--action-edge);background:0 0}@media (any-hover:hover){.item-row:hover button.row-action,button.row-action:hover{background:var(--action-tint);border-color:var(--action)}}.subtab-row .review-filter{margin-left:auto}button.row-action{text-align:center;flex:none;min-width:120px}button.bare.delete-account-link{color:var(--muted);text-underline-offset:.28em;align-self:flex-start;margin-top:4px;padding:0;font-size:13px;line-height:1.4;text-decoration:underline}@media (any-hover:hover){button.bare.delete-account-link:hover{color:var(--bad)}}.delete-account{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:6px;padding-top:14px;display:flex}.delete-account-text{color:var(--text);margin:0;font-size:13px;line-height:1.5}button.danger-btn{background:var(--bad);color:#fff}@media (any-hover:hover){button.danger-btn:not(:disabled):hover{background:#e2685b}}.success-note{color:var(--text);background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:8px 8px 8px 12px;font-size:13px;line-height:1.5;display:flex}button.bare.note-close{padding:4px 6px;font-size:13px;line-height:1}@media (width>=768px) and (orientation:portrait){.layout{flex-direction:column;align-items:stretch;max-height:none}.board-wrap{width:min(100%, calc(100svh - 300px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:none;margin:0 auto}.side{flex:none;width:100%;min-width:0}}.item-status{align-items:center;display:inline-flex}
