:root{--bg: #14101c;--bg-soft: #1a1526;--panel: #201936;--panel-2: #2a2145;--border: rgba(168, 85, 247, .18);--ink: #f1ecfa;--ink-muted: #b3a8cc;--ink-subtle: #7d7296;--accent: #a855f7;--accent-soft: rgba(168, 85, 247, .14);--danger: #f4586f;--success: #34c979;--board-wood-1: #e3b871;--board-wood-2: #cf9c52;--board-line: #5b421e;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-std: cubic-bezier(.33, 1, .68, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 700px at 70% -10%,#241a3d 0%,var(--bg) 55%);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;min-height:100vh}button{font-family:inherit}.app{max-width:1180px;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}.menu{margin:auto;width:100%;max-width:520px;display:flex;flex-direction:column;gap:24px;padding:32px 0 48px;animation:rise .4s var(--ease-out)}.menu-title{font-size:clamp(2rem,6vw,2.8rem);font-weight:700;letter-spacing:-1.2px;margin:0;text-align:center}.menu-title span{color:var(--accent)}.menu-sub{color:var(--ink-muted);text-align:center;margin:-12px 0 0}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-subtle)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:6px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--ink-muted);border-radius:var(--radius-md);padding:10px 8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s var(--ease-std),color .15s var(--ease-std);min-height:44px}.seg button:hover{color:var(--ink)}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg button[aria-pressed=true]{background:var(--accent-soft);border-color:#a855f773;color:var(--ink)}.seg-hint{font-size:.82rem;color:var(--ink-subtle);margin:2px 0 0}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:var(--radius-md);padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer;min-height:44px;transition:background .15s var(--ease-std),transform .15s var(--ease-std),border-color .15s var(--ease-std)}.btn:hover{background:var(--panel-2)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#9333ea}.btn-danger{color:var(--danger);border-color:#f4586f59}.btn-lg{padding:14px 20px;font-size:1.05rem}.game{display:flex;gap:20px;align-items:flex-start;justify-content:center;flex-wrap:wrap;animation:rise .4s var(--ease-out)}.board-wrap{flex:1 1 480px;max-width:min(92vmin,720px)}.board-svg{width:100%;height:auto;display:block;border-radius:var(--radius-xl);touch-action:manipulation}.side{flex:0 1 320px;min-width:280px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.turn-row{display:flex;align-items:center;gap:10px;font-weight:600}.stone-dot{width:22px;height:22px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.25)}.stone-dot.black{background:radial-gradient(circle at 35% 30%,#555,#0a0a0a 70%)}.stone-dot.white{background:radial-gradient(circle at 35% 30%,#fff,#cfcfcf 75%)}.thinking{color:var(--ink-muted);font-size:.9rem;display:inline-flex;align-items:center;gap:8px}.thinking:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);border-top-color:transparent;animation:spin .8s linear infinite}.caps-row{display:flex;justify-content:space-between;gap:8px;color:var(--ink-muted);font-size:.92rem}.toggles{display:flex;flex-direction:column;gap:4px}.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 4px;border-radius:var(--radius-md);font-size:.94rem;color:var(--ink-muted);min-height:40px;-webkit-user-select:none;user-select:none}.toggle:hover{color:var(--ink)}.toggle input{accent-color:var(--accent);width:18px;height:18px}.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hint-box{background:var(--accent-soft);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-md);padding:10px 12px;font-size:.9rem;color:var(--ink-muted)}.hint-box strong{color:var(--ink)}.result-box{text-align:center;display:flex;flex-direction:column;gap:8px}.result-title{font-size:1.3rem;font-weight:700;letter-spacing:-.4px}.result-detail{color:var(--ink-muted);font-size:.92rem}.mentor-panel{border-color:#a855f759;background:linear-gradient(160deg,rgba(168,85,247,.1),var(--panel) 55%)}.mentor-head{display:flex;align-items:center;gap:10px}.mentor-avatar{font-size:1.9rem;line-height:1;filter:drop-shadow(0 0 10px rgba(168,85,247,.5))}.mentor-name{font-weight:700;letter-spacing:-.3px}.mentor-sub{font-size:.78rem;color:var(--ink-subtle);font-style:italic}.mentor-feed{display:flex;flex-direction:column;gap:6px}.mentor-msg{border-radius:var(--radius-md);padding:9px 12px;font-size:.9rem;color:var(--ink-muted);background:var(--bg-soft);border:1px solid var(--border);animation:rise .3s var(--ease-out)}.mentor-msg:last-child{color:var(--ink)}.mentor-msg.praise{border-color:#34c97966;background:#34c97914}.mentor-msg.warn{border-color:#f4586f73;background:#f4586f14}.mentor-msg.teach{border-color:#ffd16666;background:#ffd16612}.btn-coach{border-color:#ffd16666;background:#ffd16614}.btn-coach:hover:not(:disabled){background:#ffd16629}.coach-box{background:#ffd16614;border:1px solid rgba(255,209,102,.35);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px;animation:rise .3s var(--ease-out)}.coach-title{font-weight:700;color:#ffd166}.coach-detail{font-size:.92rem;color:var(--ink-muted)}.coach-note{font-size:.82rem;color:var(--ink-subtle);font-style:italic}.btn-tutorial{border-color:#a855f773;background:var(--accent-soft)}.lesson-list-wrap{max-width:620px}.lesson-list{display:flex;flex-direction:column;gap:8px}.lesson-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:14px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;color:var(--ink);font-size:1rem;font-weight:600;cursor:pointer;min-height:56px;transition:background .15s var(--ease-std),border-color .15s var(--ease-std),transform .15s var(--ease-std)}.lesson-card:hover{background:var(--panel-2);border-color:#a855f766}.lesson-card:active{transform:scale(.98)}.lesson-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-card-num{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-weight:700}.lesson-card.is-done .lesson-card-num{background:#34c97926;color:var(--success)}.lesson-card-title{flex:1}.lesson-card-go{flex:none;font-size:.85rem;color:var(--ink-subtle);font-weight:600}.lesson-card.is-done .lesson-card-go{color:var(--success)}.lesson-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dots{display:flex;gap:6px}.dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:10px;height:10px;border-radius:50%;padding:0;cursor:pointer;background:var(--panel-2);transition:background .15s var(--ease-std),transform .15s var(--ease-std)}.dot[data-state=done]{background:var(--success)}.dot[data-state=current]{background:var(--accent);transform:scale(1.3)}.dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lesson-title{margin:0;font-size:1.25rem;letter-spacing:-.4px}.lesson-intro{margin:0;color:var(--ink-muted);font-size:.93rem}.hl{color:#ffd166;font-weight:700;text-shadow:0 0 14px rgba(255,209,102,.35)}.glow-halo{animation:glow-pulse 1.5s var(--ease-std) infinite}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.45}}.lesson-task{margin:0;font-weight:600;font-size:.98rem}.feedback{border-radius:var(--radius-md);padding:10px 12px;font-size:.92rem;animation:rise .3s var(--ease-out)}.feedback.info{background:var(--accent-soft);border:1px solid rgba(168,85,247,.3);color:var(--ink-muted)}.feedback.good{background:#34c9791f;border:1px solid rgba(52,201,121,.35);color:var(--ink)}.feedback.bad{background:#f4586f1a;border:1px solid rgba(244,88,111,.35);color:var(--ink)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-lg);padding:12px 18px;max-width:min(90vw,480px);font-size:.94rem;box-shadow:0 8px 30px #00000073;animation:rise .3s var(--ease-out);z-index:40}.toast.warn{border-color:#f4586f66}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0612b3;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:fade .2s var(--ease-std)}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xl);max-width:640px;width:100%;max-height:84vh;overflow-y:auto;padding:24px;animation:rise .4s var(--ease-out)}.modal h2{margin:0 0 4px;letter-spacing:-.6px}.modal h3{margin:18px 0 6px;font-size:1.02rem;color:var(--accent)}.modal p,.modal li{color:var(--ink-muted);font-size:.95rem;margin:6px 0}.modal ul{padding-left:20px;margin:6px 0}.lib-dot{animation:pulse 1.2s var(--ease-std) infinite}.atari-ring{animation:pulse 1.1s var(--ease-std) infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:720px){.app{padding:10px}.side{flex-basis:100%}}
