:root{--surface:#fffcf2;--surface-raised:#fff;--surface-sunken:#ede8d8;--border:#e6e0cc;--ink:#0b2b2b;--ink-muted:#3e5c5c;--brand:#0fa3a3;--brand-strong:#0b7a7a;--brand-deep:#085a5a;--brand-tint:#d6f0ef;--gold:#ffd166;--gold-tint:#ffe7a3;--gold-deep:#a8740a;--success:#22a95b;--success-strong:#177a41;--success-tint:#cdebd8;--warn:#f08a24;--danger:#c43d2b;--danger-tint:#f8d9d3;--board-light:#edf4ec;--board-dark:#6fa38c;--board-last-move:#ffd16699;--board-right:#22a95b99;--board-wrong:#c43d2b99;--board-hint:#0fa3a399;--on-dark:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--edge-button:5px;--edge-card:2px;--move-piece:.14s;--feedback:.18s;--shake:.24s;--celebrate:.9s;--font-display:"Lilita One", "Arial Black", system-ui, sans-serif;--font-text:"Nunito Sans", system-ui, sans-serif}.display-xl{font-family:var(--font-display);font-size:56px;font-weight:400;line-height:56px}.display-lg{font-family:var(--font-display);font-size:40px;font-weight:400;line-height:42px}.title{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:31px}.number{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:26px}.badge{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:14px;font-weight:400;line-height:16px}.heading{font-family:var(--font-text);font-size:20px;font-weight:800;line-height:26px}.body{font-family:var(--font-text);font-size:17px;font-weight:500;line-height:26px}.body-sm{font-family:var(--font-text);font-size:15px;font-weight:500;line-height:22px}.button{font-family:var(--font-text);letter-spacing:.06em;text-transform:uppercase;font-size:16px;font-weight:800;line-height:20px}.label{font-family:var(--font-text);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}*{box-sizing:border-box}html,body{background:var(--surface);color:var(--ink);margin:0}body{font-family:var(--font-text);font-size:15px;font-weight:500;line-height:22px}a{color:var(--brand-strong)}a:hover{color:var(--brand-deep)}button,input,textarea{font:inherit;color:inherit}.shell{flex-direction:column;gap:16px;max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 16px 32px;display:flex}@media (width<=899px){.shell{gap:8px;padding:10px 8px 16px}}.row{align-items:center;gap:var(--space-2);display:flex}.between{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.stack{gap:var(--space-2);flex-direction:column;display:flex}.muted{color:var(--ink-muted)}.sm{font-size:13px;line-height:18px}.center{text-align:center}.spacer{flex:1}.card{background:var(--surface-raised);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);border-bottom-width:4px}.card.tight{padding:4px 14px}.card .line{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:44px;padding:9px 0;display:flex}.card .line:last-child{border-bottom:0}.card a.line{color:inherit;text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:48px;color:var(--ink);background:var(--brand);border:0;border-bottom:var(--edge-button) solid var(--brand-deep);padding:14px 24px;text-decoration:none;display:inline-flex}.btn:active{border-bottom-width:0;transform:translateY(5px)}.btn:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.btn.secondary{color:var(--brand-strong);background:var(--surface-raised);border:2px solid var(--border);border-bottom-width:var(--edge-button);padding:12px 22px}.btn.small{border-bottom-width:4px;width:auto;min-height:44px;padding:11px 14px}.btn[disabled],.btn.disabled{color:var(--ink-muted);background:var(--surface-sunken);cursor:default;border:0;transform:none}.badge{border-radius:var(--radius-sm);color:var(--ink);white-space:nowrap;padding:4px 8px;display:inline-block}.badge.brilliant,.badge.great{background:var(--gold)}.badge.best,.badge.excellent{background:var(--success)}.badge.good{background:var(--success-tint)}.badge.inaccuracy{background:var(--gold-tint)}.badge.mistake,.badge.miss{background:var(--warn)}.badge.blunder{background:var(--danger);color:var(--on-dark)}.badge.info{background:var(--brand-tint)}.fb{gap:var(--space-3);border-radius:var(--radius-md);padding:var(--space-4);border-bottom:var(--edge-card) solid var(--border);align-items:flex-start;display:flex}.fb.wrong{background:var(--danger-tint)}.fb.right{background:var(--success-tint)}.fb.neutral{background:var(--brand-tint)}.field{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);width:100%;color:var(--ink);min-height:48px;padding:12px 14px}.field:focus{outline:3px solid var(--brand-strong);outline-offset:2px}textarea.field{resize:vertical;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:18px}.toggle{border:2px solid var(--border);border-radius:var(--radius-md);display:flex;overflow:hidden}.toggle label{text-align:center;cursor:pointer;color:var(--ink-muted);flex:1;padding:10px}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle input:checked+label{background:var(--brand);color:var(--ink)}.toggle input:focus-visible+label{outline:3px solid var(--brand-strong);outline-offset:-3px}.score{grid-template-columns:1fr 56px 56px;align-items:center;gap:2px 8px;font-size:14px;line-height:20px;display:grid}.score .num{text-align:right}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.logo{width:auto;height:28px;display:block}.logo.big{height:56px}.boardrow{align-items:stretch;gap:8px;display:flex}.boardrow .board{flex:1;width:auto}.board{aspect-ratio:1;border:2px solid var(--border);background:var(--surface-raised);border-radius:16px;flex:none;width:100%;min-width:0;position:relative;overflow:hidden}.board.mini{border-radius:10px;flex:none}@media (width<=899px){.wt .evalbar{display:none}}.evalbar{border:2px solid var(--border);background:#fff;border-radius:8px;flex:none;width:26px;position:relative;overflow:hidden}.evalbar-dark{background:var(--ink);transition:height .3s;position:absolute;left:0;right:0}.evalbar-num{font-family:var(--font-display);text-align:center;font-size:10px;line-height:12px;position:absolute;bottom:6px;left:0;right:0}.btn.iconbtn{flex:none;width:52px;padding:0}.moves{max-height:236px;padding:6px 0;position:relative;overflow-y:auto}.mvrow{grid-template-columns:44px 1fr 1fr;align-items:center;display:grid}.mvrow .no{color:var(--ink-muted);padding:6px 0 6px 14px;font-size:14px}.mv{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:3px;min-height:36px;margin:1px 4px;padding:6px 8px;font-size:15px;display:flex}.mv.fold{width:calc(100% - 8px);color:var(--ink-muted);background:var(--surface-sunken);min-height:30px;font-size:12px;font-weight:700}.pz{align-items:baseline;gap:10px;font-size:14px;display:flex}.pz .k{color:var(--ink-muted);flex:none;width:64px}.pz b{min-width:0}.mv:hover{background:var(--surface-sunken)}.mv.cur{background:var(--brand-tint);font-weight:800}.mv:focus-visible{outline:3px solid var(--brand-strong);outline-offset:-3px}.mark{font-weight:800}.mark.ib{align-items:center;margin-left:2px;display:inline-flex}.var{background:var(--surface-sunken);color:var(--ink-muted);border-radius:6px;margin:0 6px 3px;padding:3px 24px 3px 42px;font-size:11px;line-height:16px;position:relative}.var:before{content:"↳";color:var(--ink-muted);font-size:11px;position:absolute;top:3px;left:24px}.var .vnest{color:var(--ink-muted)}.var .vno{margin-right:2px}.var .mv{min-height:0;color:var(--ink);border-radius:4px;margin:0;padding:0 3px;font-size:11px;display:inline}.var .mv.cur{background:var(--surface-raised);font-weight:800}.var .vdel{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0;padding:0 4px;font-size:11px;line-height:16px;position:absolute;top:2px;right:4px}.var .vdel:hover,.var .xdel:hover{color:var(--danger);background:var(--surface-raised)}.var .xdel{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0 0 0 1px;padding:0 3px;font-size:10px;line-height:14px}.histbtn{height:16px;font:inherit;color:var(--brand-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 3px;font-size:12px;font-weight:800;line-height:16px;display:inline-flex}.histbtn[disabled]{color:var(--ink-muted);opacity:.45;cursor:default}.histbtn:not([disabled]):hover{background:var(--surface-sunken)}.histbtn .n{background:var(--brand-tint);color:var(--ink);border-radius:999px;padding:0 5px;font-size:10px;line-height:14px}.histbtn:focus-visible{outline:3px solid var(--brand-strong);outline-offset:1px}.mvrow .no.cont{font-size:12px}.board .ghost{opacity:.45;pointer-events:none;z-index:1;width:12.5%;height:12.5%;position:absolute}.board .ghost svg{width:100%;height:100%;display:block}.board .line-overlay{pointer-events:none;z-index:2;width:100%;height:100%;font-family:var(--font-text);position:absolute;inset:0}.board .sqflash{opacity:0;pointer-events:none;z-index:3;background:#0fa3a3a6;width:12.5%;height:12.5%;animation:.36s ease-in-out 3 sqflash;position:absolute}@keyframes sqflash{0%,to{opacity:0}50%{opacity:1}}.board.movable [data-piece]{cursor:pointer!important}.sqbadge{z-index:2;width:22px;height:22px;font-family:var(--font-display);color:var(--ink);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex;position:absolute;box-shadow:0 1px 3px #0000004d}.sqbadge.brilliant,.sqbadge.great{background:var(--gold)}.sqbadge.best,.sqbadge.excellent{background:var(--success);color:var(--on-dark)}.sqbadge.inaccuracy{background:var(--gold-tint)}.sqbadge.mistake,.sqbadge.miss{background:var(--warn)}.sqbadge.blunder{background:var(--danger);color:var(--on-dark)}.mv-ref{font:inherit;color:var(--brand-strong);border:0;border-bottom:2px dotted var(--brand);cursor:pointer;background:0 0;border-radius:4px;margin:0;padding:0 2px;font-weight:800}.mv-ref:hover,.mv-ref.on{background:var(--brand-tint)}.mv-ref.tail{color:var(--brand-strong);border-bottom-style:dashed}.mv-ref.piece,.mv-ref.square{color:var(--ink-muted);border-bottom:2px dotted var(--ink-muted)}.mv-ref:focus-visible{outline:3px solid var(--brand-strong);outline-offset:1px}.home{flex-direction:column;gap:16px;display:flex}.home-left,.home-right{flex-direction:column;gap:16px;min-width:0;display:flex}.morebtn{text-align:left;width:100%;font:inherit;color:var(--brand-strong);cursor:pointer;background:0 0;border:0;font-weight:800}.morebtn:disabled{color:var(--ink-muted);cursor:default}@media (width>=900px){.home{grid-template-columns:minmax(0,6fr) minmax(360px,5fr);grid-template-areas:"logo logo""library library""left right";align-items:start;gap:20px 40px;width:100%;max-width:1100px;margin:0 auto;display:grid}.home-logo{grid-area:logo}.home-left{grid-area:left}.home-right{grid-area:right}.home .home-phero .display-lg{font-size:34px;line-height:36px}.home .home-phero .btn{align-self:flex-start;width:auto;padding-left:32px;padding-right:32px}.home .home-hero .display-lg{font-size:34px;line-height:36px}.home .home-hero .btn{align-self:flex-start;width:auto;padding-left:32px;padding-right:32px}}.addfab{z-index:30;border-radius:var(--radius-pill);cursor:pointer;min-height:52px;font:inherit;color:var(--ink);background:var(--brand);border:0;border-bottom:var(--edge-button) solid var(--brand-deep);align-items:center;gap:6px;padding:0 22px 0 16px;font-size:16px;font-weight:800;display:none;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 24px -10px #0b2b2b73}.addfab:active{border-bottom-width:0;transform:translateY(5px)}.addfab:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.tabbar{z-index:30;height:calc(60px + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px);background:var(--surface-raised);border-top:2px solid var(--border);justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;height:60px;font:inherit;color:var(--ink-muted);background:0 0;border:0;flex:1;justify-items:center;gap:3px;padding-top:8px;font-size:11px;font-weight:800;display:grid}.tabbar button.on{color:var(--brand-strong)}.tabbar button:focus-visible{outline:3px solid var(--brand-strong);outline-offset:-3px;border-radius:var(--radius-sm)}.tabbar .tabplus{width:56px;height:56px;color:var(--ink);background:var(--brand);border-bottom:4px solid var(--brand-deep);border-radius:50%;flex:none;place-items:center;margin:0 8px;padding:0;transform:translateY(-14px);box-shadow:0 10px 20px -10px #0b2b2b80}.tabbar .tabplus:active{border-bottom-width:0;transform:translateY(-10px)}@media (width<=899px){.home{padding-bottom:72px}.home.tab-games .home-phero,.home.tab-games .home-plist,.home.tab-puzzles .home-hero,.home.tab-puzzles .home-list{display:none}}@media (width>=900px){.addfab{display:inline-flex}.tabbar{display:none}}.adddlg-scrim{z-index:40;background:#0b2b2b73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.adddlg{background:var(--surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:560px;padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;max-height:92dvh;display:flex;overflow:auto;box-shadow:0 -16px 40px -16px #0b2b2b80}.adddlg-grip{background:var(--border);border-radius:2px;width:40px;height:4px;margin:0 auto}.adddlg-x{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:26px;line-height:1}textarea.field.adddlg-box{resize:vertical;height:84px;min-height:84px;font-family:inherit;font-size:15px;line-height:20px}.detect{border-radius:var(--radius-md);background:var(--brand-tint);align-items:center;gap:10px;padding:8px 12px;display:flex}.detect-what{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.detect-alt{font:inherit;color:var(--brand-strong);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:13px;font-weight:800;text-decoration:underline}.dmark{background:var(--surface-raised);width:22px;height:22px;color:var(--brand-strong);border-radius:6px;flex:none;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.dmark.gold{background:var(--gold-tint);color:var(--gold-deep)}.adddlg-chips{flex-wrap:wrap;gap:8px}.chip{border-radius:var(--radius-pill);border:2px solid var(--border);background:var(--surface-raised);min-height:36px;color:var(--ink);align-items:center;gap:6px;padding:0 12px 0 8px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--brand-strong)}@media (width>=900px){.adddlg-scrim{align-items:center;padding:24px}.adddlg{border-radius:var(--radius-lg);border:2px solid var(--border);border-bottom-width:4px;padding:16px 20px 20px;box-shadow:0 24px 60px -20px #0b2b2b80}.adddlg-grip{display:none}}.wt{flex-direction:column;gap:12px;display:flex}.wt-right{display:contents}.wt-head{order:1}.wt-board{order:2}.wt-card{order:3}.wt-chart{order:4}.wt-nav{order:5}.wt-tables{order:7;container-type:inline-size}.wt-tables-in{flex-direction:column;gap:12px;display:flex}@container (width>=500px){.wt-tables-in{flex-direction:row;align-items:stretch}.wt-tables-in>*{flex:1 1 0;min-width:0}.wt-moves{position:relative}.wt-moves-in{position:absolute;inset:0}.wt-moves-in .moves{flex:1;min-height:0;max-height:none}.wt-tables-in .score{white-space:nowrap;grid-template-columns:1fr 36px 36px}}.wt-title{font-family:var(--font-display);font-size:18px;line-height:20px}.bset{flex:none;position:relative}.gearbtn{border:1.5px solid var(--border);background:var(--surface-raised);width:34px;height:34px;color:var(--brand-strong);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;display:flex}.gearbtn:hover,.gearbtn[aria-expanded=true]{background:var(--brand-tint);border-color:var(--brand)}.pop{background:var(--surface-raised);border:1px solid var(--border);z-index:20;border-radius:12px;width:268px;padding:6px 0;position:absolute;top:40px;right:0;box-shadow:0 10px 30px #00000024}.pop-act{width:100%;font:inherit;color:var(--brand-strong);border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:9px 14px 12px;font-weight:800;display:flex}.pop-act:hover{background:var(--brand-tint)}.pop-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);padding:8px 14px 2px;font-size:10px}.pop-it{cursor:pointer;align-items:center;gap:10px;padding:8px 14px;font-size:14px;font-weight:700;display:flex}.pop-it:hover{background:var(--surface-sunken)}.pop-it span:first-of-type{white-space:nowrap;flex:1}.pop-it .hk{border:1px solid var(--border);font:700 11px/16px var(--font-text);color:var(--ink-muted);background:var(--surface-sunken);vertical-align:1px;border-bottom-width:2px;border-radius:5px;margin-left:8px;padding:1px 6px;display:inline-block}.pop-it input{opacity:0;width:0;height:0;position:absolute}.pop-it .sw{background:var(--border);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.pop-it .sw:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.pop-it input:checked+.sw{background:var(--brand)}.pop-it input:checked+.sw:after{left:16px}.pop-it input:focus-visible+.sw{outline:3px solid var(--brand-strong);outline-offset:2px}@media (width>=900px){.shell.wide{max-width:1216px;padding:24px 32px}.wt{grid-template:"head right""board right"1fr"chart right""nav right"/minmax(0,600px) minmax(320px,1fr);align-items:start;gap:12px 32px;display:grid}.wt-head{grid-area:head}.wt-board{grid-area:board;align-self:center}.wt-chart{grid-area:chart;align-self:end}.wt-nav{grid-area:nav;align-self:end}.wt{min-height:calc(100dvh - 48px)}.wt-right{flex-direction:column;grid-area:right;align-self:stretch;gap:12px;display:flex}.wt-tables{flex:1;min-height:0}.wt-tables-in{height:100%}.wt-score>.card{flex:1}.wt-title{font-size:28px;line-height:31px}.evalbar{width:28px}.evalbar-num{font-size:11px;bottom:8px}.board .sqbadge{width:26px;height:26px;font-size:13px}}.linkbtn{font:inherit;color:var(--brand-strong);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-weight:800}.acts{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:8px;display:flex}.acts-small{flex-wrap:wrap;gap:4px 12px;min-width:0;font-size:12px;font-weight:700;display:flex}.acts-small .act{font:inherit;color:var(--ink-muted);border:0;border-bottom:1.5px dotted var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;padding:2px 0}.acts-small .act:hover{color:var(--brand-strong);border-bottom-color:var(--brand-strong)}.acts-small .act.off{opacity:.4;cursor:default;border-bottom-color:#0000}.acts-small .act.off:hover{color:var(--ink-muted)}.acts-primary{background:var(--brand);color:var(--ink);border:0;border-bottom:3px solid var(--brand-deep);font:800 12px/1 var(--font-text);cursor:pointer;white-space:nowrap;border-radius:9px;flex:none;margin-left:auto;padding:7px 12px}.acts-primary:disabled{background:var(--surface-sunken);color:var(--ink-muted);border-bottom-color:var(--border);cursor:default}.acts-primary:focus-visible,.acts-small .act:focus-visible{outline:3px solid var(--brand-strong);outline-offset:1px}.card .line.between b{font-weight:800}.rule{background:var(--border);flex:1;height:2px}.evalchart{border:2px solid var(--border);background:var(--surface-sunken);cursor:pointer;border-radius:12px;width:100%;height:84px;overflow:hidden}.evalchart svg{display:block}.ec-up{fill:#fff}.ec-down{fill:var(--ink);fill-opacity:.8}.ec-mid{stroke:var(--border);stroke-width:1px}.ec-line{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linejoin:round}.ec-tp{stroke-width:2px;stroke-dasharray:3 3;opacity:.9}.ec-cur{stroke:var(--brand-strong);stroke-width:2px}.ec-dot{fill:var(--brand-strong);stroke:var(--surface-raised);stroke-width:2px}.wt-card{flex-direction:column;height:400px;display:flex}.wt-card .body{flex:1;min-height:0;overflow-y:auto}@media (width>=900px){.wt-card{height:512px}}@media (width<=899px){.wt-card .body .status{font-size:15px;line-height:22px}}.wt-card .body .lead{margin:0 0 4px;font-weight:600}.wt-card .body h4{font:700 11px/1.3 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:8px 0 0}.wt-card .body h4:first-child{margin-top:0}.wt-card .body ul{margin:0;padding-left:18px}.wt-card .body li{margin:0 0 2px}.sk{background:var(--border);border-radius:6px;flex:none;display:block}.sk-bar{height:12px}.sk-board{background:repeating-conic-gradient(var(--surface-sunken) 0 25%, var(--border) 0 50%) 0 0 / 25% 25%;border-radius:10px}.sk-board.big{aspect-ratio:1;border:2px solid var(--border);background-size:25% 25%;border-radius:16px;width:100%}.boardrow .sk-board.big{flex:1;width:auto}.skel{position:relative;overflow:hidden}.skel:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 35%,#ffffff52 50%,#0000 65%);animation:1.9s ease-in-out infinite sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes sheen{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:none;display:none}}.acct{flex:none;position:relative}.avatar{border:2px solid var(--border);background:var(--surface-raised);width:36px;height:36px;color:var(--brand-strong);font-family:var(--font-display);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:16px;display:grid;overflow:hidden}.avatar.guest{color:var(--ink-muted);background:var(--surface-sunken)}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar:hover,.avatar[aria-expanded=true]{border-color:var(--brand);background:var(--brand-tint)}.avatar:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.acct-pop{width:288px;top:44px}.acct-who{border-bottom:1px solid var(--border);gap:2px;padding:8px 14px 10px;display:grid}.acct-who b{font-weight:800}.acct-pop.has-err{width:340px}.acct-fb{gap:10px;margin:10px 10px 4px;padding:12px}.acct-fb .body{font-size:15px;line-height:22px}.acct-fb .row{gap:12px}.acct-fb .btn.small{letter-spacing:.05em;min-height:40px;padding:9px 12px;font-size:13px}.acct-fb .linkbtn{margin-left:0;padding:0 2px;font-size:13px}.acct-sheet .acct-fb{margin:4px 0 10px}a.pop-it{color:var(--ink);text-decoration:none}.acct-sheet .pop-act{border-bottom:0;padding:12px 4px}.acct-sheet .acct-who{padding:0 4px 10px}.acct-sheet .pop-it{padding:10px 4px}.foot{color:var(--ink-muted);align-items:center;gap:12px;margin-top:auto;padding-top:24px;font-size:12px;display:flex}.foot a{color:var(--ink-muted);font-weight:800}.shell:has(.tabbar) .foot{padding-bottom:76px}.library-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.library-tabs{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:4px;padding:4px;display:flex}.library-tabs a{color:var(--ink-muted);border-radius:var(--radius-pill);padding:10px 18px;font-weight:800;text-decoration:none}.library-tabs a.on{background:var(--brand);color:var(--ink)}.desktop-game-actions{align-items:center;gap:8px;display:flex}.library-small{border:1px solid var(--border);background:var(--surface-raised);min-height:44px;color:var(--brand-strong);font:800 14px var(--font-text);cursor:pointer;border-radius:8px;padding:8px 12px}.game-menu{flex:none;position:relative}.game-more{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:24px}.game-more:hover,.game-more[aria-expanded=true]{background:var(--brand-tint)}.game-more:focus-visible{outline:3px solid var(--brand-strong);outline-offset:2px}.game-pop{z-index:25;border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;width:208px;max-width:calc(100vw - 40px);padding:4px;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #0b2b2b26}.game-pop button{text-align:left;width:100%;min-height:48px;font:800 15px var(--font-text);color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:12px}.game-pop button:hover{background:var(--surface-sunken)}.game-pop button+button{border-top:1px solid var(--border)}.danger-text,button.danger-text{color:var(--danger)}.library-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-right:12px;display:flex}.library-row>.line{overflow-wrap:anywhere;border:0;flex:1;min-width:0}.library-row .game-more{font-size:18px}.library-toast,.library-error{z-index:35;border-radius:12px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0b2b2b26}.library-toast{background:var(--ink);color:var(--on-dark);bottom:88px}.library-toast button{min-width:44px;min-height:44px;color:var(--gold);font:800 15px var(--font-text);cursor:pointer;background:0 0;border:0}.library-error{background:var(--danger-tint);color:var(--ink);bottom:164px}.library-error button{cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px}.library-dialog{border:2px solid var(--border);width:min(480px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:var(--surface-raised);border-radius:16px;padding:24px;overflow-y:auto}.library-dialog::backdrop{background:#0b2b2b88}.library-dialog p{margin:0}.library-dialog-buttons{flex-wrap:wrap}.library-dialog-buttons>button{flex:1}.danger-button{background:var(--danger);color:#fff;border-bottom-color:#86291d}@media (width>=900px){.library-header{grid-area:library}}.hero-game-panel{overflow-wrap:anywhere;position:relative}.hero-title-row{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.hero-title-row>.display-lg{overflow-wrap:anywhere;min-width:0}.hero-title-row .desktop-game-actions,.hero-title-row .mobile-game-actions{z-index:2;flex:none;margin-top:-8px;margin-right:-8px;position:relative}.hero-open:after{content:"";z-index:1;border-radius:var(--radius-lg);position:absolute;inset:0}@media (width<=899px){.library-row>.line>span.row{display:none}.library-dialog-buttons{flex-direction:column-reverse;align-items:stretch}.library-dialog-buttons>button{width:100%}}
