:root{color:#1e2723;background:#f4f2ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;min-width:320px;min-height:100vh}button,a{font:inherit}.loginPage{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(120deg,rgba(31,85,70,.18),transparent 42%),radial-gradient(circle at 80% 12%,rgba(195,72,56,.18),transparent 28%),#f4f2ec}.loginPanel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(210px,.9fr);align-items:center;gap:clamp(20px,4vw,42px);width:min(940px,100%);padding:34px;border:1px solid #d8d0bf;border-radius:8px;background:#fff;box-shadow:0 18px 70px #282e261f}.loginCopy{min-width:0}.mascotSpotlight{display:grid;justify-items:center;margin:0}.mascotSpotlight img{width:min(100%,320px);aspect-ratio:1;object-fit:contain}.mascotSpotlight figcaption{margin-top:8px;color:#1f5546;font-size:1rem;font-weight:820}.brandTitle{margin-bottom:8px;color:#1e2723;font-size:clamp(3.6rem,9vw,6.6rem);line-height:.9}.tagline{max-width:32rem;margin-bottom:14px;color:#1f5546;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:780;line-height:1.15}.eyebrow{margin:0 0 8px;color:#597067;font-size:.76rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(2rem,6vw,4.8rem);line-height:.94;letter-spacing:0}h2{margin-bottom:22px;font-size:1.45rem;line-height:1.18}.intro{max-width:42rem;color:#52625c;font-size:1.06rem;line-height:1.55}.primaryLink,.primaryButton,.secondaryButton,.iconButton,.sizeFilters button,.numberField input{border:1px solid transparent;border-radius:6px;transition:transform .14s ease,background .14s ease,border-color .14s ease}.primaryLink,.primaryButton,.secondaryButton,.iconButton,.sizeFilters button{cursor:pointer}.primaryLink,.primaryButton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:#1f5546;color:#fffdf7;font-weight:720;text-decoration:none}.primaryLink:hover,.primaryButton:hover:not(:disabled),.secondaryButton:hover:not(:disabled),.iconButton:hover{transform:translateY(-1px)}.primaryButton:disabled,.secondaryButton:disabled,.iconButton:disabled,.sizeFilters button:disabled,.numberField input:disabled{cursor:not-allowed;opacity:.45}.appFrame{width:min(1440px,100%);margin:0 auto;padding:22px}.topbar,.toolbar,.practiceLayout{display:flex;gap:18px}.topbar{align-items:center;justify-content:space-between;padding-bottom:18px}.topbar h1{margin:0;font-size:clamp(2rem,5vw,3.4rem)}.account,.stats,.actions,.sizeFilters,.externalLinks,.fetchControls{display:flex;align-items:center;gap:8px}.account span,.stats span{color:#52625c;font-weight:650}.iconButton{display:grid;width:38px;height:38px;place-items:center;border-color:#c9c0ae;background:#fffaf0;color:#1f5546}.toolbar{align-items:center;justify-content:space-between;padding:12px 0 20px;border-top:1px solid #ded6c6}.fetchControls{flex-wrap:wrap}.numberField{display:flex;align-items:center;min-height:46px;gap:8px;padding:4px 4px 4px 12px;border:1px solid #d8d0bf;border-radius:8px;background:#fffaf0;color:#52625c;font-weight:720}.numberField input{width:82px;min-height:36px;border-color:#c9c0ae;background:#fffdf7;color:#1e2723;font-weight:760;padding:0 8px}.sizeFilters{padding:4px;border:1px solid #d8d0bf;border-radius:8px;background:#fffaf0}.sizeFilters button{min-width:72px;min-height:36px;background:transparent;color:#53635d;font-weight:720}.sizeFilters button.active{background:#c34838;color:#fffdf7}.practiceLayout{align-items:stretch}.boardShell{flex:1 1 760px;display:grid;min-width:0;place-items:center;padding:clamp(12px,3vw,28px)}.board{position:relative;width:min(76vh,100%);max-width:900px;aspect-ratio:1;border-radius:6px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 38%),#d9b777;box-shadow:inset 0 0 0 1px #50311640}.boardGrid{display:grid;box-sizing:border-box;width:100%;height:100%;padding:3.2%}.coordinateLabels{position:absolute;z-index:4;display:grid;color:#342416c2;font-size:.72rem;font-weight:800;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.coordinateLabels span{display:grid;min-width:0;min-height:0;place-items:center}.coordinateLabelsTop{left:3.2%;right:3.2%;grid-template-columns:repeat(var(--board-size),1fr);height:3.2%}.coordinateLabelsTop{top:0}.coordinateLabelsLeft{top:3.2%;bottom:3.2%;grid-template-rows:repeat(var(--board-size),1fr);width:3.2%}.coordinateLabelsLeft{left:0}.intersection{position:relative;display:grid;aspect-ratio:1;place-items:center;border:0;background:transparent;color:inherit;min-width:0;min-height:0;padding:0}.intersection:disabled{cursor:default}.gridLine{position:absolute;background:#3f2c19b8;pointer-events:none}.horizontal{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.vertical{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.edge-left .horizontal{left:50%}.edge-right .horizontal{right:50%}.edge-top .vertical{top:50%}.edge-bottom .vertical{bottom:50%}.starPoint{position:absolute;left:50%;top:50%;z-index:1;width:13%;min-width:5px;max-width:9px;aspect-ratio:1;border-radius:50%;background:#3f2c19c7;transform:translate(-50%,-50%);pointer-events:none}.stone{position:relative;z-index:2;width:78%;aspect-ratio:1;border-radius:50%;box-shadow:0 4px 10px #37241438}.stone.black{background:radial-gradient(circle at 34% 28%,#4c514d,#0e1110 58%)}.stone.white{background:radial-gradient(circle at 34% 28%,#fff,#dad5cb 68%);box-shadow:inset 0 0 0 1px #50463633,0 4px 10px #37241429}.stone.ghost{opacity:.42;filter:grayscale(.25);box-shadow:0 2px 6px #3724141f}.mark{position:absolute;z-index:3;display:grid;min-width:58%;min-height:26px;place-items:center;padding:2px 5px;border-radius:5px;color:#fff;font-size:clamp(.48rem,1.2vw,.72rem);font-weight:800}.mark-you{background:#1f5546}.mark-best{background:#2e7d61}.mark-blunder{background:#c34838}.practicePanel{flex:0 0 min(360px,32vw);padding:24px;border:1px solid #d8d0bf;border-radius:8px;background:#fffaf0}.externalLinks{flex-wrap:wrap;margin:-10px 0 20px}.externalLinks a{display:inline-flex;align-items:center;min-height:34px;gap:6px;padding:0 10px;border:1px solid #c9c0ae;border-radius:6px;color:#1f5546;background:#fffdf7;font-size:.9rem;font-weight:740;text-decoration:none}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}dt{color:#66736e;font-size:.78rem;font-weight:720}dd{margin:2px 0 0;font-size:1.1rem;font-weight:760}.warning,.success,.answer,.error,.emptyState,.progressState{border-radius:8px;padding:14px}.warning{background:#ffe2db;color:#862314;font-weight:800}.success{background:#dcefe5;color:#16543f;font-weight:800}.answer{background:#f0eadf;color:#333d39;font-weight:700}.answer p:last-child{margin-bottom:0}.error{background:#ffe2db;color:#7e2013}.muted{margin:14px 0 0;color:#64716b}.emptyState{border:1px dashed #cdbf9f;background:#fffaf0;color:#52625c;font-weight:680}.progressState{margin-bottom:16px;border:1px solid #c7d8d0;background:#edf7f2;color:#255646;font-weight:680}.progressState span{margin-left:8px;color:#597067}.actions{justify-content:space-between;margin-top:24px}.secondaryButton{display:inline-flex;align-items:center;min-height:42px;gap:8px;padding:0 14px;border-color:#c9c0ae;background:#fffdf7;color:#1f5546;font-weight:720}@media(max-width:860px){.appFrame{padding:14px}.topbar,.toolbar,.practiceLayout{flex-direction:column}.toolbar{align-items:stretch}.sizeFilters,.stats,.account,.fetchControls{flex-wrap:wrap}.practicePanel{flex-basis:auto}.board{width:100%}}@media(max-width:720px){.loginPanel{grid-template-columns:1fr;padding:24px}.mascotSpotlight{order:-1}.mascotSpotlight img{width:min(72vw,240px)}}
