:root{--violet:#6c3ff5;--violet-dark:#4b24c9;--violet-soft:#ece6ff;--coral:#ff6b6b;--coral-soft:#ffe3e3;--sun:#ffc83d;--sun-soft:#fff1c6;--teal:#12b5a6;--teal-soft:#d5f5f1;--sky:#38a8ff;--sky-soft:#dcf0ff;--cream:#fff7ec;--ink:#231942;--ink-soft:#5b5278;--line:#e6dcf5;--white:#fff;--danger:#d6293e;--danger-soft:#ffe1e5;--radius:18px;--radius-sm:12px;--shadow:0 6px 22px #3c1e8c1a;--shadow-pop:0 10px 30px #3c1e8c2e;--topbar-h:64px;--bottomnav-h:68px;--font:"Nunito", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior:none}body{overscroll-behavior:none;min-height:100vh;font-family:var(--font);color:var(--ink);background:var(--cream);background-image:radial-gradient(circle at 12% 8%,#ffe9f0 0,#0000 38%),radial-gradient(circle at 92% 4%,#e8e1ff 0,#0000 34%);background-attachment:fixed;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0 0 .4em;font-weight:800;line-height:1.2}h1{font-size:clamp(1.6rem,4.5vw,2.2rem)}h2{font-size:1.3rem}h3{font-size:1.1rem}.h4{font-size:1rem}p{margin:0 0 .8em}a{color:var(--violet-dark);text-underline-offset:2px}a:hover{color:var(--violet)}code{background:var(--violet-soft);word-break:break-all;border-radius:6px;padding:.1em .4em;font-size:.9em}img{max-width:100%}ul,ol{margin:0;padding-left:1.2em}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--ink-soft)}.small{font-size:.875rem}.self-start{align-self:flex-start}.stack{flex-direction:column;gap:14px;display:flex}.stack-lg{flex-direction:column;gap:22px;min-width:0;display:flex}.row-gap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.two-col{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=720px){.two-col{grid-template-columns:1fr 1fr}}.narrow{width:100%;max-width:460px;margin-inline:auto}.narrow-page{width:100%;max-width:720px;margin-inline:auto}.plain-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.plain-cards{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.prose{white-space:pre-line;max-width:70ch}.required{color:var(--coral)}.back-link{font-weight:700;text-decoration:none}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-weight:800;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem}.btn-lg{min-height:52px;padding:0 28px;font-size:1.05rem}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg, var(--violet), #8a5cff);color:#fff;box-shadow:0 4px 0 var(--violet-dark)}.btn-primary:hover:not(:disabled){color:#fff;filter:brightness(1.06)}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--violet-dark)}.btn-secondary{background:var(--white);color:var(--violet-dark);border-color:var(--violet)}.btn-secondary:hover:not(:disabled),.btn-soft{background:var(--violet-soft);color:var(--violet-dark)}.btn-soft:hover:not(:disabled){color:var(--violet-dark);background:#dcd0ff}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--ink);background:#6c3ff51a}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px #a01527}.btn-danger:hover:not(:disabled){color:#fff;filter:brightness(1.08)}.btn-icon{border-radius:50%;width:44px;min-width:44px;padding:0}.form{flex-direction:column;gap:16px;display:flex}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:.92rem;font-weight:800}.field-hint{color:var(--ink-soft);margin:0;font-size:.82rem}.field-message{color:var(--danger);margin:0;font-size:.85rem;font-weight:700}.input{width:100%;min-height:46px;font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px}.input:hover{border-color:#cdbdf0}.input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 4px #6c3ff52e}.field-error .input{border-color:var(--danger)}.textarea{resize:vertical;min-height:90px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%236c3ff5' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-block:12px;display:flex}.inline-form .field{flex:180px}.switch{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:#cfc6e6;border-radius:999px;flex:none;width:48px;height:28px;transition:background .15s;position:relative}.switch-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #00000040}.switch input:checked+.switch-track{background:var(--teal)}.switch input:checked+.switch-track .switch-thumb{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--sky);outline-offset:2px}.switch-text{flex-direction:column;font-weight:700;display:flex}.switch-text small{color:var(--ink-soft);font-weight:400}.tag-input{border:2px solid var(--line);border-radius:var(--radius-sm);background:#fff;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;padding:6px 8px;display:flex}.tag-input:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px #6c3ff52e}.tag-input input{min-width:100px;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:120px;padding:6px 4px}.tag{background:var(--violet-soft);color:var(--violet-dark);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:.875rem;font-weight:700;display:inline-flex}.tag button{cursor:pointer;color:inherit;background:0 0;border:0;border-radius:50%;padding:4px;display:inline-flex}.tag button:hover{background:#6c3ff533}.chip-fieldset{border:0;min-width:0;margin:0;padding:0}.chip-fieldset legend{margin-bottom:8px;padding:0;font-size:.92rem;font-weight:800}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);min-height:38px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.chip:hover{border-color:var(--violet)}.chip-on{background:var(--violet);border-color:var(--violet);color:#fff}.chip-avoid.chip-on{background:var(--coral);border-color:var(--coral)}.card{background:var(--white);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-padded{padding:20px}.danger-zone{background:#fff8f9;border-color:#ffc2c9}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-title h2{align-items:center;gap:8px;margin:0;display:flex}.badge{color:var(--ink-soft);white-space:nowrap;background:#eee9f7;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.badge-violet{background:var(--violet-soft);color:var(--violet-dark)}.badge-coral{background:var(--coral-soft);color:#b3262f}.badge-sun{background:var(--sun-soft);color:#7a5200}.badge-teal{background:var(--teal-soft);color:#0a6b62}.badge-sky{background:var(--sky-soft);color:#0b5a92}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-row{flex-wrap:wrap;gap:6px;display:flex}.avatar{border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar-more{background:var(--violet-soft);color:var(--violet-dark)}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-8px}.notice{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;margin:0 0 12px;padding:12px 14px;font-weight:600;display:flex}.notice p{margin:0}.notice-success{background:var(--teal-soft);color:#0a5f57}.notice-info{background:var(--sky-soft);color:#0b4c7c}.notice-warning{background:var(--sun-soft);color:#6b4700}.notice-danger{background:var(--danger-soft);color:#8d1626}.tabs{background:#efe8fb;border-radius:999px;gap:6px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:8px 18px;font-weight:800;display:inline-flex}.tab-active{color:var(--violet-dark);background:#fff;box-shadow:0 2px 8px #3c1e8c26}.tab-count{background:var(--violet);color:#fff;border-radius:999px;padding:0 8px;font-size:.75rem}.meter{background:#eee9f7;border-radius:999px;flex:1;height:12px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--teal), var(--sky));border-radius:999px;height:100%;transition:width .4s}.spinner{border:3px solid #fff6;border-top-color:currentColor;border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.btn-secondary .spinner,.btn-ghost .spinner,.btn-soft .spinner{border-color:#6c3ff540;border-top-color:var(--violet)}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;font-weight:700;display:flex}.dice-loader{gap:10px;display:flex}.dice-loader span{background:var(--violet);border-radius:6px;width:22px;height:22px;animation:.9s ease-in-out infinite bounce}.dice-loader span:nth-child(2){background:var(--coral);animation-delay:.15s}.dice-loader span:nth-child(3){background:var(--sun);animation-delay:.3s}@keyframes bounce{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(90deg)}}.skeleton{background:linear-gradient(90deg,#efe8fb 25%,#f8f4ff 50%,#efe8fb 75%) 0 0/200% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.cover-skeleton{aspect-ratio:4/3;width:100%}.skeleton-card{pointer-events:none}.empty-state{text-align:center;border-radius:var(--radius);background:#ffffffb3;border:2px dashed #cdbdf0;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;display:flex}.empty-state h2{margin:10px 0 0}.empty-state p{max-width:46ch;color:var(--ink-soft)}.empty-compact{padding:20px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.empty-icon{border-radius:26px;place-items:center;width:76px;height:76px;display:grid;transform:rotate(-6deg)}.tone-violet{background:var(--violet-soft);color:var(--violet)}.tone-coral{background:var(--coral-soft);color:var(--coral)}.tone-sun{background:var(--sun-soft);color:#c78a00}.tone-teal{background:var(--teal-soft);color:var(--teal)}.tone-sky{background:var(--sky-soft);color:var(--sky)}.empty-icon-danger{background:var(--danger-soft);color:var(--danger)}.error-state{border-color:#ffc2c9}.center-page{place-items:center;min-height:70vh;padding:24px 16px;display:grid}.center-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.modal{max-width:100vw;max-height:100vh;color:var(--ink);background:0 0;border:0;padding:0}.modal[hidden]{display:none}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2319428c}.modal[open]{width:min(560px,100vw - 24px);margin:auto}.modal-sm[open]{width:min(420px,100vw - 24px)}.modal-lg[open]{width:min(720px,100vw - 24px)}.modal-panel{box-shadow:var(--shadow-pop);background:#fff;border-radius:24px;flex-direction:column;max-height:calc(100vh - 32px);animation:.18s ease-out pop;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.97)}}.modal-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 8px 22px;display:flex}.modal-header h2{margin:0}.modal-body{padding:8px 22px 16px;overflow-y:auto}.modal-footer{border-top:2px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.confirm-message{margin:0}.shell{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"top""main";min-height:100vh;display:grid}.topbar{z-index:30;padding:0 16px;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--line);background:#ffffffeb;grid-area:top;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-center{flex:1;justify-content:center;min-width:0;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand strong{color:var(--violet)}.brand-text{display:none}@media (width>=520px){.brand-text{display:inline}}.main{padding:20px 16px calc(var(--bottomnav-h) + 28px + env(safe-area-inset-bottom));grid-area:main;width:100%;min-width:0;max-width:1180px;margin-inline:auto}.main:focus{outline:none}.main-simple{padding-bottom:40px}.skip-link{background:var(--violet);color:#fff;z-index:100;border-radius:10px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.user-menu{margin-left:auto;position:relative}.user-button{border:2px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 4px;font-weight:800;display:inline-flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;display:none;overflow:hidden}@media (width>=520px){.user-name{display:inline}}.menu{border:2px solid var(--line);min-width:210px;box-shadow:var(--shadow-pop);z-index:40;background:#fff;border-radius:16px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu a,.menu button{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-weight:700;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:var(--violet-soft)}.group-switcher{width:100%;max-width:260px;display:block}.group-switcher select{border:2px solid var(--line);width:100%;min-height:40px;font:inherit;color:var(--violet-dark);background-color:var(--violet-soft);border-radius:999px;padding:0 36px 0 14px;font-weight:800}.sidenav{display:none}@media (width>=900px){.shell:not(.shell-simple){grid-template-columns:250px 1fr;grid-template-areas:"top top""side main"}.sidenav{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));flex-direction:column;grid-area:side;align-self:start;gap:4px;padding:18px 12px;display:flex;position:sticky;overflow-y:auto}.main{padding-bottom:48px;padding-inline:28px}.bottomnav,.more-sheet{display:none!important}}.nav-link{color:var(--ink-soft);border-radius:14px;align-items:center;gap:12px;min-height:44px;padding:10px 14px;font-weight:800;text-decoration:none;display:flex}.nav-link:hover{color:var(--ink);background:#6c3ff514}.nav-link.active{background:var(--violet);color:#fff;box-shadow:0 4px 0 var(--violet-dark)}.bottomnav{z-index:30;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:2px solid var(--line);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-link{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;font-size:.7rem;font-weight:800;text-decoration:none;display:flex}.bottom-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-link.active{color:var(--violet)}.bottom-link.active svg{transform:translateY(-2px)scale(1.1)}.more-sheet{z-index:25;position:fixed;inset:0}.more-backdrop{background:#23194273;border:0;position:absolute;inset:0}.more-panel{left:12px;right:12px;bottom:calc(var(--bottomnav-h) + 10px + env(safe-area-inset-bottom));box-shadow:var(--shadow-pop);background:#fff;border-radius:22px;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px;display:grid;position:absolute}.more-link{color:var(--ink);background:#faf7ff;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:12px;font-weight:800;text-decoration:none;display:flex}.more-link.active{background:var(--violet);color:#fff}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.page-header h1{margin:0}.page-subtitle{color:var(--ink-soft);margin:4px 0 0}.page-eyebrow{margin-bottom:4px}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-page{grid-template-columns:1fr;min-height:100vh;display:grid}.auth-art{display:none}.auth-main{place-items:center;padding:24px 16px;display:grid}.auth-card{border:2px solid var(--line);width:100%;max-width:440px;box-shadow:var(--shadow-pop);background:#fff;border-radius:28px;flex-direction:column;gap:6px;padding:28px 24px;display:flex}.auth-card .form{margin-top:12px}.auth-footer{text-align:center;margin-top:14px;font-weight:700}@media (width>=900px){.auth-page{grid-template-columns:1fr 1fr}.auth-art{color:#fff;background:linear-gradient(150deg, var(--violet), #a04bff 55%, var(--coral));flex-direction:column;justify-content:center;gap:14px;padding:60px;display:flex}.auth-art h2{font-size:2.2rem}.auth-art p{opacity:.95;max-width:40ch;font-size:1.15rem}}.auth-dice{gap:14px;font-size:3.2rem;line-height:1;display:flex}.auth-dice span:nth-child(2){transform:rotate(10deg)translateY(-6px)}.group-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.group-card{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:6px;padding:20px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.group-card:hover{border-color:var(--violet);color:var(--ink);transform:translateY(-3px)rotate(-.4deg)}.group-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-card-top h3{margin:0}.group-card-go{color:var(--violet);align-items:center;gap:6px;margin-top:auto;font-weight:800;display:inline-flex}.profile-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.member-list,.owner-list,.invite-list,.tax-list{flex-direction:column;gap:8px;margin-bottom:14px;padding:0;list-style:none;display:flex}.member-row,.owner-row,.invite-row{border-radius:var(--radius-sm);background:#faf7ff;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.member-main,.owner-main,.invite-main{flex-direction:column;flex:160px;min-width:0;display:flex}.member-actions{gap:2px;margin-left:auto;display:flex}.invite-fresh{background:var(--teal-soft);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin:12px 0;padding:14px;display:flex}.tax-list li{align-items:center;gap:4px;display:flex}.tax-list li span{flex:1}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-box{border:2px solid var(--line);min-height:48px;color:var(--violet);background:#fff;border-radius:999px;flex:260px;align-items:center;gap:10px;padding:0 16px;display:flex}.search-box:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px #6c3ff52e}.search-box input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.toolbar-sort{border-radius:999px;flex:0 220px;width:auto}.view-toggle{background:#efe8fb;border-radius:999px;padding:4px;display:inline-flex}.view-toggle button{cursor:pointer;width:40px;height:40px;color:var(--ink-soft);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.view-toggle button.active{color:var(--violet);background:#fff;box-shadow:0 2px 6px #3c1e8c33}.filters{flex-direction:column;gap:16px;display:flex}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.filters-switches{flex-wrap:wrap;gap:8px 28px;display:flex}.load-more{justify-content:center;padding:10px;display:flex}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width>=640px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.game-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}}.game-list{flex-direction:column;gap:10px;display:flex}.game-card{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);background:#fff;flex-direction:column;min-width:0;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}a.game-card:hover{border-color:var(--violet);box-shadow:var(--shadow-pop);color:var(--ink);transform:translateY(-4px)rotate(-.5deg)}.game-card-cover{aspect-ratio:4/3;background:var(--violet-soft);position:relative}.game-card-cover .cover{width:100%;height:100%}.cover{object-fit:cover;width:100%;height:100%;display:block}.cover-placeholder{color:#fffffff2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100%;padding:12px;display:flex}.cover-placeholder span{-webkit-line-clamp:3;text-shadow:0 1px 2px #00000040;-webkit-box-orient:vertical;font-size:.85rem;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.cover-badges{flex-wrap:wrap;gap:4px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.fav-pill{width:32px;height:32px;color:var(--coral);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #0003}.fav-icon{color:var(--coral);vertical-align:-2px;margin-left:6px}.game-card-body{flex-direction:column;gap:6px;min-width:0;padding:12px 14px 14px;display:flex}.game-card-body h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.meta{color:var(--ink-soft);flex-wrap:wrap;gap:4px 12px;margin:0;font-size:.82rem;display:flex}.meta span{align-items:center;gap:4px;display:inline-flex}.game-card-owners{align-items:center;gap:8px;min-height:26px;display:flex}.game-row{border:2px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;align-items:center;gap:14px;padding:10px;text-decoration:none;display:flex}.game-row:hover{border-color:var(--violet);color:var(--ink)}.game-row-cover{border-radius:14px;flex:none;width:76px;height:76px}.game-row-main{flex:1;min-width:0}.game-row-main h3{margin:0 0 2px}.game-row-side{flex:none}.detail-layout{grid-template-columns:1fr;gap:22px;display:grid}@media (width>=760px){.detail-layout{grid-template-columns:300px 1fr}}.detail-cover{border-radius:var(--radius);border:2px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/3;align-self:start;overflow:hidden}.facts{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:0;display:grid}.facts>div{border:2px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:10px 14px}.facts dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:flex}.facts dd{margin:2px 0 0;font-weight:800}.cover-edit{grid-template-columns:160px 1fr;align-items:start;gap:18px;display:grid}.cover-edit-preview{border-radius:var(--radius-sm);aspect-ratio:4/3;border:2px solid var(--line);overflow:hidden}@media (width<=520px){.cover-edit{grid-template-columns:1fr}}.collection-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.collection-row{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.collection-title{flex:200px;font-size:1.05rem;font-weight:800}.reco-list{flex-direction:column;gap:14px;padding:0;list-style:none;display:flex}.reco{grid-template-columns:40px 96px 1fr;align-items:start;gap:14px;display:grid;position:relative}.reco-rank{background:var(--sun);width:40px;height:40px;color:var(--ink);border-radius:14px;place-items:center;font-size:1.2rem;font-weight:900;display:grid;transform:rotate(-6deg)}.reco-cover{aspect-ratio:1;border-radius:14px;width:96px;overflow:hidden}.reasons{margin:6px 0;padding-left:1.1em;font-size:.9rem}@media (width<=560px){.reco{grid-template-columns:40px 1fr}.reco-cover{display:none}}details.card summary{cursor:pointer;font-weight:800}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.kpi{border-radius:var(--radius);color:var(--ink);border:2px solid #0000;flex-direction:column;gap:2px;padding:18px;font-weight:700;display:flex}.kpi strong{font-size:2.2rem;line-height:1}.kpi-icon{margin-bottom:6px}.kpi-violet{background:var(--violet-soft)}.kpi-sky{background:var(--sky-soft)}.kpi-coral{background:var(--coral-soft)}.kpi-sun{background:var(--sun-soft)}.rank-list{counter-reset:rank;flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.rank-list li{counter-increment:rank;justify-content:space-between;align-items:center;gap:10px;display:flex}.rank-list li:before{content:counter(rank);background:var(--sun);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:900;display:grid}.rank-list li a{flex:1;font-weight:800}.bar-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.bar-list li{grid-template-columns:120px 1fr 32px;align-items:center;gap:10px;font-size:.9rem;display:grid}.bar-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-list li b{text-align:right}.timeline{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.timeline-item{align-items:flex-start;gap:16px;display:flex}.timeline-date{text-align:center;background:var(--coral-soft);color:#b3262f;border-radius:14px;flex:none;width:76px;padding:8px 4px;font-size:.85rem;font-weight:900}.timeline-main{flex:1;min-width:0}.timeline-main h3{margin:0}.player-row{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.player-chip{background:#faf7ff;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 3px;font-size:.85rem;font-weight:700;display:inline-flex}.event-card{color:var(--ink);align-items:center;gap:16px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.event-card:hover{border-color:var(--violet);color:var(--ink);transform:translateY(-2px)}.event-card h3{margin:0}.event-date{text-align:center;background:var(--sun-soft);color:#6b4700;border-radius:14px;flex:none;min-width:96px;padding:10px;font-size:.9rem;font-weight:900}.challenge-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.challenge-head h3{flex:1;margin:0}.wish-row{align-items:center;gap:12px;display:flex}.wish-row>div:first-child{flex:1;min-width:0}.wish-row h3{margin:0}.table-wrap{border:2px solid var(--line);border-radius:var(--radius-sm);max-height:420px;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.table th{background:var(--violet-soft);z-index:1;position:sticky;top:0}[data-sonner-toaster]{font-family:var(--font)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.topbar,.sidenav,.bottomnav,.more-sheet{display:none!important}body{background:#fff}}.modal-body,.table-wrap,.tabs,.more-panel,.sidenav{overscroll-behavior:contain}
