/* Quiet app chrome; adventure artwork and controls retain their own identity. */
html,.dashboard,.dashboard *{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,.dashboard::-webkit-scrollbar,.dashboard *::-webkit-scrollbar{display:none;width:0;height:0}
html{scroll-padding-top:96px}
.dashboard{background:radial-gradient(ellipse at 55% 0%,#30273955,transparent 55%),#16151b;color:#f3f0f5}
.dashboard .sidebar{background:linear-gradient(180deg,#201d26f2,#19171ff2);border-right:1px solid #ffffff08}
.dashboard .app-topbar{background:#19171edb;border-bottom:1px solid #ffffff08;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.dashboard .searchbox{background:#ffffff04;border:1px solid #ffffff0b;box-shadow:inset 0 1px 3px #0002;transition:background .2s,border-color .2s,box-shadow .2s}
.dashboard .searchbox:focus-within{background:#ffffff08;border-color:#bba5c65c;box-shadow:0 0 0 3px #bba5c610}
.dashboard .nav-item{border:1px solid transparent;transition:background .18s,color .18s,border-color .18s}
.dashboard .nav-item.active{background:linear-gradient(110deg,#ffffff0c,#ffffff04);border-color:#ffffff09;box-shadow:inset 0 1px #ffffff05;color:#f1dcc2}
.dashboard .nav-item:hover{background:#ffffff08;color:#f6f0f8}
.dashboard .icon-button{background:linear-gradient(160deg,#ffffff09,#ffffff03);border:1px solid #ffffff10;box-shadow:inset 0 1px #ffffff05;transition:background .18s,border-color .18s,opacity .18s}
.dashboard .icon-button:hover:not(:disabled){background:#ffffff12;border-color:#ffffff25}
.dashboard .icon-button:active:not(:disabled){background:#ffffff06}
.dashboard .icon-button:disabled{opacity:.23}
.dashboard .filter-tabs{gap:6px;padding-bottom:20px}
.dashboard .filter-tabs button{transition:background .18s,color .18s;min-height:34px}
.dashboard .filter-tabs button.selected{background:#ffffff0c;box-shadow:inset 0 1px #ffffff09;color:#faf5f0}
.dashboard .filter-tabs button:hover{color:#fff;background:#ffffff07}
.dashboard .featured{box-shadow:0 20px 48px -25px #000b}
.dashboard .game-rail{padding-top:8px;padding-bottom:18px;scroll-padding-inline:4px;overscroll-behavior-x:contain;gap:18px}
.dashboard .cover{box-shadow:0 10px 22px -12px #000b;transition:transform .25s cubic-bezier(.2,.65,.3,1),filter .25s,box-shadow .25s}
.dashboard .tile-select:hover .cover{box-shadow:0 18px 30px -12px #000c;filter:brightness(1.06)}
.dashboard .tile-title{font-size:13px;line-height:1.4;margin-top:14px;letter-spacing:-.015em}
.dashboard .tile-meta{font-size:10px;line-height:1.5;color:#a29aa9}
.dashboard .tile-save{bottom:19px;transition:color .18s}
.dashboard .section-heading{margin-top:32px;margin-bottom:12px}
.dashboard .section-heading p{line-height:1.6;color:#9b92a5}
.dashboard .rail-controls{gap:8px}
.dashboard .rail-controls .icon-button{width:32px;height:32px}
.dashboard .bottom-invite{background:linear-gradient(120deg,#ffffff05,#ffffff02);border:1px solid #ffffff08;box-shadow:inset 0 1px #ffffff03}
.dashboard .gather-card{background:radial-gradient(ellipse at top right,#edaa6940,transparent 65%),linear-gradient(135deg,#76394c,#ad5349);box-shadow:inset 0 1px #ffffff20,0 12px 26px -16px #0008}
.dashboard .house-rule{background:linear-gradient(135deg,#ffffff04,#ffffff01);border-color:#ffffff0b}
.dashboard .win-card{background:#ffffff04;border:1px solid #ffffff06;box-shadow:inset 0 1px #ffffff04}
.dashboard .preview-footnote{color:#918698}
.dashboard :is(button,a,input,textarea,[tabindex]):focus-visible{outline:2px solid #dbc7e6;outline-offset:4px}
@media(min-width:961px){.dashboard .app-topbar{position:sticky;top:0;z-index:40}.dashboard .activity-panel{padding-top:32px}}
@media(max-width:640px){html{scroll-padding-top:80px}.dashboard .game-rail{gap:16px}.dashboard .tile-title{font-size:12px}.dashboard .filter-tabs{margin-right:-18px;padding-right:18px}.dashboard .section-heading p{max-width:210px}.dashboard .rail-controls .icon-button{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.dashboard *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* The search field uses its enclosing surface for the focus indicator. */
.dashboard .searchbox input:focus-visible{outline:none}
