.home-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.home-intro h1{letter-spacing:-.012em;white-space:pre-line;margin:.25rem 0 .9rem;font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:700;line-height:1.04}.home-lede{color:var(--ink-soft);max-width:44ch;margin-bottom:1.75rem;font-size:1.06rem}.shelf-wrap{flex-direction:column;gap:1.5rem;display:flex}.shelf-search{max-width:22rem}.shelf-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 .6rem;padding-bottom:.4rem;font-size:1.2rem;display:flex}.shelf-note{font-family:var(--font);font-weight:400;font-size:var(--step--1);color:var(--ink-soft);letter-spacing:0}.shelf{grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.shelf-item{border-radius:var(--radius);flex-direction:column;display:flex}.tile{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:4.25rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:.6rem .8rem;transition:background-color .15s,border-color .15s;display:flex}.tile:hover{background:var(--surface);border-color:var(--ink-soft)}.tile-mark{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.tile-text{flex-direction:column;min-width:0;display:flex}.tile-name{font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1.15}.tile-meta{color:var(--ink-soft);font-size:.8rem;line-height:1.35}.shelf-item[data-on]{background:var(--lacquer);box-shadow:inset 0 0 0 1px var(--gold-soft), inset 0 0 0 4px var(--lacquer), inset 0 0 0 5px #c9a55a66}.shelf-item[data-on] .tile{color:var(--eggshell);background:0 0;border-color:#0000}.shelf-item[data-on] .tile-mark{background:#efe6d229;border-radius:50%}.shelf-item[data-on] .tile-name{color:var(--gold)}.shelf-item[data-on] .tile-meta{color:#efe6d2b8}.shelf-item[data-on] .play-actions{padding:0 .6rem .6rem}.play-actions{gap:.5rem;display:flex}.play-actions .btn{flex:1;min-width:0}.tray .play-actions .btn,.shelf-item .play-actions .btn:not(.btn-primary){border-color:var(--gold-soft);color:var(--eggshell);background:0 0}.tray .play-actions .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tray .play-actions .btn:not(.btn-primary):hover,.shelf-item .play-actions .btn:not(.btn-primary):hover{border-color:var(--gold);background:#c9a55a24}.tray{top:calc(var(--nav-h) + 1.5rem);background:radial-gradient(120% 90% at 20% 0%, #3a2820 0%, transparent 60%), var(--lacquer);box-shadow:inset 0 0 0 1px var(--gold-soft), inset 0 0 0 6px var(--lacquer), inset 0 0 0 7px #c9a55a73, 0 18px 40px -18px #221612b3;color:var(--eggshell);--board-light:#e4c792;--board-dark:#a97a4a;--board-line:#4a2f1a;--surface:#ead9b4;--line:#b99a68;border-radius:8px;margin:0;padding:clamp(.9rem,2vw,1.4rem);position:sticky}.tray-board{width:100%;max-width:min(100%, calc((100dvh - var(--nav-h) - 15.5rem) * .9));background:#b48a57;border-radius:4px;margin:0 auto;padding:.35rem;animation:.28s ease-out tray-in;box-shadow:0 2px #0006}.tray-board .board-svg,.tray-board .chess-wrap{border-radius:2px}@keyframes tray-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tray-board{animation:none}}.tray-caption{flex-wrap:wrap;align-items:baseline;gap:.15rem .75rem;padding:1rem .25rem .1rem;display:flex}.tray-title{font-family:var(--font-display);color:var(--gold);font-size:1.55rem;font-weight:700;line-height:1.1}.tray-opening{color:#efe6d2c7;font-size:var(--step--1)}.tray-goal{color:#efe6d2c7;font-size:var(--step--1);flex-basis:100%;max-width:62ch}.tray-foot{flex-basis:100%;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.tray-foot .play-actions{flex:1;max-width:24rem}.tray-rules{color:var(--eggshell);font-size:var(--step--1);white-space:nowrap;margin-left:auto;font-weight:600}.tray-rules:hover{color:var(--gold)}@media (width<=860px){.home-grid{grid-template-columns:minmax(0,1fr);gap:1.1rem}.home-intro{display:contents}.home-intro h1,.home-lede{order:0;margin-bottom:0}.shelf-wrap{order:1}.tray{order:2;position:static}.tray-board{max-width:min(100%,460px)}.tray-foot{margin-top:.4rem}}@media (width<=560px){.home-intro h1{margin-top:0;font-size:2rem}.home-lede{font-size:.95rem}.shelf-wrap{gap:1.1rem}.shelf-head{font-size:1.1rem}.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{flex-direction:column;align-items:flex-start;gap:.35rem;height:100%;min-height:0;padding:.65rem .7rem .7rem}.tile-mark{width:34px;height:34px}.tile-name{font-size:1.12rem}.tile-meta{font-size:.74rem}.tray-board{max-width:100%}}@media (width<=860px){.home{padding-bottom:7.5rem}}.playbar{z-index:19;left:.5rem;right:.5rem;bottom:calc(var(--tab-h,0px) + env(safe-area-inset-bottom) + .5rem);background:var(--lacquer);color:var(--eggshell);box-shadow:inset 0 0 0 1px var(--gold-soft), 0 10px 28px -10px #221612bf;border-radius:8px;flex-direction:column;gap:.5rem;padding:.6rem .65rem .65rem;display:flex;position:fixed}.playbar-head{align-items:center;gap:.55rem;min-width:0;display:flex}.playbar-head svg{background:#efe6d229;border-radius:50%;flex-shrink:0}.playbar-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);color:var(--gold);flex:1;font-size:1.2rem;font-weight:700;line-height:1.1;overflow:hidden}.playbar-rules{color:var(--eggshell);font-size:var(--step--1);flex-shrink:0;font-weight:600}.playbar .play-actions .btn{min-width:0;min-height:44px}@media (width<=360px){.playbar .play-actions .btn{padding:0 .5rem;font-size:.92rem}}.playbar .play-actions .btn:not(.btn-primary){border-color:var(--gold-soft);color:var(--eggshell);background:0 0}.playbar{--board-light:#e4c792;--board-dark:#a97a4a;--board-line:#4a2f1a;--surface:#ead9b4;--line:#b99a68}.playbar-board{background:#b48a57;border-radius:4px;width:min(100%,42dvh);margin:0 auto;padding:.3rem;animation:.2s ease-out tray-in}.playbar-text{flex-direction:column;flex:1;min-width:0;display:flex}.playbar-goal{-webkit-line-clamp:2;color:#efe6d2bf;-webkit-box-orient:vertical;margin-top:.15rem;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.playbar-toggle{width:36px;height:36px;color:var(--eggshell);cursor:pointer;background:#efe6d21a;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:-.3rem -.25rem -.3rem 0;display:grid}.playbar-toggle svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .2s}.playbar[data-open] .playbar-toggle svg{transform:rotate(180deg)}@supports not (aspect-ratio:1){.playbar-toggle{margin-left:.5rem}.playbar-board{margin-bottom:.5rem}}
