.shudan-goban{--shudan-board-border-width: .15em;--shudan-board-border-color: #CA933A;--shudan-board-background-color: #F1B458;--shudan-board-foreground-color: #5E2E0C;--shudan-black-background-color: #222;--shudan-black-foreground-color: #eee;--shudan-white-background-color: #eee;--shudan-white-foreground-color: #222;position:relative;border:var(--shudan-board-border-width) solid var(--shudan-board-border-color);color:var(--shudan-board-foreground-color)}.shudan-goban:not(.shudan-coordinates){padding:.25em}.shudan-goban-image{background:url(/assets/board-BjQgsRrQ.png) var(--shudan-board-background-color)}.shudan-coordx span,.shudan-coordy span{font-size:.6em}.shudan-vertex div{left:0;top:0;width:100%;height:100%}.shudan-goban:after{content:"";position:absolute;top:calc(-1 * var(--shudan-board-border-width));left:calc(-1 * var(--shudan-board-border-width));bottom:calc(-1 * var(--shudan-board-border-width));right:calc(-1 * var(--shudan-board-border-width));background:linear-gradient(to bottom,rgba(234,220,192,.1),transparent),linear-gradient(to bottom,transparent,rgba(23,10,2,.05));pointer-events:none;z-index:3}.shudan-goban.shudan-busy:after{animation:2s linear -.5s shudan-busy infinite;background-color:#170a021a;background-image:linear-gradient(to right,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);background-size:19em 100%;background-repeat:no-repeat;pointer-events:all}@keyframes shudan-busy{0%{background-position:-19em 0}to{background-position:calc(100% + 19em) 0}}.shudan-gridline,.shudan-hoshi{fill:var(--shudan-board-foreground-color)}.shudan-vertex .shudan-stone{top:.04em;left:.04em;width:calc(100% - .08em);height:calc(100% - .08em)}.shudan-vertex.shudan-sign_0 .shudan-stone{pointer-events:none}.shudan-vertex .shudan-shadow{border-radius:50%}.shudan-vertex .shudan-inner{text-indent:-9999rem}.shudan-vertex:not(.shudan-sign_0).shudan-dimmed .shudan-stone{opacity:.6}.shudan-vertex:not(.shudan-sign_0) .shudan-shadow{background:#170a0266;box-shadow:0 .1em .2em #170a0266}.shudan-stone-image{background-repeat:no-repeat;background-size:100% 100%}.shudan-stone-image.shudan-sign_1{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='43'%20height='43'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3clinearGradient%20id='b'%3e%3cstop%20offset='0'%20stop-color='%23636363'%20stop-opacity='.4'/%3e%3cstop%20offset='1'%20stop-color='%23636363'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='a'%3e%3cstop%20offset='0'%20stop-color='%230b0b0b'/%3e%3cstop%20offset='1'%20stop-color='%23443432'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='0'%20x2='0'%20y1='43'%20y2='0'%20xlink:href='%23a'%20gradientUnits='userSpaceOnUse'/%3e%3clinearGradient%20id='d'%20x1='0'%20x2='0'%20y1='2.38'%20y2='19.27'%20xlink:href='%23b'%20gradientUnits='userSpaceOnUse'/%3e%3c/defs%3e%3cg%3e%3ccircle%20cx='21.5'%20cy='21.5'%20r='20.5'%20fill='url(%23c)'%20stroke='%23000'%20stroke-width='1'/%3e%3ccircle%20cx='21.5'%20cy='21.5'%20r='18.5'%20fill='url(%23d)'%20/%3e%3c/g%3e%3c/svg%3e")}.shudan-stone-image.shudan-sign_-1{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='43'%20height='43'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3clinearGradient%20id='b'%3e%3cstop%20offset='0'%20stop-color='%23eee'%20stop-opacity='.8'/%3e%3cstop%20offset='1'%20stop-color='%23eee'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='a'%3e%3cstop%20offset='0'%20stop-color='%23C9D1FF'/%3e%3cstop%20offset='1'%20stop-color='%23fff'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='0'%20x2='0'%20y1='43'%20y2='0'%20xlink:href='%23a'%20gradientUnits='userSpaceOnUse'%20/%3e%3clinearGradient%20id='d'%20x1='0'%20x2='0'%20y1='40.65'%20y2='30.65'%20xlink:href='%23b'%20gradientUnits='userSpaceOnUse'/%3e%3c/defs%3e%3cg%3e%3ccircle%20cx='21.5'%20cy='21.5'%20r='20.5'%20fill='url(%23c)'%20stroke='%23c3c3c3'%20stroke-width='1'/%3e%3ccircle%20cx='21.5'%20cy='21.5'%20r='18.5'%20fill='url(%23d)'%20/%3e%3c/g%3e%3c/svg%3e")}.shudan-vertex:not(.shudan-sign_0).shudan-animate .shudan-stone{transition:transform .2s}.shudan-vertex:not(.shudan-sign_0).shudan-shift_1 .shudan-stone{transform:translate(-.07em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_2 .shudan-stone{transform:translateY(-.07em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_3 .shudan-stone{transform:translate(.07em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_4 .shudan-stone{transform:translateY(.07em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_5 .shudan-stone{transform:translate(-.04em,-.04em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_6 .shudan-stone{transform:translate(.04em,-.04em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_7 .shudan-stone{transform:translate(.04em,.04em)}.shudan-vertex:not(.shudan-sign_0).shudan-shift_8 .shudan-stone{transform:translate(-.04em,.04em)}.shudan-vertex .shudan-marker{left:.04em;top:.04em;width:calc(100% - .08em);height:calc(100% - .08em);text-align:center;fill:var(--shudan-board-background-color);stroke:var(--shudan-board-foreground-color);stroke-width:.07em;pointer-events:none}.shudan-vertex.shudan-sign_1 .shudan-marker,.shudan-vertex.shudan-sign_-1 .shudan-marker{left:0;top:0;width:100%;height:100%;fill:none}.shudan-vertex.shudan-sign_1 .shudan-marker{stroke:var(--shudan-black-foreground-color)}.shudan-vertex.shudan-sign_-1 .shudan-marker{stroke:var(--shudan-white-foreground-color)}.shudan-vertex.shudan-marker_point .shudan-marker{stroke:none;fill:var(--shudan-board-foreground-color)}.shudan-vertex.shudan-marker_point.shudan-sign_1 .shudan-marker{fill:var(--shudan-black-foreground-color)}.shudan-vertex.shudan-marker_point.shudan-sign_-1 .shudan-marker{fill:var(--shudan-white-foreground-color)}.shudan-vertex.shudan-marker_loader .shudan-marker{stroke-dasharray:1em;animation:1.5s linear 0s shudan-rotation infinite}@keyframes shudan-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shudan-vertex.shudan-marker_label .shudan-marker{display:inline-block;width:auto;height:auto;left:50%;top:50%;max-width:1.67em;max-height:1.67em;overflow:hidden;background:var(--shudan-board-background-color);color:var(--shudan-board-foreground-color);font-size:.6em;line-height:1.26;text-align:center;text-overflow:ellipsis;white-space:pre;transform:translate(-50%,-50%)}.shudan-vertex.shudan-marker_label.shudan-sign_1 .shudan-marker{background:transparent;color:var(--shudan-black-foreground-color)}.shudan-vertex.shudan-marker_label.shudan-sign_-1 .shudan-marker{background:transparent;color:var(--shudan-white-foreground-color)}.shudan-vertex.shudan-smalllabel .shudan-marker{max-height:2.7em;max-width:2.7em;font-size:.36em}.shudan-vertex .shudan-ghost{left:50%;top:50%;width:.4em;height:.4em;opacity:.5;transform:translate(calc(-50% + .5px),calc(-50% + .5px))}.shudan-vertex .shudan-ghost:before{content:"";box-sizing:border-box;display:none;position:absolute;left:50%;top:50%;width:.4em;height:.4em;border-radius:50%;transform:translate(-50%,-50%)}.shudan-vertex.shudan-ghost_faint .shudan-ghost{opacity:.3}.shudan-vertex.shudan-sign_0.shudan-ghost_1 .shudan-ghost:before,.shudan-vertex.shudan-sign_0.shudan-ghost_-1 .shudan-ghost:before{display:block}.shudan-vertex.shudan-ghost_1 .shudan-ghost:before{background:#000c}.shudan-vertex.shudan-ghost_-1 .shudan-ghost:before{background:#fff}.shudan-vertex.shudan-ghost_good .shudan-ghost:before{background:#59a80f}.shudan-vertex.shudan-ghost_interesting .shudan-ghost:before{background:#4886d5}.shudan-vertex.shudan-ghost_doubtful .shudan-ghost:before{background:#92278f}.shudan-vertex.shudan-ghost_bad .shudan-ghost:before{background:#f02311}.shudan-vertex .shudan-paint{overflow:hidden}.shudan-vertex .shudan-paint .shudan-inner{background:transparent;border-radius:.2em}.shudan-vertex.shudan-paint_1 .shudan-paint .shudan-inner{background:var(--shudan-black-background-color)}.shudan-vertex.shudan-paint_-1 .shudan-paint .shudan-inner{background:var(--shudan-white-background-color)}.shudan-vertex.shudan-paintedleft .shudan-paint .shudan-inner{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.shudan-vertex.shudan-paintedright .shudan-paint .shudan-inner{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.shudan-vertex.shudan-paintedtop .shudan-paint .shudan-inner{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.shudan-vertex.shudan-paintedbottom .shudan-paint .shudan-inner{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.shudan-vertex .shudan-heat{top:50%;left:50%;margin-left:-1px;margin-top:-1px;border-radius:50%;width:1px;height:1px;opacity:0;pointer-events:none;transition:opacity .5s,box-shadow .5s}.shudan-vertex.shudan-heat_9 .shudan-heat{background:#59a80f;box-shadow:0 0 1em 1em #59a80f;opacity:.8}.shudan-vertex.shudan-heat_8 .shudan-heat{background:#59a80f;box-shadow:0 0 1em .9em #59a80f;opacity:.7}.shudan-vertex.shudan-heat_7 .shudan-heat{background:#4886d5;box-shadow:0 0 1em .75em #4886d5;opacity:.8}.shudan-vertex.shudan-heat_6 .shudan-heat{background:#4886d5;box-shadow:0 0 1em .6em #4886d5;opacity:.8}.shudan-vertex.shudan-heat_5 .shudan-heat{background:#4886d5;box-shadow:0 0 .9em .55em #4886d5;opacity:.7}.shudan-vertex.shudan-heat_4 .shudan-heat{background:#92278f;box-shadow:0 0 .85em .5em #92278f;opacity:.8}.shudan-vertex.shudan-heat_3 .shudan-heat{background:#92278f;box-shadow:0 0 .8em .45em #92278f;opacity:.7}.shudan-vertex.shudan-heat_2 .shudan-heat{background:#f02311;box-shadow:0 0 .75em .4em #f02311;opacity:.8}.shudan-vertex.shudan-heat_1 .shudan-heat{background:#f02311;box-shadow:0 0 .75em .4em #f02311;opacity:.7}.shudan-vertex .shudan-heatlabel{display:inline-block;height:auto;top:50%;left:50%;overflow:hidden;color:#fff;font-size:.36em;line-height:1.26;text-align:center;text-overflow:ellipsis;text-shadow:0 .1em .3em black;white-space:pre;opacity:.9;transform:translate(-50%,-50%);pointer-events:none}.shudan-vertex .shudan-selection{box-sizing:border-box;border:.1em solid #0082F0;border-radius:.2em;background:#0082f033}.shudan-vertex.shudan-selectedleft .shudan-selection{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.shudan-vertex.shudan-selectedright .shudan-selection{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.shudan-vertex.shudan-selectedtop .shudan-selection{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.shudan-vertex.shudan-selectedbottom .shudan-selection{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.shudan-line,.shudan-arrow{fill:none;stroke:var(--shudan-board-foreground-color);stroke-width:.11em}:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;--canvas: #efede8;--surface: #fdfcfa;--surface-raised: #ffffff;--inset: #efece7;--ink-1: #201d18;--ink-2: #5a544b;--ink-3: #6f695e;--ink-4: #b0a99d;--border-1: color-mix(in srgb, var(--ink-1) 12%, transparent);--border-2: color-mix(in srgb, var(--ink-1) 7%, transparent);--border-strong: color-mix(in srgb, var(--ink-1) 24%, transparent);--kaya: #ca933a;--kaya-hover: #d6a250;--kaya-press: #b8842e;--kaya-on: #201d18;--kaya-soft: color-mix(in srgb, var(--kaya) 14%, transparent);--kaya-ink: #845907;--focus-ring: color-mix(in srgb, var(--kaya) 55%, transparent);--tone-success: #2a7040;--tone-warning: #94551a;--tone-danger: #b23b3b;--tone-danger-soft: color-mix(in srgb, var(--tone-danger) 9%, transparent);--tone-success-solid: #2a7040;--tone-warning-solid: #94551a;--tone-danger-solid: #b23b3b;--tone-on-solid: #ffffff;--analyzed: #14b8a6;--stone-black: #201d18;--stone-white: #ffffff;--stone-outline: #5a544b;--shadow-1: var(--border-1);--shadow-card: 0 1px 2px rgba(40, 33, 20, .06), 0 4px 14px rgba(40, 33, 20, .06);--shadow-card-hover: 0 1px 3px rgba(40, 33, 20, .08), 0 8px 24px rgba(40, 33, 20, .1);--shadow-float: 0 2px 4px rgba(40, 33, 20, .08), 0 8px 24px rgba(40, 33, 20, .14);--shadow-float-up: 0 -2px 4px rgba(40, 33, 20, .06), 0 -8px 24px rgba(40, 33, 20, .1);--glass-bg: color-mix(in srgb, var(--surface) 86%, transparent);--glass-blur: saturate(1.4) blur(14px);--shadow-scroll: rgba(40, 33, 20, .13);--control-bg: var(--surface);--control-border: var(--border-1);--control-hover: var(--inset);--control-press: color-mix(in srgb, var(--ink-1) 9%, transparent);--sp-0: .125rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--tracking-tight: -.01em;--tracking-eyebrow: .06em;--motion-fast: 90ms;--topbar-h: 3rem;--navbar-h: 3.5rem;--nav-inset: 0px;--bar-reserve: 9rem;--board-max: 46rem;--rail-w: 18rem;--rail-w-min: 14rem;--ctl-pad-y: var(--sp-1);--ctl-pad-x: var(--sp-2);--ctl-font: var(--text-sm)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--canvas);color:var(--ink-1);font-size:var(--text-base);line-height:var(--leading-normal)}button{font:inherit;cursor:pointer;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--ink-1);padding:var(--sp-2) var(--sp-3);transition:background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out}button:hover:not(:disabled){background:var(--control-hover)}button:active:not(:disabled){background:var(--control-press)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}button:disabled{cursor:not-allowed;color:var(--ink-4);opacity:.6}.primary{background:var(--kaya);border-color:var(--kaya);color:var(--kaya-on);font-weight:var(--weight-semibold);padding:var(--sp-2) var(--sp-4);text-align:center}.primary:hover:not(:disabled){background:var(--kaya-hover);border-color:var(--kaya-hover)}.primary:active:not(:disabled){background:var(--kaya-press);border-color:var(--kaya-press)}.primary:disabled{background:var(--inset);border-color:var(--border-1);color:var(--ink-3);opacity:1}.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.ghost:hover:not(:disabled){background:var(--control-hover);color:var(--ink-1)}.ghost:active:not(:disabled){background:var(--control-press)}.link-button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);text-decoration:none;transition:background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}.link-button:not(.primary):not(.ghost){border:1px solid var(--control-border);background:var(--surface);color:inherit}.link-button:not(.primary):not(.ghost):hover{background:var(--control-hover)}.link-button:not(.primary):not(.ghost):active{background:var(--control-press)}.link-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}select,input[type=number],textarea{font:inherit;padding:var(--sp-1) var(--sp-2);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--inset);color:var(--ink-1)}select:focus-visible,input[type=number]:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);line-height:var(--leading-tight)}.stat{display:flex;flex-direction:column;gap:var(--sp-0);min-width:0}.stat-value{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;color:var(--ink-1)}.notice{margin:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--inset);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-normal)}.notice--accent{background:var(--kaya-soft);border-color:transparent;color:var(--ink-1)}.notice--danger{background:var(--tone-danger-soft);border-color:transparent;color:var(--tone-danger)}.notice--warning{color:var(--tone-warning)}.notice--quote{color:var(--ink-1);font-size:var(--text-md);white-space:pre-wrap;overflow-wrap:anywhere}.hint{margin:0;font-size:var(--text-sm);color:var(--ink-3)}.tone-success{color:var(--tone-success)}.tone-warning{color:var(--tone-warning)}.tone-danger{color:var(--tone-danger)}.segmented{display:flex;gap:var(--sp-0);padding:var(--sp-1);background:var(--inset);border:1px solid var(--border-2);border-radius:var(--radius-md)}.segmented button{padding:var(--sp-1) var(--sp-3);font-size:var(--text-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-3)}.segmented button:hover:not(.active){background:var(--surface);color:var(--ink-2)}.segmented button.active{background:var(--surface-raised);color:var(--ink-1);font-weight:var(--weight-semibold);box-shadow:0 1px 2px var(--shadow-1)}.segmented--fill button{flex:1;padding-inline:var(--sp-1);font-size:var(--text-sm)}.choice-row{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.choice-row button{flex:1 1 auto}.choice-row button.active,.choice-row button[aria-pressed=true],.analyze-tools button.active{background:var(--kaya-soft);border-color:var(--kaya);color:var(--kaya-ink);font-weight:var(--weight-semibold)}.nav-cluster{display:flex;gap:var(--sp-1)}.nav-cluster button{flex:1 1 auto}.action-row{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.action-row button{flex:1 1 auto}.meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-sm)}.meta-row>span:last-child{color:var(--ink-1);font-weight:var(--weight-medium);text-align:right;font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field select,.field input[type=number],.field input[type=text],.field input[type=file]{width:100%}.field-hint{font-size:var(--text-xs);color:var(--ink-3)}.field-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.field-row .field{flex:1 1 8rem}.form-details{border:1px solid var(--border-2);border-radius:var(--radius-md);padding:var(--sp-3)}.form-details summary{display:flex;align-items:baseline;gap:var(--sp-2);cursor:pointer;border-radius:var(--radius-sm);list-style:none}.form-details summary::-webkit-details-marker{display:none}.form-details summary:before{content:"▸";color:var(--ink-3);flex-shrink:0}.form-details[open] summary:before{content:"▾"}.form-details summary .eyebrow{white-space:nowrap}.form-details summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.form-details-current{font-size:var(--text-xs);color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-details-body{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-3)}.radio-option{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.field-group{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border-2)}.topbar-brand{display:flex;align-items:baseline;gap:var(--sp-2);flex:0 1 auto;min-width:0}.topbar-home{background:transparent;border-color:transparent;font-weight:var(--weight-bold);font-size:var(--text-base);letter-spacing:var(--tracking-tight);color:var(--ink-1);padding:var(--sp-0) var(--sp-1)}a.topbar-home{font:inherit;font-weight:var(--weight-bold);font-size:var(--text-base);border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer}a.topbar-home:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.topbar-home:hover:not(:disabled){background:var(--control-hover)}.topbar-home:active:not(:disabled){background:var(--control-press)}.topbar-sep{color:var(--ink-3)}.topbar-location{color:var(--ink-2);font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-session{display:inline-flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;max-width:14rem;padding:var(--ctl-pad-y) var(--ctl-pad-x);font-size:var(--ctl-font);color:var(--ink-2)}.topbar-session--in{border:1px solid transparent;color:var(--ink-3)}.topbar-session-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-avatar--initial{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-raised);border:1px solid var(--border-2);color:var(--ink-2);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.progress-track{height:var(--sp-2);border-radius:var(--radius-sm);background:var(--inset);border:1px solid var(--border-2);overflow:hidden}.progress-fill{height:100%;background:var(--kaya);transition:width var(--motion-fast) linear}.progress-fill--indeterminate{width:100%;background:var(--kaya-soft)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);height:calc(var(--topbar-h) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);flex:0 0 auto;padding-left:max(var(--sp-5),env(safe-area-inset-left));padding-right:max(var(--sp-5),env(safe-area-inset-right));background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float);border-bottom:1px solid var(--border-1);position:sticky;top:0;z-index:5}.topbar-end{display:flex;align-items:center;gap:var(--sp-3);flex:0 0 auto}.appbar{display:none;position:fixed;inset:auto 0 0 0;z-index:5;align-items:stretch;height:calc(var(--navbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.appbar button{flex:1 1 0;min-width:0;border:none;border-radius:0;background:transparent;color:var(--ink-2);font-size:var(--text-sm);padding:var(--sp-1) var(--sp-2)}.appbar button:focus-visible{outline-offset:-2px}.appbar button[aria-current=page]{color:var(--kaya-ink);font-weight:var(--weight-semibold)}.study-rail{flex:1 1 var(--rail-w-min);min-width:var(--rail-w-min);max-width:var(--rail-w);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);font-size:var(--text-md)}.study-rail p{margin:0}.rail-header{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--border-2)}.rail-tabs{padding:var(--sp-3) var(--sp-3) var(--sp-2)}.rail-body{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-1) var(--sp-3) var(--sp-3);background:linear-gradient(var(--surface) 40%,transparent) top / 100% var(--sp-4) no-repeat local,linear-gradient(transparent,var(--surface) 60%) bottom / 100% var(--sp-4) no-repeat local,linear-gradient(var(--shadow-scroll),transparent) top / 100% var(--sp-2) no-repeat scroll,linear-gradient(transparent,var(--shadow-scroll)) bottom / 100% var(--sp-2) no-repeat scroll}.rail-footer{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-top:1px solid var(--border-2)}.study-rail button{padding:var(--ctl-pad-y) var(--ctl-pad-x);font-size:var(--ctl-font);border-radius:var(--radius-sm)}.rail-stats{display:flex;gap:var(--sp-4)}.rail-stats .stat{flex:1}.rail-stats .stat-value{font-weight:var(--weight-bold)}.play-clock{display:flex;gap:var(--sp-3)}.play-clock p{flex:1;display:flex;flex-direction:column;gap:var(--sp-0);min-width:0}.play-clock-value{font-size:var(--text-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);color:var(--ink-2)}.play-clock-active .play-clock-value{color:var(--kaya-ink)}.rail-meta,.rail-field{display:flex;flex-direction:column;gap:var(--sp-1)}.play-turn{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--ink-1)}.analyze-edit{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius-md);background:var(--inset)}.analyze-tools{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-1)}.analyze-tools button{padding:var(--sp-1) var(--sp-2);font-size:var(--text-base);line-height:1}.analyze-tools .tool-stone{grid-column:1 / -1;font-size:var(--ctl-font)}.analyze-comment-edit{width:100%;min-height:4rem;resize:vertical;padding:var(--sp-2);background:var(--surface);font-size:var(--text-sm)}.analyze-tree-ops{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1)}.analyze-tree-ops .op-move{grid-column:1 / -1}.tree-panel{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--text-sm)}.tree-branch{display:flex;flex-direction:column;gap:var(--sp-1)}.tree-line{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.tree-variations{display:flex;flex-direction:column;gap:var(--sp-1);padding-left:var(--sp-4);border-left:1px solid var(--border-2);margin-left:var(--sp-1)}.study-rail .tree-node{padding:var(--sp-0) var(--sp-2);font-size:var(--text-xs);align-self:flex-start}.tree-node-current{background:var(--kaya-soft);border-color:var(--kaya);color:var(--kaya-ink);font-weight:var(--weight-semibold)}.tree-graph-container{overflow:auto;overscroll-behavior:contain}.tree-graph-disabled{opacity:.6}.tree-graph-svg{display:block}.tree-graph-edge{stroke:var(--border-strong);stroke-width:1}.tree-graph-node{cursor:pointer;stroke-width:1.5;transition:stroke-width var(--motion-fast) ease-out}.tree-graph-node:hover{stroke-width:3}.tree-graph-node-black{fill:var(--stone-black);stroke:var(--stone-outline)}.tree-graph-node-white{fill:var(--stone-white);stroke:var(--stone-outline)}.tree-graph-node-root{fill:var(--ink-3);stroke:var(--ink-3)}.tree-graph-node-annotated{stroke:var(--analyzed);stroke-width:2.5}.tree-graph-node-halo{stroke:var(--kaya);stroke-width:2}.tree-graph-node:focus-visible{outline:2px solid var(--kaya);outline-offset:1px}.review-graph{display:flex;flex-direction:column}.review-graph-svg{width:100%;height:auto}.review-graph-midline{stroke:var(--border-strong);stroke-width:1;vector-effect:non-scaling-stroke}.review-graph-line{stroke:var(--kaya);stroke-width:1.5;vector-effect:non-scaling-stroke}.review-graph-point,.review-graph-point-current{stroke-linecap:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:stroke-width var(--motion-fast) ease-out}.review-graph-point{stroke:var(--kaya);stroke-width:3}.review-graph-point:hover{stroke-width:6}.review-graph-point-current{stroke:var(--tone-danger);stroke-width:6}.review-panel{display:flex;flex-direction:column;gap:var(--sp-2)}.review-turning-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-1)}.moment{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left}.moment-loss{margin-left:auto;font-variant-numeric:tabular-nums}.review-summary{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--text-sm)}.review-summary-player{display:flex;flex-direction:column;gap:var(--sp-0)}.review-summary-quality{color:var(--ink-2)}.review-quality-badge{font-weight:var(--weight-semibold);white-space:nowrap}.review-summary-phases{color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.guess-panel{display:flex;flex-direction:column;gap:var(--sp-2)}.guess-result{font-weight:var(--weight-semibold)}.sync-badge{font-size:var(--text-xs);color:var(--ink-3);margin:0}.sync-error{color:var(--tone-danger)}.pwa-toast{position:fixed;left:50%;bottom:calc(var(--sp-4) + var(--nav-inset));transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:var(--sp-3);max-width:min(30rem,calc(100vw - var(--sp-6)));padding:var(--sp-3);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);border-radius:var(--radius-md);box-shadow:var(--shadow-float);font-size:var(--text-md)}.pwa-toast-text{margin:0;color:var(--ink-1)}.pwa-toast-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.pwa-toast .primary,.pwa-toast .ghost{padding:var(--ctl-pad-y) var(--sp-3);font-size:var(--ctl-font);white-space:nowrap}.offline-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-0) var(--sp-2);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap}.study-board--loss-success{--loss-tone-bg: var(--tone-success-solid)}.study-board--loss-warning{--loss-tone-bg: var(--tone-warning-solid)}.study-board--loss-danger{--loss-tone-bg: var(--tone-danger-solid)}.study-board[class*=study-board--loss-] .shudan-marker_label.shudan-sign_1 .shudan-marker,.study-board[class*=study-board--loss-] .shudan-marker_label.shudan-sign_-1 .shudan-marker{background:var(--loss-tone-bg);color:var(--tone-on-solid);border-radius:.4em;padding:0 .15em}.study-board--solution .shudan-marker_label.shudan-sign_1 .shudan-marker,.study-board--solution .shudan-marker_label.shudan-sign_-1 .shudan-marker{background:var(--kaya);color:var(--kaya-on);border-radius:.4em;padding:0 .15em}.app-frame{display:flex;flex-direction:column;min-height:100dvh}.app-frame-main{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding-bottom:max(var(--nav-inset),env(safe-area-inset-bottom));padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.app-frame-main--bare{padding-bottom:env(safe-area-inset-bottom)}.study-shell{display:flex;flex-direction:column;width:100%}.study-main{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:flex-start;justify-content:center;margin-block:var(--sp-5);padding:0 var(--sp-4)}.study-board{flex:3 1 28rem;min-width:0;max-width:var(--board-max);display:flex;justify-content:center}.card-screen{width:100%;margin:var(--sp-6) auto;padding:var(--sp-6);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--sp-4)}.card-screen h1{margin:0;font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.card-screen p{margin:0}.mode-menu{max-width:28rem;text-align:center}.mode-menu p{color:var(--ink-2)}.aprender-list{width:100%;display:grid;grid-template-columns:26rem minmax(0,1fr);gap:var(--sp-6);padding:var(--sp-6);align-items:start}.aprender-list h1,.aprender-list p{margin:0}.aprender-intro{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.aprender-path{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.aprender-collection{display:grid;gap:var(--sp-2)}.aprender-collection h2{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.exercise-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-1)}.exercise-row{width:100%;display:flex;align-items:center;gap:var(--sp-3);text-align:left}.exercise-state{flex:none;width:1em;text-align:center}.exercise-state--resuelto{color:var(--tone-success)}.exercise-state--intentado,.exercise-state--pendiente{color:var(--ink-3)}.exercise-state--bloqueado{color:var(--ink-4)}.exercise-row-label{flex:1}.exercise-row-meta{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.aprender-engine-error{margin:var(--sp-3) var(--sp-4) 0}.menu-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--border-2);font-size:var(--text-md);color:var(--ink-2)}.menu-footer--session{min-height:2rem}.menu-footer--stacked{flex-direction:column;gap:var(--sp-2)}.menu-footer-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-3)}.session-identity{display:inline-flex;align-items:center;gap:var(--sp-2)}.session-avatar{width:24px;height:24px;border-radius:50%}.partidas-view{max-width:40rem}.partidas-table-wrap{overflow-x:auto;max-width:100%}.partidas-table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.partidas-table th{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3)}.partidas-table th,.partidas-table td{text-align:left;padding:var(--sp-2);border-bottom:1px solid var(--border-2);white-space:nowrap}.partidas-table tbody tr{cursor:pointer;transition:background-color var(--motion-fast) ease-out}.partidas-table tbody tr:hover{background:var(--control-hover)}.partidas-table tbody tr.opening{opacity:.6;cursor:default}.system-screen{width:100%;margin:var(--sp-6) auto;padding:0 var(--sp-4);max-width:32rem;display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--text-md)}.system-screen h1{margin:0;font-size:var(--text-lg);letter-spacing:var(--tracking-tight)}.system-screen p{margin:0}.system-screen--centered{text-align:center;align-items:center}.diagnostico{max-width:40rem}.diagnostico-warnings{margin:0;padding-left:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.diagnostico-dump{font-size:var(--text-xs);-webkit-user-select:all;user-select:all}.diagnostico-back{align-self:flex-start}.system-note{color:var(--ink-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.text-link{color:var(--kaya-ink);text-underline-offset:var(--sp-0)}.text-link:hover{color:var(--ink-1)}.step-bar{display:flex;flex-direction:column;gap:var(--sp-1);width:100%}.step-bar-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--sp-1)}.step-bar-seg{height:var(--sp-1);border-radius:var(--sp-0);background:var(--border-1)}.step-bar-seg--done{background:var(--kaya)}.step-bar-seg--now{background:var(--kaya-ink)}.step-bar-labels{display:flex;justify-content:space-between;gap:var(--sp-2);font-size:var(--text-xs);color:var(--ink-3);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.exercise-header{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.task{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.study-board--with-header{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.study-board-goban{flex:1 1 auto;min-height:0;min-width:0;display:flex;justify-content:center;align-self:stretch;align-items:center}.rail-action{display:flex;flex-direction:column;gap:var(--sp-2)}.rail-action:empty{display:none}.rail-action>button{width:100%}.rail-form{display:contents}.exercise-header .hint{margin:0}.exercise-footer{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto}.exercise-bar{display:flex;gap:var(--sp-2)}.exercise-bar>button{flex:1 1 0}.exercise-bar>.rail-action{order:2;flex:1 1 0}@media(min-width:768px){.exercise-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.exercise-bar{display:contents}.exercise-bar>.rail-action,.exercise-footer>.action-row{grid-column:1 / -1}.exercise-bar>.rail-action{order:-1}}.notice-actions{display:flex;flex-direction:column;gap:var(--sp-2)}.sticky-actions{position:fixed;left:0;right:0;bottom:max(var(--nav-inset),env(safe-area-inset-bottom));z-index:6;display:flex;gap:var(--sp-2);justify-content:center;padding:var(--sp-3) var(--sp-5);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.ng-head{display:flex;flex-direction:column;gap:var(--sp-1)}.ng-head h1,.ng-head p{margin:0}.ng{width:100%;max-width:60rem;margin:0 auto;padding:var(--sp-6) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-5)}.rival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.rival-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);height:auto;padding:var(--sp-5);text-align:left;white-space:normal;border-radius:var(--radius-lg)}.rival-card[aria-pressed=true]{border-color:var(--kaya);background:var(--kaya-soft)}.rival-glyph{font-size:var(--text-lg);letter-spacing:var(--sp-1);color:var(--ink-2)}.rival-card[aria-pressed=true] .rival-glyph{color:var(--kaya-ink)}.rival-card strong{font-size:var(--text-lg)}.rival-card .hint{line-height:var(--leading-normal)}.ng-panel{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg)}.preset-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.preset{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);height:auto;width:100%;padding:var(--sp-4);text-align:left;white-space:normal}.preset[aria-pressed=true]{border-color:var(--kaya);background:var(--kaya-soft)}.ng-row{display:flex;gap:var(--sp-5);align-items:flex-end;flex-wrap:wrap}.ng-row .form-details{flex:1 1 auto}.ng-foot{display:flex;align-items:center;gap:var(--sp-4)}.ng-foot .primary{min-width:14rem}.player-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg)}.player-card--turn{border-color:var(--kaya);background:var(--kaya-soft)}.player-stone{font-size:var(--text-lg);line-height:1}.player-name{display:flex;flex-direction:column;gap:var(--sp-0);flex:1 1 auto;min-width:0}.player-name strong{font-size:var(--text-base)}.player-clock{font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.player-card--turn .player-clock{color:var(--kaya-ink)}.play-rail{background:none;border:0;border-radius:0;gap:var(--sp-3)}.play-rail .rail-header,.play-rail .rail-footer{padding:0;border:0;gap:var(--sp-3)}.play-rail .rail-body{padding:0;background:none;flex:0 1 auto;gap:var(--sp-3)}.play-rail>.nav-cluster{flex:0 0 auto}.play-rail .rail-footer{margin-top:auto}.kifu-block{display:flex;flex-direction:column;gap:var(--sp-3)}.kifu{display:grid;grid-template-columns:2rem repeat(2,minmax(0,1fr));gap:var(--sp-1) var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:var(--text-md);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg)}.kifu-n{color:var(--ink-3)}.kifu-now{color:var(--kaya-ink);font-weight:var(--weight-semibold)}.play-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.play-actions>button{flex:1 1 0}.play-actions>button.ghost{flex:0 0 auto}.play-actions>.rail-action{order:-1;flex:1 1 100%}.play-actions>.play-prev{display:none}.play-actions .more-menu{display:contents}.play-actions .more-menu>button{flex:0 0 auto}.play-actions .more-menu-items{order:-2;flex:1 1 100%}.play-rail .play-actions>button,.play-rail .play-actions .more-menu>button,.play-rail .play-actions .rail-action>button,.play-rail>.nav-cluster button{padding:var(--sp-2) var(--sp-3);font-size:var(--text-base);border-radius:var(--radius-sm)}.play-rail .play-actions .rail-action>button.primary{padding:var(--sp-2) var(--sp-4)}@media(max-width:767px){.play-shell .study-main{gap:var(--sp-2)}.play-rail,.play-rail .rail-header,.play-rail .rail-footer{display:contents}.play-shell .study-board{order:2}.play-rail .rail-header>*{order:4;flex:1 1 100%}.play-rail .rail-header>.player-card:first-child{order:1}.play-rail .rail-header>.player-card:nth-child(2){order:3}.player-card{padding:var(--sp-2) var(--sp-3)}.play-rail .rail-body{order:5;flex:1 1 100%}.play-rail .kifu-block,.play-rail>.nav-cluster{display:none}.play-rail .rail-footer>.notice{order:6;flex:1 1 100%}.play-actions{position:fixed;left:0;right:0;bottom:var(--nav-inset);z-index:6;justify-content:center;padding:var(--sp-3) var(--sp-4);background:var(--surface);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.play-actions>button,.play-actions>button.ghost,.play-actions .more-menu>button{flex:1 1 0}.play-actions>.play-prev{display:inline-block}.play-actions>.rail-action{position:static;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-frame-main:has(.play-shell .play-actions){padding-bottom:calc(var(--nav-inset) + var(--bar-reserve))}.play-shell .study-main{margin-block:var(--sp-2) 0}}.analyze-rail{background:none;border:0;border-radius:0;gap:var(--sp-3);max-width:none;flex:1 1 0}.analyze-rail .rail-header,.analyze-rail .rail-footer{padding:0;border:0;gap:var(--sp-3)}.analyze-rail .rail-body{padding:var(--sp-1);gap:var(--sp-3);background:linear-gradient(var(--canvas) 40%,transparent) top / 100% var(--sp-4) no-repeat local,linear-gradient(transparent,var(--canvas) 60%) bottom / 100% var(--sp-4) no-repeat local,linear-gradient(var(--shadow-scroll),transparent) top / 100% var(--sp-2) no-repeat scroll,linear-gradient(transparent,var(--shadow-scroll)) bottom / 100% var(--sp-2) no-repeat scroll}.timeline{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg);padding:var(--sp-2) var(--sp-3)}.timeline .review-graph-svg{display:block;width:100%;height:4rem}.r-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.r-actions>.rail-action{flex:1 1 0;min-width:0}.r-actions>.r-prev{display:none}.r-actions .more-menu{display:contents}.r-actions .more-menu>button{flex:0 0 auto}.r-actions .more-menu-items{order:-2;flex:1 1 100%}.more-menu{display:flex;flex-direction:column;gap:var(--sp-2)}.more-menu-items{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);background:var(--inset);border-radius:var(--radius-md)}.more-menu-scrim{display:none}.more-menu-danger{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--border-1)}.more-menu-danger .ghost{color:var(--tone-danger)}.study-board--with-eval{gap:var(--sp-2)}.eval-bar{flex:0 0 auto;width:var(--sp-5);align-self:stretch;display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;outline:1px solid var(--border-1)}.eval-bar-white{background:var(--stone-white)}.eval-bar-black{background:var(--stone-black)}.picker-screen{flex:1 1 auto;display:flex;flex-direction:column}.drop-zone-hero{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);margin:var(--sp-6);padding:var(--sp-6);background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.drop-zone-hero h1{margin:0}.drop-icon{font-size:var(--sp-6);color:var(--kaya-ink);line-height:1}.drop-zone-hero--over{border-color:var(--kaya);background:var(--kaya-soft)}.home{width:100%;display:flex;flex-direction:column;align-items:center}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);align-items:stretch;width:100%;padding:var(--sp-6);box-sizing:border-box}.home-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-lg)}.home-card-body{display:flex;flex-direction:column;gap:var(--sp-2);flex:1 1 auto;min-width:0}.board-thumb{width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;pointer-events:none}.board-thumb>.shudan-goban{transform:scale(var(--thumb-scale));transform-origin:top left}.home-support{text-align:center;margin:0;padding:0 var(--sp-4)}.home-account{margin:var(--sp-3) 0 var(--sp-6);text-align:center;color:var(--ink-3);font-size:var(--text-sm)}.home-account summary{cursor:pointer}.home-account[open]{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}@media(max-width:767px){.home-grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-4)}.home-card{flex-direction:row;align-items:center;padding:var(--sp-4)}.home-card:not(:first-child) .board-thumb,.home-card-extra{display:none}.board-thumb{flex:0 0 88px;width:88px;height:88px;aspect-ratio:auto}}.home-card--lead{border-color:var(--kaya)}.home-card h2{margin:0}.lesson-path{display:flex;flex-direction:column;gap:0}.path-block{display:flex;flex-direction:column;gap:var(--sp-1)}.path-node{display:flex;align-items:center;gap:var(--sp-3);position:relative;width:100%;height:auto;padding:var(--sp-2) 0;text-align:left;background:none;border:0;border-radius:0}.path-node:hover:not(:disabled){background:none}.path-dot{flex:0 0 auto;width:var(--sp-6);height:var(--sp-6);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--border-1);background:var(--surface);font-size:var(--text-sm);color:var(--ink-3);position:relative;z-index:1}.path-node+.path-node:before,.lesson-path li+li .path-node:before{content:"";position:absolute;left:calc(var(--sp-6) / 2 - 1px);top:calc(-1 * var(--sp-2));height:calc(var(--sp-2) * 2);width:2px;background:var(--border-1)}.path-node--resuelto .path-dot{background:var(--stone-black);border-color:var(--stone-black);color:var(--stone-white)}.path-node--siguiente .path-dot{background:var(--kaya);border-color:var(--kaya);color:var(--kaya-on)}.path-node--siguiente .path-label{font-weight:var(--weight-semibold)}.path-node--bloqueado,.path-node--bloqueado:disabled{color:var(--ink-3);opacity:1}.path-node--bloqueado .path-label{color:var(--ink-3)}.reading{width:100%;max-width:40rem;margin:0 auto;padding:var(--sp-6) var(--sp-5) 6rem;display:flex;flex-direction:column;gap:var(--sp-3)}.reading h1{margin:0}.reading p{margin:0;line-height:var(--leading-normal)}@media(prefers-color-scheme:dark){:root{--canvas: #121110;--surface: #201d19;--surface-raised: #2a2621;--inset: #0b0a08;--ink-1: #f4f1eb;--ink-2: #c9c2b6;--ink-3: #9a9287;--ink-4: #6b655c;--kaya-ink: #d9a24a;--kaya-soft: color-mix(in srgb, var(--kaya) 18%, transparent);--focus-ring: color-mix(in srgb, var(--kaya-ink) 70%, transparent);--tone-success: #5fbe7d;--tone-warning: #e8a066;--tone-danger: #e8756f;--stone-outline: #9a9287;--shadow-1: rgba(0, 0, 0, .55);--shadow-scroll: rgba(0, 0, 0, .45);--shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .3);--shadow-card-hover: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .4);--shadow-float: 0 2px 4px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .5);--shadow-float-up: 0 -2px 4px rgba(0, 0, 0, .35), 0 -8px 24px rgba(0, 0, 0, .45);--control-hover: #2c2823;--control-press: #38332c}}@media(min-width:768px){.study-shell{height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden}.study-main{flex:1 1 auto;min-height:0;margin-block:0;padding:var(--sp-4);flex-wrap:nowrap;align-items:stretch;overflow:hidden}.study-board{align-items:center}.study-rail{max-height:100%;overflow:hidden}.rail-header,.rail-tabs,.rail-footer{flex:0 0 auto}.rail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}}@media(max-width:767px)and (min-height:480px){:root{--nav-inset: calc(var(--navbar-h) + env(safe-area-inset-bottom))}.appbar{display:flex}.topbar .segmented{display:none}.rail-action{position:fixed;left:0;right:0;bottom:var(--nav-inset);z-index:4;padding:var(--sp-3) var(--sp-4);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.app-frame-main:has(.rail-action>button),.app-frame-main:has(.r-actions){padding-bottom:calc(var(--nav-inset) + var(--sp-6) + var(--sp-6))}.exercise-bar{position:fixed;left:0;right:0;bottom:var(--nav-inset);z-index:6;padding:var(--sp-3) var(--sp-4);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.exercise-bar>.rail-action{position:static;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-frame-main:has(.study-shell .exercise-bar){padding-bottom:calc(var(--nav-inset) + var(--bar-reserve))}.r-actions{position:fixed;left:0;right:0;bottom:var(--nav-inset);z-index:6;padding:var(--sp-3) var(--sp-4);background:var(--surface);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.r-actions>.r-prev{display:inline-block}.r-actions>.r-prev,.r-actions>.rail-action,.r-actions .more-menu>button{flex:1 1 0}.r-actions>.rail-action{position:static;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.study-board--with-eval{flex-direction:column}.eval-bar{width:auto;height:var(--sp-3);flex-direction:row-reverse}}@media(min-width:768px){.study-main:has(.analyze-rail){justify-content:flex-start;padding:var(--sp-4) var(--sp-5);gap:var(--sp-5)}.study-board--with-eval .eval-bar{align-self:center;height:var(--eval-bar-h, 100%)}}@media(max-width:767px){.study-main:has(.analyze-rail){padding:0 var(--sp-2);margin-block:var(--sp-2);gap:var(--sp-2)}}.exercise-rail{background:none;border:0;border-radius:0;gap:var(--sp-3);max-width:none;flex:1 1 0}.exercise-rail .rail-header,.exercise-rail .rail-footer{padding:0;border:0}.exercise-rail .rail-body{padding:0 var(--sp-2);background:linear-gradient(var(--canvas) 40%,transparent) top / 100% var(--sp-4) no-repeat local,linear-gradient(transparent,var(--canvas) 60%) bottom / 100% var(--sp-4) no-repeat local,linear-gradient(var(--shadow-scroll),transparent) top / 100% var(--sp-2) no-repeat scroll,linear-gradient(transparent,var(--shadow-scroll)) bottom / 100% var(--sp-2) no-repeat scroll}.exercise-rail .exercise-footer button,.exercise-rail .exercise-bar>.rail-action>button{padding:var(--sp-2) var(--sp-3);font-size:var(--text-base);border-radius:var(--radius-sm)}.exercise-rail .exercise-footer button.primary,.exercise-rail .exercise-bar>.rail-action>button.primary{padding:var(--sp-2) var(--sp-4)}.exercise-rail .exercise-footer{gap:var(--sp-3)}.exercise-rail .exercise-bar{gap:var(--sp-1)}@media(min-width:768px){.exercise-rail .exercise-footer{row-gap:var(--sp-3);column-gap:var(--sp-1)}.study-main:has(.exercise-rail){justify-content:flex-start;padding:var(--sp-4) var(--sp-5);gap:var(--sp-5)}}@media(max-width:767px){.study-main:has(.exercise-rail){margin-block:var(--sp-2) 0;padding:0 var(--sp-2);gap:var(--sp-2)}.study-main:has(.exercise-rail) .exercise-header{padding-inline:var(--sp-2)}}@media(max-width:767px){.stat-long{display:none}.analyze-rail .rail-stats{padding:0 var(--sp-2)}.topbar-session-email{display:none}}@media(max-width:767px){.ng{padding:var(--sp-4);gap:var(--sp-4)}.ng:has(.ng-foot--bar){padding-bottom:var(--bar-reserve)}.rival-grid{gap:var(--sp-2)}.rival-card{padding:var(--sp-3);gap:var(--sp-1)}.rival-card strong{font-size:var(--text-base)}.ng-panel{padding:var(--sp-4);gap:var(--sp-3)}.preset-row{grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.ng-foot{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.ng-foot .primary{min-width:0}.ng-foot--bar{position:fixed;left:0;right:0;bottom:var(--nav-inset);z-index:6;flex-direction:row;justify-content:center;padding:var(--sp-3) var(--sp-4);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-float-up);border-top:1px solid var(--border-1)}.ng-foot--bar .primary{flex:1 1 0}.app-frame-main--bare .ng-foot--bar{bottom:0;padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom))}}@media(max-width:480px){.topbar{padding-left:max(var(--sp-4),env(safe-area-inset-left));padding-right:max(var(--sp-4),env(safe-area-inset-right))}.study-main{padding:0 var(--sp-2)}.card-screen{padding:var(--sp-4)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}.diagnostico-rounds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}@media(max-width:767px){.exercise-intro{display:none}.rail-header:has(>.exercise-intro:only-child){display:none}.aprender-list{grid-template-columns:minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-4)}.aprender-intro-text{display:none}.aprender-list .home-card{flex-direction:column;align-items:stretch}.reading{padding:var(--sp-4) var(--sp-4) 8rem}.sticky-actions{padding:var(--sp-3) var(--sp-4)}.sticky-actions>*{flex:1 1 0}}.home-card,.rival-card,.preset,.player-card,.ng-panel,.card-screen,.timeline{box-shadow:var(--shadow-card)}.drop-zone-hero{box-shadow:none}.home-card--lead{box-shadow:var(--shadow-card-hover)}.home-card{transition:box-shadow var(--motion-fast) ease-out}.rival-card,.preset{transition:background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}.home-card:hover,.home-card:focus-within,.rival-card:hover:not(:disabled),.rival-card:focus-visible,.preset:hover:not(:disabled),.preset:focus-visible{box-shadow:var(--shadow-card-hover)}.home-card--lead:hover,.home-card--lead:focus-within{box-shadow:var(--shadow-float)}@media(max-width:767px){.app-frame:has(.play-shell,.analyze-rail) :is(.topbar,.appbar){background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass-bg: var(--surface);--glass-blur: none}}@media(prefers-reduced-transparency:reduce){:root{--glass-bg: var(--surface);--glass-blur: none}}.success-notice{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3);background:var(--kaya-soft);border-radius:var(--radius-md);color:var(--ink-1)}.success-notice-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:var(--sp-5);height:var(--sp-5);border-radius:50%;background:var(--surface);border:1px solid var(--tone-success);color:var(--tone-success);font-weight:var(--weight-bold);line-height:1}.success-notice-body{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.success-notice-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--kaya-ink)}.success-notice-detail,.success-notice-next{margin:0;font-size:var(--text-md);line-height:var(--leading-normal)}.success-notice-next{color:var(--ink-2)}.game-end{font-size:var(--text-base)}.review-progress{display:flex;flex-direction:column;gap:var(--sp-1)}.review-progress .hint{margin:0}@media(max-width:767px){.study-rail select,.study-rail input[type=number],.study-rail textarea,.analyze-comment-edit{font-size:var(--text-base);padding:var(--sp-2) var(--sp-3);min-height:2.75rem}.analyze-rail .r-actions button,.play-rail .play-actions button,.play-rail .play-actions .rail-action>button,.exercise-rail .exercise-bar button,.exercise-rail .exercise-bar>.rail-action>button{min-height:2.75rem}.analyze-rail .r-actions button{padding:var(--sp-2) var(--sp-3);font-size:var(--text-base)}}body:has(.sticky-actions) .pwa-toast{bottom:calc(var(--sp-4) + max(var(--nav-inset),env(safe-area-inset-bottom)) + 4.5rem)}@media(max-width:767px){body:has(.exercise-bar,.r-actions,.ng-foot--bar) .pwa-toast{bottom:calc(var(--sp-4) + var(--nav-inset) + 4.5rem)}body:has(.play-actions .rail-action>button) .pwa-toast{bottom:calc(var(--sp-4) + var(--nav-inset) + 8rem)}body:has(.play-actions) .pwa-toast{bottom:calc(var(--sp-4) + var(--nav-inset) + 4.5rem)}}@media(max-width:767px){.more-menu-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:11;background:color-mix(in srgb,var(--ink-1) 40%,transparent)}.more-menu .more-menu-items{position:fixed;left:0;right:0;bottom:0;z-index:12;order:0;flex:none;gap:var(--sp-2);max-height:80dvh;overflow-y:auto;padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--border-1);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-float-up)}.more-menu .more-menu-items button{min-height:2.75rem;padding:var(--sp-2) var(--sp-3);font-size:var(--text-base);text-align:left}.more-menu .more-menu-items .action-row{gap:var(--sp-3)}.more-menu .more-menu-danger{gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-3)}.app-frame:has(.play-shell,.analyze-rail) .more-menu .more-menu-items{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}body:has(.more-menu-scrim) .pwa-toast{visibility:hidden}
