:root{--ink:#0c1214;--ink-2:#131c1f;--ink-3:#1b262a;--line:#29373b;--line-soft:#1f2b2f;--text:#ece6d8;--text-muted:#8b9c9c;--gold:#c9993f;--gold-bright:#e2b65f;--green:#6fa383;--red:#c96a5a;--amber:#d3a24a;--teal-light:#57a496;--paper:#f3ecdc;--paper-2:#e9e1cd;--paper-line:#d6cbb1;--ink-text:#202725;--ink-muted:#5f6a62;--bronze:#8a6420;--teal:#2f6b62;--radius-card:10px;--radius-control:6px;--font-display:Georgia,"Times New Roman",serif;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{color-scheme:dark}body,html{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(1100px 520px at 72% -8%,rgba(201,153,63,.1),transparent 62%),var(--ink);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:rgba(201,153,63,.32)}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.dashboard{width:min(1180px,100%);margin:0 auto;padding:1.25rem 1.5rem 2.5rem}.analysis-dashboard{width:min(1440px,100%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.6rem 0 1rem;border-bottom:1px solid var(--line-soft)}.wordmark{display:inline-flex;align-items:baseline;gap:.5rem;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;color:var(--text);text-decoration:none}.wordmark-glyph{color:var(--gold);font-size:1.1rem}.topbar-actions{display:flex;align-items:center;gap:1.1rem}.nav-link{color:var(--text-muted);font-size:.95rem;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.nav-link:hover{color:var(--gold-bright);border-bottom-color:rgba(226,182,95,.5)}.user-menu{display:flex;align-items:center;gap:.85rem}.user-name{font-size:.9rem;color:var(--text-muted);font-weight:600}.btn{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;padding:.72rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-control);background:var(--gold);color:#181c16;font-family:inherit;font-size:.98rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:var(--gold-bright)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:transparent;border-color:var(--gold);color:var(--text)}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);grid-gap:3.5rem;gap:3.5rem;align-items:center;padding:2.75rem 0 1rem}.hero-copy{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.hero-title{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(2.3rem,4.6vw,3.5rem);font-weight:600;line-height:1.06;letter-spacing:-.02em}.hero-lede{max-width:46ch;margin:0 0 1.9rem;color:var(--text-muted);font-size:1.08rem;line-height:1.65}.hero-visual{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:rise .9s cubic-bezier(.2,.7,.2,1) .12s both}.hero-board{width:100%;max-width:430px;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--line);border-radius:8px;box-shadow:0 0 0 8px var(--ink-2),0 34px 60px -42px rgba(0,0,0,1)}.hero-board .cg-wrap{width:100%;height:100%}.hero-board .cg-shapes .green{color:var(--gold);opacity:.92}.hero-caption{margin:0;font-family:var(--font-display);font-style:italic;font-size:.98rem;color:var(--text-muted);text-align:center}.signin-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.6rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.signin-card h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em}.signin-card p{margin:0 0 .5rem;color:var(--text-muted);font-size:.98rem}.analyzer-form{display:flex;flex-direction:column;gap:1.1rem;padding:1.6rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 26px 50px -40px rgba(0,0,0,.95)}.platform-toggle{display:inline-flex;gap:.3rem;align-self:flex-start;padding:.25rem;background:var(--ink-3);border:1px solid var(--line);border-radius:999px}.toggle{padding:.45rem 1.05rem;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.toggle:hover:not(:disabled){color:var(--text)}.toggle.active{background:var(--gold);color:#181c16;font-weight:700}.toggle:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.45rem}.field span{color:var(--text-muted);font-size:.88rem;font-weight:600}.field input{padding:.72rem .9rem;background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-family:inherit;font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:#5d6b6d}.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,153,63,.18)}.analyzer-form .btn{align-self:stretch;justify-content:center;margin-top:.25rem;padding-block:.85rem}.quota-panel{display:flex;justify-content:space-between;gap:1rem;margin-top:.9rem;padding:.65rem .95rem;border:1px dashed var(--line);border-radius:8px;font-size:.88rem;font-weight:600}.quota-panel,.status-badge{align-items:center;color:var(--text-muted)}.status-badge{display:inline-flex;gap:.6rem;margin-top:1rem;padding:.55rem 1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:999px;font-size:.9rem;animation:pulse 1.8s ease-in-out infinite}.status-badge.done{color:var(--green);border-color:rgba(111,163,131,.4);animation:none}.status-mark{color:var(--green);font-weight:700}.spinner{width:.9rem;height:.9rem;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.error-banner{margin-top:1rem;padding:.9rem 1.1rem;background:rgba(201,106,90,.12);border:1px solid rgba(201,106,90,.5);border-radius:var(--radius-control);color:#e8a89c;font-size:.95rem}.report{max-width:860px;margin:2.5rem auto 0;padding:2.5rem clamp(1.25rem,4vw,3rem);background:var(--paper);border-radius:var(--radius-card);color:var(--ink-text);overflow-wrap:break-word;box-shadow:0 34px 60px -48px rgba(0,0,0,1)}.report h2{margin:2.25rem 0 .6rem;padding-top:1rem;border-top:1px solid var(--paper-line);font-family:var(--font-display);font-size:1.55rem;font-weight:600;letter-spacing:-.01em}.report h2:first-child{margin-top:0;padding-top:0;border-top:none}.report h3{margin:1.4rem 0 .4rem;font-family:var(--font-display);font-size:1.18rem;font-weight:600}.report p{max-width:68ch;line-height:1.7}.report ol,.report ul{padding-left:1.4rem}.report li{margin:.3rem 0}.report a{color:var(--bronze);-webkit-text-decoration-color:rgba(138,100,32,.4);text-decoration-color:rgba(138,100,32,.4);text-underline-offset:2px}.report a:hover{-webkit-text-decoration-color:var(--bronze);text-decoration-color:var(--bronze)}.report blockquote{margin:1rem 0;padding-left:1rem;border-left:3px solid var(--paper-line);color:var(--ink-muted)}.report table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.92rem}.report td,.report th{padding:.4rem .6rem;border-bottom:1px solid var(--paper-line);text-align:left}.report th{color:var(--ink-muted);font-weight:600}.report code{padding:.12rem .35rem;border:1px solid var(--paper-line);border-radius:4px;font-size:.88em}.report code,.report pre{background:var(--paper-2)}.report pre{padding:1rem;border:1px solid var(--paper-line);border-radius:8px;overflow-x:auto}.report-section+.report-section{margin-top:1.5rem}.eval-chart{margin:1rem 0;padding:.75rem;background:var(--paper-2);border:1px solid var(--paper-line);border-radius:8px}.eval-chart svg{display:block;width:100%;height:auto}.eval-zero{stroke:var(--paper-line);stroke-width:1;stroke-dasharray:4 4}.eval-line{stroke:var(--teal);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.accuracy-chart{display:flex;flex-direction:column;gap:.9rem;margin:1rem 0;padding:1rem 1.1rem;background:var(--paper-2);border:1px solid var(--paper-line);border-radius:8px}.acc-bar-group{display:grid;grid-template-columns:2.6rem 1fr 7.5rem;align-items:center;grid-gap:.75rem;gap:.75rem}.acc-value{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--ink-text);text-align:right}.acc-bar-track{height:1rem;background:#ded4bd;border:1px solid var(--paper-line);border-radius:999px;overflow:hidden}.acc-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:999px;transition:width .4s ease}.acc-label{color:var(--ink-muted);font-size:.88rem;font-weight:600}.section-boards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1rem;gap:1rem;margin:.85rem 0}.section-boards .insight-card{display:flex;flex-direction:column}.section-boards .critical-board{width:100%;max-width:100%;margin:.6rem 0 0}.insight-card{padding:1.1rem 1.15rem;background:var(--paper-2);border:1px solid var(--paper-line);border-left:3px solid var(--ink-muted);border-radius:8px}.insight-card.quality-blunder{border-left-color:var(--red)}.insight-card.quality-mistake{border-left-color:var(--amber)}.insight-card.quality-inaccuracy{border-left-color:#c9a227}.insight-card.quality-strong{border-left-color:var(--green)}.insight-card-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.insight-move{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.insight-badge{padding:.15rem .55rem;border:1px solid var(--paper-line);border-radius:999px;color:var(--ink-muted);font-size:.76rem;font-weight:700}.quality-blunder .insight-badge{color:#a94f42;border-color:rgba(169,79,66,.45)}.quality-mistake .insight-badge{color:#9a7420;border-color:rgba(154,116,32,.45)}.quality-inaccuracy .insight-badge{color:#8d7a1d;border-color:rgba(141,122,29,.45)}.quality-strong .insight-badge{color:#3f7d5c;border-color:rgba(63,125,92,.45)}.insight-cp{color:#a94f42;font-size:.85rem;font-weight:700}.insight-phase{padding:.15rem .55rem;border:1px solid var(--paper-line);border-radius:999px;color:var(--ink-muted);font-size:.78rem;font-weight:600}.insight-block{margin:.65rem 0}.insight-block p{margin:.15rem 0}.insight-label{display:block;margin-bottom:.1rem;font-family:var(--font-display);font-style:italic;font-size:.86rem;color:var(--ink-muted)}.insight-pv{color:var(--ink-muted);font-size:.9rem}.insight-opening-name{font-weight:600}.critical-board{position:relative;width:100%;max-width:360px;aspect-ratio:1/1;margin:.6rem 0;border:1px solid var(--paper-line);border-radius:8px;overflow:hidden}.critical-board .cg-wrap{width:100%;height:100%}.critical-board .cg-custom-highlight{background:rgba(201,153,63,.5)!important}.resource-links{display:flex;flex-direction:column;gap:.5rem;margin-top:.85rem}.resource-link{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.6rem .9rem;background:transparent;border:1px solid var(--paper-line);border-radius:8px;color:var(--bronze);font-size:.92rem;font-weight:600;text-decoration:none;transition:border-color .15s ease,background .15s ease}.resource-link:hover{background:rgba(138,100,32,.06);border-color:var(--bronze)}.resource-title{flex:1 1}.resource-move{color:var(--ink-muted);font-size:.78rem;font-weight:600;white-space:nowrap}.opening-table{width:100%;margin-top:.4rem;border-collapse:collapse;font-size:.88rem}.opening-table td,.opening-table th{padding:.35rem .5rem;border-bottom:1px solid var(--paper-line);text-align:left}.opening-table th{color:var(--ink-muted);font-weight:600}.tb-win{color:#3f7d5c}.tb-loss{color:#a94f42}.tb-draw{color:#9a7420}.tb-changed{color:#a94f42;font-weight:600}.history-panel{margin-top:3.5rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.6rem;margin-bottom:.9rem;border-bottom:1px solid var(--line-soft)}.history-panel h2,.section-head h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em}.history-empty{padding:1.4rem;border:1px dashed var(--line);border-radius:8px;color:var(--text-muted);font-size:.95rem}.history-list{display:flex;flex-direction:column}.history-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.85rem .6rem;border-bottom:1px solid var(--line-soft);transition:background .15s ease}.history-item:hover{background:var(--ink-2)}.history-item-open{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1 1;min-width:0;padding:0;background:transparent;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.history-game-link{flex-shrink:0;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.history-game-link:hover{color:var(--gold-bright);border-color:rgba(226,182,95,.5)}.history-item-main{display:flex;align-items:center;gap:.75rem;min-width:0}.history-platform{padding:.15rem .5rem;border:1px solid var(--line);border-radius:4px;color:var(--text-muted);font-size:.75rem}.history-meta,.history-platform{font-weight:600;white-space:nowrap}.history-meta{overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.history-item:hover .history-meta{color:var(--gold-bright)}.history-item-side{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.history-date{color:var(--text-muted);font-size:.82rem}.history-status{padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:700}.status-completed{color:var(--green);border-color:rgba(111,163,131,.35)}.status-processing{color:var(--amber);border-color:rgba(211,162,74,.35)}.status-failed{color:var(--red);border-color:rgba(201,106,90,.35)}.review-panel{margin-top:3.5rem}.review-summary{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.9rem;font-weight:600}.stars{display:inline-flex;gap:.08rem;font-size:1rem;line-height:1}.stars .star{color:var(--line)}.stars .star.filled{color:var(--gold-bright)}.review-form{display:flex;flex-direction:column;gap:.8rem;padding:1.15rem 1.25rem;margin-bottom:1.25rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.review-form-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-form-label{font-size:.95rem;font-weight:700}.star-input{display:inline-flex;gap:.15rem}.star-button{padding:0 .1rem;background:transparent;border:none;color:var(--line);font-size:1.6rem;line-height:1;cursor:pointer;transition:color .12s ease,transform .12s ease}.star-button.active,.star-button:hover:not(:disabled){color:var(--gold-bright)}.star-button:active:not(:disabled){transform:scale(.92)}.star-button:disabled{cursor:not-allowed;opacity:.6}.review-form textarea{width:100%;padding:.7rem .8rem;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-family:inherit;font-size:.95rem;resize:vertical}.review-form-actions{display:flex;align-items:center;gap:.85rem}.review-char-count{color:var(--text-muted);font-size:.8rem}.review-signin{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.25rem;margin-bottom:1.25rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.review-signin p{margin:0;color:var(--text-muted)}.review-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.review-card{padding:1rem 1.1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.review-card-mine{border-color:rgba(201,153,63,.45)}.review-card-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.review-card .stars{font-size:.85rem}.review-author{font-size:.9rem;font-weight:700}.review-mine-badge{padding:.05rem .45rem;border:1px solid rgba(201,153,63,.45);border-radius:999px;color:var(--gold);font-size:.7rem;font-weight:700}.review-comment{margin:0;font-size:.92rem;overflow-wrap:anywhere}.analysis-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:2rem;gap:2rem;align-items:start}.analysis-report-column{min-width:0}.analysis-report-column .report{margin-top:0}.analysis-thread-column{position:-webkit-sticky;position:sticky;top:1.25rem;max-height:calc(100vh - 2.5rem);display:flex;flex-direction:column}.analysis-thread-column h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.15rem;font-weight:600}.analysis-thread-column .thread{flex:1 1;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 5rem)}.analysis-thread-column .thread-messages{flex:1 1;min-height:0;padding-right:.25rem;overflow-y:auto}.game-header{padding:2.25rem 0 1.5rem}.chip{display:inline-block;padding:.15rem .55rem;border:1px solid rgba(201,153,63,.45);border-radius:4px;color:var(--gold);font-size:.78rem;font-weight:700}.game-title{margin:.65rem 0 .35rem;font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:600;line-height:1.1;letter-spacing:-.015em}.game-meta{margin:0}.game-link,.game-meta{color:var(--text-muted)}.game-link{display:inline-block;margin-top:.75rem;padding:.3rem .75rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s ease,border-color .15s ease}.game-link:hover{color:var(--gold-bright);border-color:rgba(226,182,95,.5)}.thread{padding:1.25rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.thread-messages{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.thread-empty{color:var(--text-muted);font-size:.92rem}.thread-message{padding:.7rem .9rem;background:var(--ink-3);border:1px solid var(--line);border-radius:8px}.thread-message.role-user{border-left:3px solid var(--gold)}.thread-message.role-assistant{border-left:3px solid var(--teal-light)}.thread-author{display:block;margin-bottom:.2rem;font-family:var(--font-display);font-style:italic;font-size:.82rem;color:var(--text-muted)}.thread-content{white-space:pre-wrap;overflow-wrap:break-word}.thread-typing{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.9rem}.thread-composer{display:flex;gap:.6rem}.thread-composer input{flex:1 1;min-width:0;padding:.7rem .9rem;background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-family:inherit;font-size:1rem}.thread-composer input::placeholder{color:#5d6b6d}.thread-composer input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,153,63,.18)}.thread-composer .btn{align-self:auto;padding-inline:1.25rem}.upgrade-prompt{padding:1.5rem;background:var(--ink-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius-card)}.upgrade-prompt h3{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.2rem;font-weight:600}.upgrade-prompt p{margin:0 0 .6rem;color:var(--text-muted)}.upgrade-prompt .upgrade-note{color:var(--gold);font-weight:600}.upgrade-prompt .btn{margin-top:.5rem}.upgrade-hero{max-width:560px;margin:4rem auto 0;padding:2.5rem;text-align:center}.upgrade-hero h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:2.1rem;font-weight:600;letter-spacing:-.015em}.upgrade-hero .upgrade-price{color:var(--text);font-size:2rem;font-weight:700}.upgrade-hero .upgrade-price span{color:var(--text-muted);font-size:1rem;font-weight:400}.billing-message{color:var(--gold)!important;font-weight:600}.upgrade-back{display:block;margin-top:1.5rem}.upgrade-hero ul{display:inline-block;margin:0 auto 1.25rem;padding-left:1.3rem;color:var(--text-muted);text-align:left}.subscription-cta{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin-top:.5rem}.subscription-cta .btn{align-self:center}.plan-status{margin:0 0 .5rem!important}.plan-pill{display:inline-block;padding:.25rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700;letter-spacing:.02em}.plan-pill.plan-paid{background:rgba(201,153,63,.18);border:1px solid rgba(201,153,63,.55);color:var(--gold-bright)}.plan-pill.plan-free{background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--text-muted)}.billing-meta{color:var(--text-muted);font-size:.95rem}.invoice-block{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line-soft)}.invoice-block h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.15rem;font-weight:600}.upgrade-hero .invoice-list{display:block;margin:0;padding:0;list-style:none}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line-soft);color:var(--text-muted);font-size:.92rem}.invoice-row a{color:var(--gold-bright)}.invoice-status{text-transform:capitalize}.site-footer{width:min(1180px,100%);margin:0 auto;padding:0 1.5rem 2.5rem}body:has(.legal-dashboard) .site-footer{width:min(860px,100%)}body:has(.analysis-dashboard) .site-footer{width:min(1440px,100%)}.site-footer-inner{display:flex;flex-direction:column;gap:.85rem;padding-top:1.5rem;border-top:1px solid var(--line-soft)}.site-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem}.site-footer-brand{display:inline-flex;align-items:baseline;gap:.45rem;margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.site-footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.site-footer-links a,.site-footer-note a{color:var(--text-muted);font-size:.88rem;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.site-footer-links a:hover,.site-footer-note a:hover{color:var(--gold-bright);border-bottom-color:rgba(226,182,95,.5)}.site-footer-note{margin:0;color:var(--text-muted);font-size:.82rem}.legal-dashboard{width:min(860px,100%)}.legal-page{max-width:720px;padding:2.5rem 0 1rem;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.legal-page h1{margin:0 0 .35rem;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.02em}.legal-page h1,.legal-page h2{font-family:var(--font-display);font-weight:600}.legal-page h2{margin:2rem 0 .6rem;font-size:1.25rem;letter-spacing:-.01em}.legal-page p,.legal-page ul{margin:0 0 1rem;color:var(--text-muted)}.legal-page ul{padding-left:1.3rem}.legal-page li{margin-bottom:.5rem}.legal-page a{color:var(--gold-bright)}.legal-page strong{color:var(--text)}.legal-updated{font-size:.88rem}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.65}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (max-width:960px){.hero{grid-template-columns:1fr;gap:2.5rem;padding-top:2rem}.hero-visual{order:2}.analysis-workspace{grid-template-columns:1fr}.analysis-thread-column{position:static;max-height:none}.analysis-thread-column .thread{max-height:none}}@media (max-width:560px){.dashboard,.site-footer{padding-inline:1.1rem}.acc-bar-group{grid-template-columns:2.6rem 1fr 5.5rem}.history-item,.history-item-open{align-items:flex-start;flex-direction:column;gap:.5rem}.history-item-open{width:100%}.history-item-side{width:100%;justify-content:space-between}.report{padding:1.75rem 1.15rem}.hero-board{box-shadow:0 0 0 6px var(--ink-2)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.game-rows{flex-direction:column}.game-row,.game-rows{display:flex;gap:.5rem}.game-row{align-items:center}.game-row-index{flex-shrink:0;width:1.5rem;color:var(--text-muted);font-size:.85rem;font-weight:700;text-align:center}.game-row input{flex:1 1;min-width:0;padding:.6rem .8rem;background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.game-row input::placeholder{color:#5d6b6d}.game-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,153,63,.18)}.game-row-color{display:inline-flex;flex-shrink:0;gap:.15rem;padding:.15rem;background:var(--ink-3);border:1px solid var(--line);border-radius:999px}.color-chip{width:1.8rem;padding:.3rem 0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.color-chip:hover:not(:disabled){color:var(--text)}.color-chip.active{background:var(--gold);color:#181c16}.color-chip:disabled{opacity:.5;cursor:not-allowed}.game-row-remove{flex-shrink:0;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease}.game-row-remove:hover:not(:disabled){color:var(--red);border-color:rgba(201,106,90,.55)}.game-row-remove:disabled{opacity:.35;cursor:not-allowed}.game-rows-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.add-game{padding:.35rem .8rem;background:transparent;border:1px dashed var(--line);border-radius:var(--radius-control);color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.add-game:hover:not(:disabled){color:var(--gold-bright);border-color:rgba(226,182,95,.5)}.add-game:disabled{opacity:.45;cursor:not-allowed}.game-rows-hint{color:var(--text-muted);font-size:.8rem}.batch-progress{margin-top:1rem;padding:.9rem 1rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.batch-progress-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;color:var(--text-muted);font-size:.85rem;font-weight:600}.batch-progress-failed{color:var(--red)}.batch-progress-list{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}.batch-progress-item{display:flex;align-items:center;gap:.7rem;padding:.5rem .6rem;background:var(--ink-3);border:1px solid var(--line-soft);border-left:3px solid var(--line);border-radius:8px}.batch-progress-item.state-active{border-left-color:var(--gold)}.batch-progress-item.state-done{border-left-color:var(--green)}.batch-progress-item.state-failed{border-left-color:var(--red)}.batch-progress-index{flex-shrink:0;width:1.4rem;color:var(--text-muted);font-size:.8rem;font-weight:700;text-align:center}.batch-progress-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.batch-progress-url{font-size:.9rem;font-weight:600}.batch-progress-message,.batch-progress-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-progress-message{color:var(--text-muted);font-size:.8rem}.batch-progress-state{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;color:var(--text-muted);font-size:.78rem;font-weight:700}.state-done .batch-progress-state{color:var(--green)}.state-failed .batch-progress-state{color:var(--red)}.state-active .batch-progress-state{color:var(--gold)}.batch-report-link{display:flex;justify-content:center;margin-top:1.25rem}.history-batch-badge{padding:.15rem .5rem;border:1px solid rgba(201,153,63,.45);border-radius:4px;color:var(--gold);font-size:.75rem;font-weight:700;white-space:nowrap}.batch-games{margin-top:2.5rem}.game-card{padding:1.4rem 1.5rem;margin-bottom:1.25rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-card)}.game-card-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.game-card-index{padding:.15rem .55rem;border-radius:4px;background:var(--gold);color:#181c16;font-size:.78rem;font-weight:700;white-space:nowrap}.game-card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.game-card-meta{color:var(--text-muted);font-size:.85rem;font-weight:600}.game-card .accuracy-chart{margin:.5rem 0 .75rem}.game-card-counts{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.count-blunder{color:var(--red)}.count-mistake{color:var(--amber)}.count-inaccuracy{color:#c9a227}.game-card-toggle{padding:.4rem .9rem;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.game-card-toggle:hover{color:var(--gold-bright);border-color:rgba(226,182,95,.5)}.game-card-moments{margin-top:1rem}.game-card-moments h3{margin:1rem 0 .25rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600}.game-card-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.game-card-batch{color:var(--text-muted);font-size:.78rem;font-weight:600}.insight-game{padding:.15rem .5rem;border:1px solid rgba(138,100,32,.45);border-radius:999px;color:var(--bronze);font-size:.72rem;font-weight:700}@media (max-width:560px){.game-row{flex-wrap:wrap}.game-row input{flex-basis:calc(100% - 2.5rem)}.game-row-color{margin-left:2rem}}