:root{--color-ink:#1b2922;--color-muted:#5d6d64;--color-brand:#204f3b;--color-brand-hover:#173e2e;--color-surface:#fff;--color-canvas:#f6f7f3;--color-focus:#e8a53b;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--radius-sm:.625rem;--radius-md:.875rem;--control-height:3rem;--content-width:82rem;--form-width:46rem;color:var(--color-ink);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance;min-width:0;max-width:100%;margin-bottom:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.08}h2{margin-bottom:var(--space-2);font-size:clamp(1.25rem,4vw,1.5rem);line-height:1.2}h3{margin-bottom:var(--space-2);font-size:1.05rem}a{color:#175e42;text-underline-offset:.18em;font-weight:650}button{min-height:var(--control-height);border-radius:var(--radius-sm);color:#173428;background:var(--color-surface);cursor:pointer;border:1px solid #aebbb4;padding:.7rem 1rem;font-weight:650;line-height:1.2}button:hover:not(:disabled){background:#f8faf8;border-color:#789184}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button:disabled{cursor:wait;opacity:.58}input,textarea,select{color:var(--color-ink)}#root{min-height:100vh}@media (width>=48rem){h1{font-size:clamp(2.25rem,4vw,3.25rem)}}.app-layout{min-height:100vh}.app-shell{width:min(100%, var(--content-width));min-width:0;min-height:100vh;padding:var(--space-4) var(--space-3) var(--space-6);margin:0 auto}.desktop-sidebar{display:none}.mobile-app-bar{z-index:20;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:.4rem var(--space-3);background:#f7f9f7f5;border-bottom:1px solid #d8dfda;display:flex;position:sticky;top:0}.mobile-app-bar button,.drawer-header button{min-width:44px;min-height:44px;padding:.35rem;font-size:1.35rem}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-backdrop{background:#0d1e1673;border:0;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.drawer-backdrop:hover:not(:disabled),.drawer-backdrop:focus,.drawer-backdrop:active{background:#0d1e1673;border:0}.mobile-drawer{width:min(19rem,86vw);height:100%;padding:var(--space-3) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));background:var(--color-surface);flex-direction:column;display:flex;position:relative;box-shadow:8px 0 28px #0d1e1633}.drawer-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.desktop-sidebar nav ul,.mobile-drawer nav ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.desktop-sidebar nav button,.mobile-drawer nav button{text-align:left;background:0 0;border-color:#0000;width:100%;min-height:46px}.desktop-sidebar nav button[aria-current=page],.mobile-drawer nav button[aria-current=page]{color:#164d37;background:#e5f1ea;border-color:#abc5b7;font-weight:800}.app-brand{margin:0 0 var(--space-5);font-weight:850}.page-header,.detail-header{margin-bottom:var(--space-4)}.page-header-copy,.page-intro{max-width:42rem}.page-intro{margin:var(--space-2) 0 0;color:var(--color-muted)}.page-actions{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.page-header>.page-actions{margin-top:var(--space-5)}.page-actions>button{width:100%;height:100%}.page-actions.single-action{grid-template-columns:minmax(0,14rem)}.eyebrow{margin:0 0 var(--space-1);color:#527061;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800}.primary-button{border-color:var(--color-brand);color:#fff;background:var(--color-brand);font-weight:750}.primary-button:hover:not(:disabled){border-color:var(--color-brand-hover);background:var(--color-brand-hover)}.danger-button{color:#8a211d;background:#fff8f7;border-color:#b34a44;font-weight:750}.danger-button:hover:not(:disabled){background:#fff0ee;border-color:#8a211d}.text-button{min-height:2.75rem;margin:0 0 var(--space-3);text-align:left;background:0 0;border:0;justify-self:start;padding:.5rem 0}.text-button:hover:not(:disabled){background:0 0;border-color:#0000;text-decoration:underline}.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-header .button-row{margin-top:var(--space-3)}.collection-body{padding-top:var(--space-4);border-top:1px solid #dbe2dd}.collection-tools{gap:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);border:1px solid #d8dfda;display:grid}.collection-tools label{gap:var(--space-1);min-width:0;font-weight:700;display:grid}.collection-tools input,.collection-tools select{width:100%;min-width:0;min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #aebbb4;padding:.65rem .75rem}.collection-sort-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;display:grid}.collection-result-count{color:var(--color-muted);white-space:nowrap;align-self:center;font-weight:750}.collection-filter-panel{padding-top:var(--space-2);border-top:1px solid #dbe2dd}.collection-filter-panel>summary,.mechanics-filter>summary{cursor:pointer;min-height:44px;font-weight:800}.collection-filter-grid{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.collection-filter-grid fieldset,.mechanics-filter{border-radius:var(--radius-sm);min-width:0;padding:var(--space-2);border:1px solid #d8dfda;margin:0}.collection-filter-grid legend{padding:0 .25rem;font-weight:750}.range-inputs{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mechanics-checklist{max-height:13rem;padding-top:var(--space-1);gap:.25rem;display:grid;overflow:auto}.mechanics-checklist label{align-items:center;gap:.5rem;min-height:40px;font-weight:500;display:flex}.mechanics-checklist input{width:auto;min-height:auto}.collection-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.collection-toolbar>div:first-child{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.tool-button,.icon-button{align-items:center;gap:.45rem;min-height:44px;display:inline-flex}.tool-button svg,.icon-button svg,.collection-search-open svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.2rem;height:1.2rem}.icon-button{justify-content:center;min-width:44px;padding:.55rem}.collection-search-open{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #aebbb4;align-items:center;gap:.35rem;width:min(100%,28rem);min-width:0;padding:.2rem .35rem .2rem .7rem;display:flex}.collection-search-open input{background:0 0;border:0;width:100%;min-width:0;min-height:40px;padding:.4rem}.collection-search-open button{background:0 0;border:0;min-width:40px;min-height:40px;font-size:1.4rem}.sort-popup-layer{z-index:25;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sort-backdrop{background:#14231b4d;position:absolute;inset:0}.sort-popover{z-index:1;gap:var(--space-3);border-radius:var(--radius-md);width:min(20rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:var(--space-3);background:var(--color-surface);border:1px solid #aebbb4;display:grid;position:relative;overflow-y:auto;box-shadow:0 .6rem 2rem #14231b2e}.sort-popover label{gap:var(--space-1);font-weight:700;display:grid}.sort-criteria{gap:.2rem;display:grid}.sort-criteria label{grid-template-columns:auto 1.25rem 1fr;align-items:center;gap:.5rem;min-height:42px;font-weight:600;display:grid}.sort-criteria svg,.filter-drawer h3 svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.sort-criteria svg text,.filter-drawer h3 svg text{fill:currentColor;stroke:none;font-size:8px;font-weight:800}.sort-directions,.sort-select{gap:var(--space-1);display:grid}.sort-select-control{grid-template-columns:1.25rem minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.sort-select-control svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1.2rem;height:1.2rem}.sort-select-control svg text{fill:currentColor;stroke:none;font-size:8px;font-weight:800}.sort-select-control select{width:100%;min-width:0}.sort-directions{padding-top:var(--space-3);border-top:1px solid #dbe2dd}.sort-directions label{align-items:center;gap:.5rem;min-height:40px;font-weight:500;display:flex}.panel-close{justify-self:end;min-width:40px;min-height:40px}.filter-drawer-layer{z-index:30;isolation:isolate;position:fixed;inset:0}.filter-drawer-overlay{z-index:0;cursor:default;background-color:#14231b7a;position:absolute;inset:0}.filter-drawer{z-index:1;gap:var(--space-3);width:min(90vw,24rem);max-width:100%;padding:var(--space-3);background:var(--color-surface);border-right:1px solid #aebbb4;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;overflow:hidden;box-shadow:.8rem 0 2rem #14231b33}.filter-drawer>header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.filter-drawer h2,.filter-drawer h3{margin:0}.filter-drawer h3{align-items:center;gap:.45rem;display:flex}.filter-drawer>header button{min-width:44px;min-height:44px}.filter-scroll-content{gap:var(--space-4);overscroll-behavior:contain;flex:1;min-width:0;min-height:0;display:grid;overflow:hidden auto}.filter-scroll-content>section{gap:var(--space-2);min-width:0;padding-bottom:var(--space-3);border-bottom:1px solid #e1e6e3;display:grid}.filter-footer{flex:none}.filter-footer button{width:100%}.filter-drawer label{gap:var(--space-1);font-weight:700;display:grid}.type-checklist{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.type-checklist label{align-items:center;gap:.5rem;min-height:40px;display:flex}.player-filter-row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) 5rem;min-width:0;display:grid}.player-filter-row label{align-items:center;gap:.45rem;display:flex}.player-filter-row label svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1.2rem;height:1.2rem}.filter-drawer input:not([type=checkbox]),.filter-drawer select{width:100%;min-width:0;min-height:var(--control-height)}.dual-range{gap:var(--space-2);min-width:0;display:grid}.range-values{justify-content:space-between;gap:var(--space-2);color:var(--color-muted);font-weight:750;display:flex}.dual-range-controls{width:100%;min-width:0;height:44px;position:relative}.dual-range-track{background:linear-gradient(to right, #cbd4cf 0 var(--range-start), var(--color-brand) var(--range-start) var(--range-end), #cbd4cf var(--range-end) 100%);border-radius:999px;height:.35rem;position:absolute;top:50%;left:.65rem;right:.65rem;transform:translateY(-50%)}.dual-range-controls input[type=range]{appearance:none;pointer-events:none;background:0 0;border:0;width:100%;height:44px;margin:0;padding:0;position:absolute;inset:0}.dual-range-controls input[type=range]:first-of-type{z-index:2}.dual-range-controls input[type=range]:last-of-type{z-index:3}.dual-range-controls input[type=range].active-thumb{z-index:4}.dual-range-controls input[type=range]::-webkit-slider-runnable-track{background:0 0;height:.35rem}.dual-range-controls input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--color-brand);background:var(--color-surface);pointer-events:auto;border-radius:50%;width:1.5rem;height:1.5rem;margin-top:-.575rem;box-shadow:0 1px 4px #14231b40}.dual-range-controls input[type=range]::-moz-range-track{background:0 0;height:.35rem}.dual-range-controls input[type=range]::-moz-range-thumb{border:2px solid var(--color-brand);background:var(--color-surface);pointer-events:auto;border-radius:50%;width:1.35rem;height:1.35rem;box-shadow:0 1px 4px #14231b40}.field-error{color:#7b3a35;margin:0;font-size:.9rem}.drawer-mechanics{min-height:0}.drawer-mechanics .mechanics-checklist{grid-template-columns:1fr;grid-auto-flow:row;max-height:none;overflow:visible}.drawer-mechanics .mechanics-checklist label{overflow-wrap:anywhere;white-space:normal;grid-template-columns:1.25rem minmax(0,1fr);align-items:center;min-width:0;display:grid}.drawer-mechanics .mechanics-checklist input{grid-column:1}.settings-menu,.settings-actions{width:min(100%, var(--form-width));gap:var(--space-3);display:grid}.sync-section{gap:var(--space-2);min-width:0;display:grid}.sync-action{width:100%}.cabinet-list,.shelf-list{gap:var(--space-2);display:grid}.cabinet-card,.shelf-card,.physical-box,.storage-form{gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.cabinet-card>header{justify-content:space-between;align-items:start;gap:var(--space-2);min-width:0;display:flex}.storage-form label,.physical-box label{gap:var(--space-1);min-width:0;font-weight:700;display:grid}.storage-form input,.storage-form select,.storage-form textarea,.physical-box select,.physical-box input{width:100%;min-width:0}.physical-box{margin-top:var(--space-1)}.box-dimensions{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.stored-game{min-width:0;list-style:none;position:relative}.stored-game-toggle{width:100%;min-height:2.5rem;padding:var(--space-1) var(--space-2);text-align:left;justify-content:space-between;align-items:center;display:flex}.stored-game-details{gap:var(--space-2);padding:var(--space-2);display:grid}.inline-placement{gap:var(--space-3);min-width:0;margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.inline-placement>label{gap:var(--space-1);min-width:0;font-weight:700;display:grid}.inline-placement input,.inline-placement select{width:100%;min-width:0}.inline-placement .button-row{margin-top:var(--space-1)}.shelf-diagram-toggle{justify-self:start}.shelf-planner{gap:var(--space-3);border-radius:var(--radius-md);width:min(100%,50rem);min-width:0;padding:var(--space-3);background:var(--color-canvas);border:1px solid #cad4ce;display:grid}.shelf-planner-header h4,.shelf-planner-header p{margin:0}.shelf-planner-header h4{color:var(--color-ink);font-size:1.05rem}.shelf-planner-header p{color:var(--color-muted);font-size:.82rem}.shelf-planner-metrics{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.shelf-planner-metrics>div{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #cad4ce;gap:.1rem;min-width:0;padding:.55rem .65rem;display:grid}.shelf-planner-metrics span{color:var(--color-muted);font-size:.72rem}.shelf-planner-metrics strong{overflow-wrap:anywhere;font-size:.86rem}.shelf-planner-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.shelf-planner-tabs button{min-height:2.5rem;padding:.5rem .75rem}.shelf-planner-tabs button[aria-selected=true]{border-color:var(--color-brand);color:var(--color-brand);background:#edf4f0}.shelf-planner-stage{justify-items:start;width:100%;min-width:0;display:grid;overflow:hidden}.shelf-planner-frame{box-sizing:border-box;background:#52665b;border:5px solid #52665b;border-radius:.35rem;width:100%;min-width:1px;box-shadow:inset 0 0 0 1px #31463a}.shelf-planner-canvas{background:#f1f3ef;border:1px solid #87988f;width:100%;min-height:2rem;max-height:30rem;position:relative;overflow:hidden}.shelf-planner-bottom-boundary{border-bottom:6px solid #31463a}.shelf-game-box{box-sizing:border-box;color:#17271f;text-align:center;border:2px solid #52665b;border-radius:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:.2rem;font-size:clamp(.55rem,1.5vw,.8rem);line-height:1.1;display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff73}.shelf-game-tone-0{--shelf-game-fill:#dcebe3;--shelf-game-accent:#6d927e}.shelf-game-tone-1{--shelf-game-fill:#e9e2cf;--shelf-game-accent:#9c8650}.shelf-game-tone-2{--shelf-game-fill:#dfe6ef;--shelf-game-accent:#7188a4}.shelf-game-tone-3{--shelf-game-fill:#eadfe6;--shelf-game-accent:#98768b}.shelf-game-tone-4{--shelf-game-fill:#e3e8d5;--shelf-game-accent:#81935d}.shelf-game-box[class*=shelf-game-tone-]{background:var(--shelf-game-fill)}.shelf-game-box.selected{z-index:2;border-color:var(--color-brand);outline:3px solid var(--color-focus);outline-offset:-5px}.shelf-game-title{-webkit-line-clamp:2;overflow-wrap:anywhere;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:100%;padding:.75rem .25rem .1rem;display:-webkit-box;overflow:hidden}.shelf-game-title-vertical{white-space:nowrap;transform-origin:50%;width:calc(100% - .5rem);padding:0;transform:rotate(-90deg)}.shelf-game-title-horizontal{transform:none}.shelf-game-box-medium .shelf-game-title{-webkit-line-clamp:1;white-space:nowrap}.shelf-game-dimensions{color:#405249;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;position:absolute;bottom:.15rem;left:.2rem;right:.2rem;overflow:hidden}.shelf-game-marker{font-size:.72rem;font-weight:800}.shelf-game-orientation{color:#405249;background:#ffffffc7;border-radius:.2rem;max-width:calc(100% - 4px);padding:0 .15rem;font-size:.56rem;font-weight:800;line-height:1.25;position:absolute;top:2px;right:3px;overflow:hidden}.shelf-game-layer-badge{background:var(--color-brand);color:#fff;white-space:nowrap;border-radius:.2rem;max-width:calc(100% - 4px);padding:0 .2rem;font-size:.56rem;font-weight:800;line-height:1.3;position:absolute;bottom:2px;right:2px;overflow:hidden}.shelf-contained-markers{z-index:3;flex-wrap:wrap-reverse;gap:2px;width:calc(100% - 6px);max-width:calc(100% - 6px);display:flex;position:absolute;bottom:3px;left:3px}.shelf-game-box.has-contained .shelf-game-title-horizontal{padding-bottom:1.35rem}.shelf-contained-marker{border:1px solid var(--shelf-game-accent);background:var(--shelf-game-fill);color:#17271f;border-radius:.2rem;place-items:center;width:clamp(16px,1.35rem,22px);min-width:0;height:clamp(16px,1.35rem,22px);min-height:0;padding:0;font-size:.62rem;font-weight:800;line-height:1;display:grid}.shelf-contained-marker.selected{outline:2px solid var(--color-focus);outline-offset:-2px}.shelf-planner-depth-label{width:100%;max-width:46rem;color:var(--color-muted);letter-spacing:.08em;text-align:center;margin:.15rem 0;font-size:.68rem;font-weight:800}.shelf-planner-empty{color:var(--color-muted);place-items:center;display:grid;position:absolute;inset:0}.shelf-planner-selection,.shelf-planner-details,.shelf-planner-warning{gap:var(--space-2);min-width:0;display:grid}.shelf-planner-legend{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.shelf-planner-legend button{align-items:center;gap:var(--space-2);text-align:left;background:0 0;border-color:#0000;grid-template-columns:1.75rem minmax(0,1fr);width:100%;min-height:2.5rem;padding:.35rem .5rem;display:grid}.shelf-planner-legend li[class*=shelf-game-tone-]{border-left:3px solid var(--shelf-game-accent);background:color-mix(in srgb, var(--shelf-game-fill) 42%, transparent)}.shelf-planner-legend-contained{margin-left:calc(var(--containment-depth) * 1rem)}.shelf-planner-legend button>span:last-child{gap:.05rem;min-width:0;display:grid}.shelf-planner-legend strong{font-size:.86rem}.shelf-planner-legend small{color:var(--color-muted);font-size:.72rem}.shelf-planner-legend button:hover,.shelf-planner-legend button[aria-pressed=true]{background:var(--color-surface);border-color:#aebbb4}.shelf-planner-legend-index{border:1px solid var(--shelf-game-accent,#87988f);background:var(--shelf-game-fill);border-radius:999px;place-items:center;width:1.45rem;height:1.45rem;font-size:.72rem;font-weight:800;display:grid}.shelf-planner-details{border-left:3px solid var(--color-brand);padding:var(--space-2) var(--space-3);background:var(--color-surface)}.shelf-planner-details>span:first-child{color:var(--color-muted);font-size:.72rem}.shelf-planner-details>div{gap:var(--space-1) var(--space-3);flex-wrap:wrap;font-size:.82rem;display:flex}.shelf-planner-warning{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:#634a16;background:#fff8e8;border:1px solid #d5a84c}.shelf-planner-warning ul{margin:0;padding-left:1.25rem}@media (width<=30rem){.shelf-planner{padding:var(--space-2)}.shelf-planner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-game-title{-webkit-line-clamp:1;white-space:nowrap}.shelf-planner-details>div{display:grid}}.missing-dimension-field{color:#a02d2d}.missing-dimension-field input{background:#fff7f6;border-color:#b64040}.shelf-fit-status{gap:var(--space-1);display:grid}.fit-status{border-radius:999px;width:fit-content;padding:.25rem .6rem;font-size:.78rem;display:block}.fit-status-success{color:#23683d;background:#e5f1ea}.fit-status-warning{color:#7a5314;background:#fff1cf}.fit-status-error{color:#8e2f2f;background:#fae3e1}.shelf-fit-status details ul{gap:var(--space-1);margin-bottom:0;display:grid}.shelf-suggestion-action{justify-items:start;gap:var(--space-1);display:grid}.shelf-suggestion{gap:var(--space-1);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f4f8f5;display:grid}.shelf-suggestion p{overflow-wrap:anywhere;margin:0}.shelf-games,.contained-boxes{gap:var(--space-1);margin:var(--space-1) 0 0;padding:0;display:grid}.contained-boxes{margin-left:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--color-border)}.nested-stored-game:before{top:1.25rem;left:calc(-1 * var(--space-3));width:var(--space-3);border-top:2px solid var(--color-border);content:"";position:absolute}.missing-dimensions>.stored-game-toggle{color:#a02d2d;border-color:#b64040}.game-to-place{gap:var(--space-2);min-width:0;padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--color-border);display:grid}.game-to-place-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.game-to-place-row>div{gap:var(--space-1);min-width:0;display:grid}.game-to-place-row strong{overflow-wrap:anywhere}.game-to-place-row>button{flex:none;width:auto}.games-to-place{margin-top:var(--space-5)}.games-to-place ul{gap:var(--space-2);padding:0;list-style:none;display:grid}.games-to-place li{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.shelf-editor{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;display:grid}@media (width<=40rem){.cabinet-card>header,.box-dimensions,.shelf-editor{grid-template-columns:1fr;display:grid}.cabinet-card .button-row{justify-content:stretch}.cabinet-card .button-row button{flex:1}.game-to-place-row{flex-direction:column;align-items:stretch}.game-to-place-row>button{width:100%}}.settings-menu button{min-height:5rem;padding:var(--space-3);text-align:left;gap:.25rem;display:grid}.settings-menu span{color:var(--color-muted)}.settings-version{margin-top:var(--space-4);color:var(--color-muted);text-align:center}.empty-state{padding:var(--space-5) var(--space-3);border-radius:var(--radius-md);text-align:center;background:var(--color-surface);border:1px dashed #aab9b0}.empty-state p{margin-bottom:var(--space-4);color:var(--color-muted)}.game-list{gap:var(--space-2);display:grid}.game-card{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;min-width:0;min-height:6.25rem;padding:var(--space-2);text-align:left;display:flex;box-shadow:0 2px 10px #18312512}.game-card.player-fit-best{border-color:#27834a;box-shadow:inset .3rem 0 #27834a,0 2px 10px #18312512}.game-card.player-fit-recommended{border-color:#c46b16;box-shadow:inset .3rem 0 #c46b16,0 2px 10px #18312512}.game-card.player-fit-not-recommended{border-color:#b64040;box-shadow:inset .3rem 0 #b64040,0 2px 10px #18312512}.player-fit-badge{width:fit-content;color:var(--color-muted);margin-top:.25rem;font-size:.78rem;font-weight:700;display:block}.game-card-content{justify-content:space-between;align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.game-card-title{overflow-wrap:anywhere;min-width:0;font-size:1.08rem;font-weight:750;line-height:1.3}.game-storage-location{color:var(--color-muted);align-items:center;gap:.3rem;margin-top:.35rem;font-size:.78rem;font-weight:600;display:flex}.storage-icon{fill:none;stroke:currentColor;stroke-width:1.7px;width:1rem;height:1rem}.expansion-badge,.inline-badge{color:#355a48;vertical-align:middle;background:#e5f1ea;border-radius:999px;margin:.35rem 0 0 .5rem;padding:.18rem .5rem;font-size:.7rem;font-weight:750;display:inline-block}.game-metrics{min-width:0;color:var(--color-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .65rem;display:grid}.game-metric{white-space:nowrap;align-items:center;gap:.35rem;min-width:0;font-size:.82rem;font-weight:700;display:flex}.game-metric svg{flex:none;width:1.15rem;height:1.15rem}.game-metric-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.game-metrics-card{flex:0 auto;grid-template-columns:repeat(2,max-content);width:auto;max-width:13rem}.game-metric{position:relative}.game-metric-value{text-overflow:clip;overflow:visible}.metric-tooltip{z-index:8;color:#fff;white-space:normal;background:#19382b;border-radius:.35rem;width:max-content;max-width:14rem;padding:.35rem .5rem;font-size:.75rem;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)}.game-cover{object-fit:contain;background:#e8ece9;max-width:100%;display:block}.game-cover-card,.game-card .cover-placeholder{object-fit:cover;border-radius:.5rem;flex:0 0 4.75rem;width:4.75rem;height:4.75rem}.cover-placeholder{color:#66736c;text-align:center;background:#e8ece9;place-items:center;padding:.35rem;font-size:.68rem;line-height:1.15;display:grid}.detail-cover{border-radius:var(--radius-md);background:#e8ece9;place-items:center;min-height:12rem;display:grid;overflow:hidden}.detail-cover-area{width:min(100%,54rem);margin:0 auto var(--space-5);position:relative}.detail-cover-centered{width:min(100%,34rem);margin:0 auto}.game-metrics-detail{width:fit-content;max-width:100%;margin:var(--space-2) auto 0;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #d8dfda;grid-template-columns:repeat(4,max-content);padding:.75rem;box-shadow:0 2px 10px #18312512}.game-metrics-detail .game-metric{justify-content:center}.game-cover-detail{width:100%;max-height:30rem}.detail-cover .cover-placeholder{width:100%;min-height:12rem}.details-list{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid #d8dfda;grid-template-columns:minmax(8rem,.42fr) 1fr;margin:0;display:grid;overflow:hidden}.details-list dt,.details-list dd{border-bottom:1px solid #e3e8e4;margin:0;padding:.85rem 1rem}.details-list dt{color:#56675e;font-weight:700}.details-list dd{white-space:pre-wrap;overflow-wrap:anywhere}.details-list>:nth-last-child(-n+2){border-bottom:0}.relationship-links,.related-list{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.relationship-links>span{display:block}.link-button{color:#175e42;text-align:left;text-underline-offset:.18em;background:0 0;border:0;min-height:44px;padding:.35rem 0;text-decoration:underline}.related-section{margin-top:var(--space-5)}.detail-information-grid{gap:var(--space-4);margin-top:var(--space-4);display:grid}.detail-card{border-radius:var(--radius-md);min-width:0;padding:var(--space-4);background:var(--color-surface);border:1px solid #d8dfda}.details-list.detail-card{padding:0}.detail-card-resources{background:#fbfdfb;border-top:3px solid #87a998}.detail-card-rulebook{background:#fffdf7;border-top:3px solid #b7a878}.detail-card-families{background:#f9fcfa;border-top:3px solid #89a69a}.detail-card-relationships{background:#fbfcfe;border-top:3px solid #9aa8bd}.detail-information-grid .related-section{margin-top:0}.game-form,.collection-import form{width:min(100%, var(--form-width));gap:var(--space-4);margin-top:var(--space-4);display:grid}.game-form label,.collection-import label,.bgg-search-form label{gap:var(--space-1);font-weight:700;display:grid}.label-hint{color:var(--color-muted);font-size:.85rem;font-weight:400}.game-form input,.game-form textarea,.collection-import input,.bgg-search-form input,.game-form select,.filters select,.participant-editor select{width:100%;min-width:0;min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #aebbb4;padding:.7rem .8rem}.game-form textarea{resize:vertical;min-height:9rem}.game-form input[type=file]{height:auto;padding:.5rem}.game-form input[type=file]::file-selector-button{color:#173428;min-height:2.25rem;font:inherit;background:#e7eee9;border:0;border-radius:.4rem;margin-right:.75rem;padding:.4rem .75rem;font-weight:650}.resource-editor,.rulebook-editor{gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);border:1px solid #aebbb4;margin:0;display:grid}.resource-editor legend,.rulebook-editor legend{padding:0 .3rem;font-weight:750}.resource-card{gap:var(--space-2);border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);background:#fafcfb;border:1px solid #d8dfda;display:grid}.resource-card label,.rulebook-editor label{gap:var(--space-1);min-width:0;display:grid}.file-status{color:var(--color-muted);overflow-wrap:anywhere;margin:0}.field-error{color:#87251f;margin:0;font-weight:700}.additional-information{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid #aebbb4;overflow:hidden}.additional-information-toggle{width:100%;min-height:3.5rem;padding:var(--space-3);text-align:left;background:#f0f4f1;border:0;border-radius:0;justify-content:space-between;align-items:center;font-weight:800;display:flex}.additional-information-summary{padding:0 var(--space-3) var(--space-3);color:var(--color-muted);margin:0}.additional-information-fields{gap:var(--space-4);padding:var(--space-3);border-top:1px solid #d8dfda;display:grid}.additional-information-fields[hidden],.relationship-options[hidden]{display:none!important}.primary-bgg-metadata{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);background:#f0f4f1;border:1px solid #d8dfda;padding:.7rem .8rem;display:flex}.primary-bgg-metadata span{color:#56675e;font-weight:700}.primary-bgg-metadata output{font-weight:800}.resource-detail{gap:var(--space-3);display:grid}.resource-detail h3{margin:0 0 var(--space-1);font-size:.95rem}.resource-detail ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.resource-detail li{overflow-wrap:anywhere;min-width:0}.resource-detail a,.rulebook-detail a{overflow-wrap:anywhere;align-items:center;min-height:44px;display:inline-flex}.local-pdf-resource{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rulebook-resource-controls{gap:var(--space-2);display:grid}.rules-summary p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dimension-editor{border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);border:1px solid #aebbb4;margin:0}.dimension-editor legend{padding:0 .3rem;font-weight:750}.dimension-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dimension-source{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.85rem}.edition-lookup-status{color:var(--color-muted);margin:0;font-size:.9rem}.edition-lookup-error{color:#7b3a35}.dialog-backdrop{z-index:20;padding:var(--space-3);background:#14231b73;place-items:center;display:grid;position:fixed;inset:0}.confirmation-dialog{border-radius:var(--radius-md);width:min(100%,34rem);padding:var(--space-4);background:var(--color-surface);border:1px solid #aebbb4;box-shadow:0 1rem 3rem #14231b40}.confirmation-dialog h2{margin-top:0}.confirmation-dialog .button-row{justify-content:flex-end}.form-actions{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid #dbe2dd;justify-content:flex-end}.form-action-error{flex-basis:100%;width:100%;margin:0}.mechanics-editor{border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);border:1px solid #aebbb4;margin:0}.type-selector,.relationship-editor{width:min(100%, var(--form-width));gap:var(--space-2);margin:var(--space-4) 0 0;border-radius:var(--radius-sm);padding:var(--space-3);border:1px solid #aebbb4;flex-wrap:wrap;display:flex}.type-selector legend,.relationship-editor legend{padding:0 .3rem;font-weight:750}.type-selector label,.relationship-editor label{align-items:center;gap:.5rem;min-height:44px;display:flex}.type-selector input,.relationship-editor input{width:1.2rem;height:1.2rem;accent-color:var(--color-brand)}.relationship-editor{flex-direction:column}.relationship-editor ul{margin:0;padding-left:1.25rem}.current-relationships li{min-height:44px}.current-relationships li button{min-width:44px;min-height:44px;margin-left:var(--space-2);background:0 0;border:0;padding:.25rem}.relationship-toggle{align-self:start}.relationship-options{gap:var(--space-1);display:grid}.imported-families ul{margin:var(--space-2) 0 0;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.imported-families li{overflow-wrap:anywhere;background:#dce9e1;border-radius:999px;align-items:center;padding:.45rem .75rem;display:flex}.imported-families{padding:var(--space-3);border-radius:var(--radius-sm);background:#f0f4f1}.family-tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.family-tags li{overflow-wrap:anywhere;background:#e4eee8;border-radius:999px;max-width:100%;padding:.45rem .75rem}.mechanics-editor legend{padding:0 .3rem;font-weight:700}.mechanics-editor ul{margin:0 0 var(--space-2);flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.mechanics-editor li{background:#e5f1ea;border-radius:999px;align-items:center;gap:.2rem;max-width:100%;padding-left:.75rem;display:flex}.mechanics-editor li span{overflow-wrap:anywhere}.mechanics-editor li button{background:0 0;border:0;min-width:44px;min-height:44px;padding:.25rem;font-size:1.25rem}.mechanics-input-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.image-preview{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid #d8dfda;justify-items:start;display:grid}.image-preview img{object-fit:contain;background:#e8ece9;border-radius:.75rem;width:min(100%,20rem);max-height:24rem}.bgg-search{width:min(100%, var(--form-width));gap:var(--space-3);margin-top:var(--space-4);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface);border:1px solid #cad4ce;display:grid}.bgg-search h2,.bgg-search h3,.bgg-search p{margin-bottom:0}.bgg-search>p{color:var(--color-muted)}.bgg-search-form{align-items:end;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.bgg-results{padding-top:var(--space-2);border-top:1px solid #e0e6e2}.bgg-results ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.bgg-results li{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;border-bottom:1px solid #e7ebe8;display:flex}.bgg-results li span{overflow-wrap:anywhere;min-width:0}.manual-entry-title{width:min(100%, var(--form-width));margin:var(--space-5) 0 0}.status-message,.bgg-imported,.warning-message,.error-message{width:min(100%, var(--form-width));margin:var(--space-3) 0;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #bdcbc3;padding:.85rem 1rem}.status-message{align-items:center;gap:var(--space-2);color:#41564b;background:#f0f4f1;display:flex}.status-message:before{content:"";border:2px solid #779083;border-top-color:#0000;border-radius:50%;flex:none;width:.75rem;height:.75rem;animation:.8s linear infinite status-spin}.bgg-imported{color:#244f3c;background:#e5f1ea;border-color:#a9c9b8;font-weight:700}.bgg-imported:before{content:"✓ "}.warning-message{color:#634a16;background:#fff8e8;border-color:#d5a84c}.warning-message:before{content:"⚠ ";font-weight:750}.error-message{color:#711c18;background:#fff1f0;border-color:#c9655e}.error-message p{margin-bottom:.4rem;font-weight:700}.error-message ul{margin:0;padding-left:1.25rem}@keyframes status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status-message:before{border-color:#779083;animation:none}}.collection-import{max-width:var(--form-width)}.collection-import h1{max-width:42rem}.collection-import .page-intro{margin-bottom:var(--space-4)}.import-summary{gap:var(--space-3);max-width:var(--form-width);margin-top:var(--space-4);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface);border:1px solid #d8dfda;display:grid}.import-summary dl{gap:0;margin:0;display:grid}.import-summary dl div{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid #e2e7e4;padding:.65rem 0;display:flex}.import-summary dd{text-align:right;margin:0;font-weight:750}.destructive-warning{padding:var(--space-3);color:#651f1b;background:#fff4f2;border-left:4px solid #b34a44}.placeholder-page{max-width:42rem;padding-top:var(--space-3)}.placeholder-page p{color:var(--color-muted)}.statistics-page{--chart-accent:#2f7657;--chart-accent-2:#568c70;--chart-accent-3:#78a38b;--chart-accent-4:#9cbca9;--chart-accent-5:#c0d5c8;--chart-muted:#d8dfda;--chart-green:#2f7657;--chart-blue:#377db3;--chart-orange:#d67a27;--chart-purple:#7c5aae;--chart-red:#bd4c55;--chart-teal:#278b88;--chart-gold:#bd8b19;--chart-pink:#bd5e8a;min-width:0}.statistics-section-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.25rem;display:grid}.statistics-section-selector button{background:var(--surface);border:1px solid #aebbb4;border-radius:.7rem;min-height:2.75rem;padding:.55rem .7rem;font-weight:750}.statistics-section-selector button[aria-pressed=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.statistics-game-area{border-top:1px solid #d8dfda;margin-top:2rem;padding-top:1.5rem}.statistics-section-selector button:last-child{grid-column:1/-1}.statistics-drill-down{background:#f7faf8;border:1px solid #cad8d0;border-radius:.65rem;margin-top:.65rem;padding:.65rem}.statistics-drill-down header,.statistics-drill-down li{flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;display:flex}.statistics-drill-down ul{margin:.6rem 0;padding-left:1.1rem}.statistics-drill-list{max-width:100%;overflow-x:hidden}.statistics-drill-list.is-expanded{overscroll-behavior:contain;max-height:min(45vh,22rem);overflow-y:auto}.statistics-drill-actions{border-top:1px solid #d8dfda;margin-top:.55rem;padding-top:.55rem;display:flex}.never-played-list{grid-column:1/-1}.never-played-list ul{gap:.15rem;margin-block:.4rem}.never-played-list li{min-height:0;padding-block:.3rem;line-height:1.25}@media (width<=30rem){.statistics-drill-down li{gap:.15rem;display:grid}.statistics-drill-down li span{overflow-wrap:anywhere;min-width:0}}.pie-svg{min-height:20rem}.pie-slice-label.is-internal text{fill:#fff;paint-order:stroke;stroke:#0000006b;stroke-width:2px;stroke-linejoin:round;font-weight:700}.pie-slice-label.is-adjacent text{fill:var(--color-text);font-weight:650}@media (width<=34rem){.pie-svg{min-height:17rem}.pie-slice-label-desktop-only{display:none}}@media (width>=44rem){.statistics-section-selector{grid-template-columns:repeat(5,minmax(0,1fr))}.statistics-section-selector button:last-child{grid-column:auto}}.statistics-section{margin-top:2rem}.statistics-section>h2{margin-bottom:.25rem;font-size:1.45rem}.statistics-section>p{color:var(--text-muted);margin-top:0}.statistic-list ol,.statistic-list ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.statistic-list li{background:color-mix(in srgb, var(--surface) 70%, var(--primary) 4%);border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .65rem;display:flex}.statistic-list li span{align-items:center;gap:.45rem;min-width:0;display:flex}.list-rank-icon{color:var(--primary);flex:none}.statistics-filter-stack{gap:var(--space-2);width:min(100%,34rem);margin-bottom:var(--space-4);display:grid}.statistics-game-filter{gap:var(--space-1);width:100%;font-weight:750;display:grid}.statistics-game-filter select{width:100%;min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #aebbb4;padding:.7rem .8rem}.statistics-kpi-grid{gap:var(--space-2);margin-bottom:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.statistics-kpi{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid #d8dfda;gap:.2rem;min-width:0;padding:.8rem;display:grid;box-shadow:0 2px 9px #1831250d}.statistics-kpi span{color:var(--color-muted);font-size:.78rem;font-weight:700}.statistics-kpi strong{overflow-wrap:anywhere;font-size:clamp(1.08rem,5vw,1.55rem);line-height:1.15}.statistics-empty{margin-bottom:var(--space-5)}.statistics-chart-grid{gap:var(--space-3);min-width:0;display:grid}.statistics-panel{border-radius:var(--radius-md);min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid #d8dfda;overflow:hidden}.statistics-panel h2{margin-bottom:var(--space-1);font-size:1.1rem}.chart-description,.chart-empty{color:var(--color-muted);margin:0;font-size:.86rem}.chart-canvas{width:100%;min-width:0;margin-top:var(--space-2)}.donut-canvas{height:auto}.donut-canvas .pie-svg{height:18rem}@media (width<=34rem){.donut-canvas .pie-svg{height:15rem}}.monthly-canvas{height:auto}.monthly-canvas .chart-svg{height:15rem}.chart-interactive{grid-template-rows:minmax(0,1fr) auto;min-width:0;height:auto;display:grid}.chart-svg{height:var(--chart-height,15rem);min-width:0;min-height:0}.chart-selection{border-radius:var(--radius-sm);color:var(--color-text);overflow-wrap:anywhere;background:#edf4f0;margin:.25rem 0 0;padding:.4rem .55rem;font-size:.82rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filtered-expansion{color:var(--color-muted);margin:.3rem 0 0;font-size:.88rem}.statistics-deep-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin:var(--space-2) 0 var(--space-4);display:flex}.statistics-deep-header h2{overflow-wrap:anywhere;margin:0}.historical-note{color:var(--color-muted);text-align:right;font-size:.82rem}.recent-sessions{margin-top:var(--space-3)}.recent-sessions ul{margin:var(--space-2) 0 0;gap:0;padding:0;list-style:none;display:grid}.recent-sessions li{gap:var(--space-2);border-bottom:1px solid #e4e9e6;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:.7rem 0;display:grid}.recent-sessions li:last-child{border-bottom:0}.recent-sessions li>div{gap:.15rem;min-width:0;display:grid}.recent-sessions li>div:last-child{color:var(--color-muted);text-align:right;font-size:.86rem}.entity-list,.play-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.entity-list>li{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid #d8dfda;display:flex}.entity-list li>div:first-child{overflow-wrap:anywhere;gap:.25rem;min-width:0;display:grid}.entity-list li span{color:var(--color-muted)}.filters{gap:var(--space-3);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid #dbe2dd;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filters label{gap:var(--space-1);font-weight:700;display:grid}.play-list>li>button{width:100%;min-width:0;padding:var(--space-3);text-align:left;overflow-wrap:anywhere;gap:.25rem;display:grid}.play-summary{min-width:0;padding:var(--space-3);overflow-wrap:anywhere;gap:.25rem;display:grid}.play-list strong{font-size:1.08rem}.play-list span{color:var(--color-muted)}.sidebar-account{padding-top:var(--space-3);border-top:1px solid #dbe2dd;align-items:center;gap:.65rem;margin-top:auto;display:flex}.sidebar-account>span:last-child{min-width:0;display:grid}.sidebar-account small{color:var(--color-muted);overflow-wrap:anywhere}.account-avatar{color:#fff;background:var(--color-brand);border-radius:50%;flex:0 0 2.5rem;place-items:center;width:2.5rem;height:2.5rem;font-weight:800;display:grid}.account-avatar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.45rem;height:1.45rem}.wishlist-card-meta{min-width:12rem;color:var(--color-muted);grid-template-columns:repeat(2,max-content);gap:.35rem .75rem;font-size:.82rem;font-weight:700;display:grid}.wishlist-card-meta>span{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.wishlist-card-meta svg,.wishlist-detail svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1.1rem;height:1.1rem}.wishlist-priority{font-weight:800}.priority-high{color:#267a3e}.priority-medium{color:#a76000}.priority-low{color:#b42318}.checklist-option{grid-template-columns:1.25rem minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;display:grid!important}.checklist-option input{grid-column:1;width:1.15rem;height:1.15rem;min-height:auto}.checklist-option span{overflow-wrap:anywhere;grid-column:2}.wishlist-detail{gap:var(--space-3);width:min(100%,46rem);display:grid}.language-options{gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid #d8dfda;margin:0;display:grid}.language-options legend{padding:0 var(--space-1);font-weight:750}.settings-actions .language-options label{align-items:center;gap:var(--space-2);min-height:2.75rem;font-weight:600;display:flex}.settings-actions .language-options input{width:1.1rem;min-width:1.1rem;height:1.1rem;min-height:1.1rem;accent-color:var(--color-brand);margin:0}.wishlist-detail>.game-cover,.wishlist-detail>.cover-placeholder{object-fit:contain;width:min(100%,20rem);height:16rem}.wishlist-detail dl{gap:.55rem var(--space-3);grid-template-columns:max-content minmax(0,1fr);display:grid}.wishlist-detail dd{overflow-wrap:anywhere;margin:0}.wishlist-form{width:min(100%, var(--form-width));gap:var(--space-3);display:grid}.wishlist-form label,.settings-actions label{gap:var(--space-1);min-width:0;font-weight:700;display:grid}.wishlist-form input,.wishlist-form select,.settings-actions input{width:100%;min-width:0;min-height:var(--control-height)}.wishlist-form small,.settings-actions small{color:var(--color-muted)}.filter-drawer h3 svg{flex:none}@media (width<=34rem){.wishlist-card-meta{grid-template-columns:repeat(2,minmax(0,max-content));min-width:0}.wishlist-detail dl{grid-template-columns:1fr}.wishlist-detail dt{font-weight:800}}.participant-editor{gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);border:1px solid #aebbb4;margin:0;display:grid}.participant-editor legend{padding:0 .3rem;font-weight:750}.participant-card{gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);background:#fafcfb;border:1px solid #d8dfda;display:grid}.participant-card label{gap:var(--space-1);min-width:0;display:grid}.checkbox-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.checkbox-row label,.check-setting{align-items:center;gap:.65rem;min-height:44px;display:flex!important}.checkbox-row input,.check-setting input{accent-color:var(--color-brand);flex:none;width:1.2rem!important;min-height:1.2rem!important}.check-setting{border-radius:var(--radius-sm);padding:var(--space-3);border:1px solid #d8dfda}.check-setting span{gap:.2rem;display:grid}.check-setting small{color:var(--color-muted);font-weight:400}.play-form{width:min(100%, var(--form-width));gap:var(--space-4);margin-top:var(--space-4);display:grid}.play-form label{min-width:0;font-weight:700}.play-form>label,.play-form .form-grid>label{gap:var(--space-1);display:grid}.play-form input:not([type=checkbox]):not([type=radio]),.play-form select,.play-form textarea{width:100%;min-width:0;min-height:var(--control-height);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid #aebbb4;padding:.7rem .8rem}.play-form textarea{resize:vertical;min-height:7rem}.choice-group{gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;padding:var(--space-3);border:1px solid #aebbb4;flex-wrap:wrap;margin:0;display:flex}.choice-group legend{padding:0 .3rem;font-weight:750}.choice-group label,.check-label{align-items:center;gap:.55rem;min-height:44px;display:flex!important}.choice-group input,.check-label input{width:1.2rem;height:1.2rem;accent-color:var(--color-brand);flex:none}.expansion-options{flex-direction:column}.form-hint{margin:calc(-1 * var(--space-3)) 0 0;color:var(--color-muted);font-size:.85rem}@media (width>=42rem){.app-shell{padding:var(--space-5) var(--space-5) 4rem}.game-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.game-card-content{flex-direction:column;justify-content:center;align-items:stretch;gap:.45rem}.game-metrics-card{flex-wrap:nowrap;flex:0 auto;gap:.7rem;width:100%;display:flex}.detail-cover-centered{width:min(100%,38rem)}.detail-information-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-card-wide{grid-column:1/-1}.statistics-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-wide{grid-column:1/-1}}@media (width>=60rem){.app-layout{grid-template-columns:14rem minmax(0,1fr);display:grid}.mobile-app-bar{display:none}.desktop-sidebar{height:100vh;padding:var(--space-5) var(--space-3);background:#f4f7f5;border-right:1px solid #d8dfda;flex-direction:column;display:flex;position:sticky;top:0}.app-shell{width:100%;max-width:var(--content-width)}.statistics-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=72rem){.game-metrics-detail{grid-template-columns:repeat(4,max-content)}}@media (width<=34rem){.page-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.page-actions button{width:100%;padding-inline:.65rem}.game-card-content{flex-direction:column;align-items:flex-start;gap:.2rem}.game-metrics-card{flex-basis:auto;width:100%}.form-grid,.dimension-grid,.mechanics-input-row,.bgg-search-form,.collection-sort-row,.collection-filter-grid{grid-template-columns:1fr}.collection-result-count{justify-self:start}.collection-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.collection-toolbar>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.collection-toolbar .tool-button{justify-content:center;width:100%;padding-inline:.5rem}.collection-toolbar.search-active .collection-search-open{grid-area:2/1/auto/-1;width:100%}.collection-search-open{min-width:0}.player-filter-row{grid-template-columns:minmax(0,1fr) 4.5rem}.game-metrics-card,.game-metrics-detail{flex-wrap:wrap;gap:.45rem .75rem;width:100%;max-width:100%;display:flex}.dual-range{width:100%}.filters{grid-template-columns:1fr}.entity-list>li{flex-direction:column;align-items:stretch}.bgg-search-form button,.mechanics-input-row button{width:100%}.bgg-results li{flex-direction:column;align-items:stretch}.bgg-results li button{width:100%}.details-list{grid-template-columns:1fr}.details-list dt{border-bottom:0;padding-bottom:.2rem}.details-list dd{padding-top:.2rem}.details-list>:nth-last-child(-n+2){border-bottom:0}.form-actions>*{flex:1}.recent-sessions li{grid-template-columns:1fr}.recent-sessions li>div:last-child{text-align:left}}@media (width<=23rem){.page-actions{grid-template-columns:1fr}.game-cover-card,.game-card .cover-placeholder{flex-basis:4.25rem;width:4.25rem;height:4.25rem}}.cabinet-arrangement{gap:1rem;display:grid}.warning-button{color:#744210;background:#fff8e6;border-color:#b7791f}.warning-button:hover:not(:disabled){background:#ffefc2}.empty-cabinet-confirmation{border-radius:var(--radius-md,.75rem);background:#fffaf0;border:1px solid #d69e2e;gap:.75rem;margin-block:.75rem;padding:1rem;display:grid}.empty-cabinet-confirmation>*{margin-block:0}.arrangement-controls,.arrangement-preview,.arrangement-shelf,.arrangement-exceptions{border:1px solid var(--color-border,#cbd7d0);border-radius:var(--radius-md,.75rem);background:var(--color-surface,#fff);padding:1rem}.arrangement-controls,.arrangement-preview{gap:.85rem;display:grid}.arrangement-controls label:not(.checkbox-label){gap:.35rem;display:grid}.arrangement-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.arrangement-summary>*{border-radius:var(--radius-sm,.5rem);background:#eef5f1;padding:.75rem}.arrangement-shelf>header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.arrangement-shelf h3,.arrangement-shelf p{margin-block:.2rem}.arrangement-actions{background:var(--color-surface,#fff);padding-block:.75rem;position:sticky;bottom:0}@media (width<=40rem){.arrangement-summary{grid-template-columns:1fr}.arrangement-shelf>header{flex-direction:column;align-items:stretch}.arrangement-shelf>header button,.arrangement-actions>*{width:100%}}.description-clamped{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.resource-language{margin-right:.45rem}.game-card-categories{color:var(--muted-text,#667085);margin-top:.35rem;font-weight:500;display:block}.category-ranks{margin:0;padding-left:1.1rem}.start-game-tool-page>.text-button{margin-bottom:var(--space-3)}.multitouch-arena{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle,#f8fbf9,#eaf2ed);border:2px solid #b8c7bd;border-radius:1.25rem;min-height:clamp(25rem,68vh,48rem);position:relative;overflow:hidden}.multitouch-instructions{pointer-events:none;text-align:center;gap:.3rem;display:grid;position:absolute;top:1rem;left:1rem;right:1rem}.multitouch-instructions span{color:var(--color-muted)}.touch-participant{pointer-events:none;color:#183025;text-align:center;background:#dce5df;border:4px solid #53665a;border-radius:50%;place-items:center;width:6.25rem;height:6.25rem;font-weight:800;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 8px 22px #0d1e1638}.touch-participant b{color:#fff3a3;text-shadow:0 1px 3px #000;font-size:2rem;line-height:1;display:block}.touch-participant small{max-width:5rem;font-size:.68rem;line-height:1.05;display:block}.participant-red,.participant-team-red{color:#fff;background:#d93645;border-color:#8f1d25}.participant-blue,.participant-team-blue{color:#fff;background:#2575d8;border-color:#174c8f}.participant-green{color:#fff;background:#26955b;border-color:#17623c}.participant-yellow{color:#1d1b08;background:#f5cf35;border-color:#806b00}.participant-black{color:#fff;background:#252a27;border-color:#000}.participant-pink{color:#2a1020;background:#ec75ad;border-color:#9a3566}.participant-purple{color:#fff;background:#8c5bc5;border-color:#59338b}.participant-orange{color:#271404;background:#ed8b2f;border-color:#99500c}.multitouch-countdown{z-index:2;color:#fff;pointer-events:none;background:#183025e0;border-radius:50%;place-items:center;width:7rem;height:7rem;font-size:4rem;font-weight:800;display:grid;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.multitouch-limit{text-align:center;margin:0;position:absolute;bottom:1rem;left:1rem;right:1rem}.multitouch-result{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:4rem;padding-top:var(--space-3);display:flex}.dice-config{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dice-config section{min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid #d8dfda;border-radius:.9rem;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dice-config section>strong{font-size:1.2rem}.dice-config section>div{align-items:center;gap:.65rem;display:flex}.dice-config button{width:2.75rem;height:2.75rem;padding:0;font-size:1.35rem}.dice-config output{text-align:center;min-width:1.3rem;font-weight:800}.dice-actions{justify-content:flex-end;gap:var(--space-3);padding-block:var(--space-4);display:flex}.dice-results{min-height:10rem;padding:var(--space-4);background:var(--color-surface);border:1px solid #d8dfda;border-radius:1rem}.dice-results ul{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.dice-results li{background:#eaf2ed;border-radius:.75rem;place-items:center;min-height:5rem;display:grid}.dice-results li span{font-size:.78rem}.dice-results li strong{font-size:1.7rem}.dice-results.is-rolling{animation:.16s linear infinite alternate dice-shake}@keyframes dice-shake{to{transform:translate(.2rem)rotate(.5deg)}}@media (prefers-reduced-motion:reduce){.dice-results.is-rolling{animation:none}}@media (width>=48rem){.dice-config{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=24rem){.multitouch-arena{min-height:24rem}.touch-participant{width:5rem;height:5rem}.dice-config{grid-template-columns:1fr}.multitouch-result{flex-direction:column;align-items:stretch}.multitouch-result button,.dice-actions button{flex:1}}
