.dashboard-card{background:linear-gradient(180deg, #ffffff07, #ffffff02 46%, transparent), var(--card);border:1px solid color-mix(in srgb, var(--border) 90%, transparent);border-radius:var(--r2);box-shadow:var(--shadow);transition:border-color .35s var(--ease-out), box-shadow .45s var(--ease-out);cursor:grab;box-shadow:inset 0 1px 0 #ffffff0b, var(--shadow);padding:26px 26px 24px;animation:.4s backwards fade-up;position:relative;overflow:hidden}.dashboard-card:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--border2));box-shadow:inset 0 1px 0 #ffffff0f, inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent), var(--shadow2);transform:translateY(-4px)}[data-theme=light] .dashboard-card{background:linear-gradient(180deg, #fff, #f7fbfdfa), var(--card);border-color:#0f233229;box-shadow:inset 0 1px #ffffffd1,0 12px 32px #122a3a1c}[data-theme=light] .dashboard-card:hover{border-color:#2563eb57;box-shadow:inset 0 1px #ffffffe6,inset 0 0 0 1px #2563eb12,0 26px 56px #122a3a33}.dashboard-card.dragging{filter:opacity(.45);cursor:grabbing;outline-offset:2px;outline:2px dashed #3b82f666;box-shadow:0 24px 64px #0009}.dashboard-card.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent), var(--shadow2);transform:scale(1.01)}.card-header{justify-content:space-between;align-items:center;gap:10px;min-height:22px;margin-bottom:20px;padding-right:30px;display:flex;position:relative}.card-title-group{flex-shrink:0;align-items:center;gap:6px;min-width:0;display:flex}.card-title{color:color-mix(in srgb, var(--text2) 88%, var(--text));font-family:var(--font-m);font-size:var(--text-card-title);letter-spacing:.055em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;margin:0;font-weight:600;line-height:1.15;overflow:hidden}[data-theme=light] .card-title{color:#3e596b}.widget-star{z-index:6;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:24px;height:24px;color:var(--text3);cursor:pointer;opacity:.3;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:opacity .18s,color .18s,border-color .18s,background .18s,transform .12s;display:inline-flex;position:absolute;top:10px;right:10px}.dashboard-card:hover .widget-star,.widget-star:focus-visible{opacity:1}.widget-star:hover{color:var(--text2);border-color:var(--border2);background:color-mix(in srgb, var(--text) 5%, var(--card));transform:scale(1.08)}.widget-star:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.widget-star.is-starred{opacity:1;color:#d49a19;background:color-mix(in srgb, #d49a19 10%, var(--card));border-color:#d49a196b}.widget-star:after{content:attr(data-tooltip);z-index:30;background:var(--card2);width:max-content;max-width:220px;color:var(--text2);border:1px solid var(--border2);font-family:var(--font-m);font-size:var(--text-xs);white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:8px 10px;font-weight:500;line-height:1.45;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-4px);box-shadow:0 10px 24px #00000047}.widget-star:hover:after,.widget-star:focus-visible:after{opacity:1;visibility:visible;transform:translateY(0)}.dashboard-card .widget-star+*{padding-right:34px}.info-hint{width:20px;height:20px;color:var(--accent);cursor:help;opacity:1;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .18s,background .18s;display:inline-flex}@media (hover:hover){.info-hint:hover{color:var(--text);background:color-mix(in srgb, var(--accent) 20%, transparent)}}.info-hint:focus-visible,.info-hint[aria-expanded=true]{color:var(--text);background:color-mix(in srgb, var(--accent) 20%, transparent)}.info-hint:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.info-hint:after{content:attr(data-tooltip);z-index:30;background:var(--card2);width:max-content;max-width:min(280px,100%);color:var(--text2);border:1px solid var(--border2);font-family:var(--font-m);font-size:var(--text-xs);text-transform:none;letter-spacing:0;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:9px 11px;font-weight:500;line-height:1.5;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 10px 24px #00000047}@media (hover:hover){.info-hint:hover:after{opacity:1;visibility:visible;transform:translateY(0)}}.info-hint:focus-visible:after,.info-hint[aria-expanded=true]:after{opacity:1;visibility:visible;transform:translateY(0)}.badge{font-family:var(--font-m);font-size:var(--text-2xs);background:color-mix(in srgb, var(--text2) 8%, transparent);color:var(--text2);border:1px solid var(--border);white-space:nowrap;letter-spacing:.35px;border-radius:4px;flex-shrink:0;align-items:center;padding:4px 8px;font-weight:700;line-height:1;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}button.badge,.badge[role=button],.badge[aria-pressed]{cursor:pointer}button.badge:hover,.badge[role=button]:hover,.badge[aria-pressed]:hover{background:color-mix(in srgb, var(--accent) 9%, transparent);border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text);transform:translateY(-1px)}button.badge:active,.badge[role=button]:active,.badge[aria-pressed]:active{transform:translateY(0)}[data-theme=light] .badge{background:#29485a14;border-color:#0f233224}@media (max-width:640px){.game-question-panel{padding:var(--space-4)}.game-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px}.museum-grid{grid-template-columns:1fr}}.skeleton{background:var(--skeleton-base);-webkit-user-select:none;user-select:none;border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-highlight) 50%, transparent 100%);will-change:transform;animation:1.5s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-circle{border-radius:999px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.content-fade-in{animation:.45s both content-fade-in}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}
