:root{--bg: #2f3338;--panel: #353a40;--panel-contrast: #3f444a;--text: #f2ede4;--muted: #a8a19a;--accent: #d44d3f;--accent-dark: #b03b32;--line: #4a4f55;--success-bg: #1f3f2d;--success-text: #c6f7d1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text);background-color:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 20%,rgba(212,77,63,.12),transparent 35%),radial-gradient(circle at 85% 10%,rgba(67,61,54,.25),transparent 32%),var(--bg)}a{color:inherit;text-decoration:none}.app-shell{max-width:960px;margin:0 auto;padding:24px 16px 48px}.topbar{display:flex;align-items:center;gap:12px;padding:18px 22px;border-radius:14px;background:#353a40e6;border:1px solid var(--line);box-shadow:0 10px 30px #00000059;position:sticky;top:12px;z-index:10;min-height:72px;flex-wrap:wrap}.topbar-landing{justify-content:center;gap:16px}.brand-link{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-logo{height:84px;width:84px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.brand-text{font-weight:900;letter-spacing:-.02em;font-size:28px;text-shadow:0 4px 12px rgba(0,0,0,.35)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-direction:row;justify-content:flex-end}.topbar-actions>*{flex-shrink:0}.menu-container{position:relative}.discord-login{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-weight:800}.discord-icon{display:inline-flex;width:22px;height:22px}.spacer{flex:1}.content{margin-top:16px}.hero{max-width:720px;margin:60px auto;text-align:center;display:flex;flex-direction:column;gap:12px;padding:16px}.hero-title{font-size:42px;letter-spacing:-.02em;margin:0}.hero-subtitle{margin:0;color:var(--muted);font-size:18px}.hero-cta{align-self:center;min-width:200px}.panel{background:var(--panel);color:var(--text);border-radius:16px;padding:20px 20px 24px;box-shadow:0 12px 30px #00000040;border:1px solid var(--line)}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.panel-actions{display:flex;align-items:center;gap:10px}.panel-actions+.plain-list{margin-top:10px}.audit-scroll{max-height:360px;overflow-y:auto;padding-right:6px}.menu-toggle{min-width:48px;height:48px}.compact-row{display:inline-flex;align-items:center;gap:8px}.menu-popover{position:absolute;top:100%;right:0;margin-top:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 30px #00000040;z-index:20}.back-to-top{position:fixed;right:16px;bottom:16px;border:none;background:linear-gradient(120deg,var(--accent),var(--accent-dark));color:var(--text);width:48px;height:48px;border-radius:50%;box-shadow:0 10px 20px #00000059;cursor:pointer;font-weight:800}.icon-btn{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:20px}.icon-btn.small{width:48px;height:48px}@media(max-width:640px){.topbar{position:sticky;top:0;flex-wrap:nowrap;align-items:center}}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.error{color:#b91c1c}.ghost{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600}.ghost:disabled{opacity:.55;cursor:not-allowed}.lang-btn{display:inline-flex;align-items:center;gap:6px;min-width:150px;justify-content:space-between}.lang-label{opacity:.9}.lang-code{font-weight:800;letter-spacing:.08em;min-width:40px;text-align:right}.logout-btn{min-width:110px;text-align:center}.settings-panel{margin-top:12px;padding:12px}.settings-toggle{width:100%;background:#2a2e33;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.settings-mode{font-weight:700;letter-spacing:.04em}.settings-caret{color:var(--muted)}.settings-body{margin-top:10px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(120deg,var(--accent),var(--accent-dark));color:var(--text);border-radius:12px;border:none;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 8px 20px #d44d3f59}.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:grayscale(.4)}.user-chip{padding:6px 10px;background:#2a2e33;color:var(--text);border-radius:10px;font-weight:600;border:1px solid var(--line);max-width:220px;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}.day-card{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--panel-contrast);color:var(--text)}.day-card .day-number{font-size:28px;font-weight:800}.day-card .day-status{font-size:13px;color:var(--muted)}.day-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}.day-layout{display:flex;flex-direction:column;gap:16px}.preview-anchor{display:block}.preview-panel{position:sticky;top:12px;align-self:flex-start}.preview-toggles{display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:#1e2328;border:1px solid var(--line);border-radius:12px}.preview-toggle-group{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.preview-toggle-group .small-btn{width:100%;min-width:0;padding:8px 12px}.puzzle-quick-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.puzzle-quick-actions .ghost,.puzzle-quick-actions .primary,.puzzle-quick-actions .wide{width:100%;justify-content:center}.creature-swap{display:inline-flex;align-items:center;gap:6px}.creature-swap .creature-old{position:relative;opacity:.65;padding:0 10px}.creature-swap .creature-old:after{content:"";position:absolute;left:-2px;right:-2px;top:55%;height:3px;background:#d44d3f;transform:translateY(-50%) rotate(-2deg);border-radius:3px;-webkit-mask-image:radial-gradient(130% 200% at 50% 140%,rgba(0,0,0,1) 60%,transparent 85%);mask-image:radial-gradient(130% 200% at 50% 140%,rgba(0,0,0,1) 60%,transparent 85%);filter:drop-shadow(0 0 3px rgba(212,77,63,.35));mix-blend-mode:multiply}.creature-swap .creature-new{font-family:Square Peg,Patrick Hand,Caveat,Comic Sans MS,cursive;font-weight:700;font-size:1.45em;color:var(--accent);letter-spacing:.4px}.choice-label{display:inline-flex;gap:4px;align-items:center}.day-card.solved{border-color:#4aa96c;background:#23352d}.day-card.locked{position:relative;overflow:hidden}.day-card.locked:after{content:"";position:absolute;inset:0;background:#00000059;pointer-events:none;border-radius:inherit}.day-card.locked .day-actions{position:relative;z-index:1}.small-btn{display:inline-block;padding:8px 10px;border-radius:10px;text-align:center;border:1px solid var(--line);text-decoration:none;font-weight:600;color:var(--text);background:transparent;cursor:pointer}.small-btn.primary{background:var(--accent);border-color:var(--accent);color:#0b1020}.small-btn.ghost{background:#1f242a;border-color:var(--line);color:var(--text)}.small-btn.disabled{color:#9ca3af;cursor:not-allowed}.nav-link{min-width:150px;text-align:center;display:inline-flex;justify-content:center;cursor:pointer}.pill{padding:6px 10px;border-radius:999px;font-size:13px;font-weight:600}.pill.success{background:var(--success-bg);color:var(--success-text);border:1px solid #4aa96c}.mode-selector{display:flex;flex-direction:column;gap:6px;color:var(--text)}.mode-label{font-weight:700}.mode-options{display:flex;gap:8px}.mode-btn{flex:1;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:#2a2e33;color:var(--text);cursor:pointer;min-height:90px;display:flex;flex-direction:column;justify-content:center}.mode-btn.selected{border-color:var(--accent);box-shadow:0 6px 16px #d44d3f59}.mode-btn.locked{opacity:.6;cursor:not-allowed}.mode-title{display:block;font-weight:700}.mode-badge{font-size:12px;color:var(--muted);min-width:80px;display:inline-block}.mode-hint{font-size:12px;color:var(--muted)}.riddle-body{background:var(--panel-contrast);padding:12px;border-radius:12px;margin-bottom:12px;color:var(--text)}.riddle-body blockquote{margin:12px 0;padding:12px 16px 12px 44px;border-left:3px solid var(--line);color:var(--muted);position:relative;font-style:italic;background:#0003;border-radius:10px}.riddle-body blockquote:before{content:"“";position:absolute;left:12px;top:6px;font-size:40px;color:#f2ede440;line-height:1}.riddle-body img{max-width:100%;height:auto;border-radius:12px;display:block;margin:8px 0}.answer-form{display:flex;gap:8px;margin-bottom:10px}.answer-form input{flex:1;padding:10px;border-radius:10px;border:1px solid var(--line);background:#2a2e33;color:var(--text)}.answer-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.pair-items-wrapper{display:flex;flex-direction:column;gap:12px}.pair-items-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:720px){.pair-items-columns{grid-template-columns:1fr}}.pair-items-column{display:flex;flex-direction:column;gap:8px}.pair-item{width:100%;text-align:left;cursor:pointer;color:var(--text)}.pair-item:disabled{cursor:default;opacity:.6}.pair-item.matched{border-style:dashed;opacity:.55}.pair-items-matches{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));gap:8px;width:100%;justify-content:center}.pair-items-match{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;border:1px dashed var(--line);border-radius:10px;padding:6px;background:#0d0f12a6;color:inherit;text-align:left;cursor:pointer;appearance:none}.pair-items-match:disabled{cursor:default;opacity:.6}.pair-items-match-card{background:#1c2026;border-radius:8px;border:1px solid var(--line);padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0}.pair-items-match-card img{width:100%;height:100%;max-height:120px;object-fit:contain;border-radius:6px}.pair-items-match-label{font-weight:600;text-align:center;white-space:normal;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;color:var(--text)}@media(max-width:640px){.pair-items-matches{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.pair-items-match{padding:5px}}.choice-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:#2a2e33;display:flex;align-items:center;gap:10px;position:relative;transition:border-color .2s ease,box-shadow .2s ease;min-height:64px}.choice-item input{accent-color:var(--accent);position:absolute;opacity:0;pointer-events:none}.choice-visual{display:flex;align-items:center;gap:10px;width:100%;position:relative}.choice-image{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#1f2327}.option-size-medium .choice-image{width:130px;height:130px}.option-size-large .choice-image{width:180px;height:180px;object-fit:contain}.option-size-medium.choice-item,.option-size-large.choice-item{min-height:160px;align-items:center;justify-content:center}.option-size-large.choice-item{flex-direction:column}.choice-order{position:absolute;top:6px;left:6px;padding:4px 8px;border-radius:6px;background:#000000bf;color:#fef9e2;font-weight:800;font-size:14px;box-shadow:0 6px 14px #00000059}.option-size-large.choice-item .choice-visual{flex-direction:column;gap:6px}.option-size-large .choice-visual span{text-align:center}.drag-sockets-wrapper,.select-items-wrapper{--socket-size: 96px;--socket-inset: clamp(4px, calc(var(--socket-size) * .12), 10px);--socket-padding: clamp(4px, calc(var(--socket-size) * .1), 8px);--socket-border: clamp(1px, calc(var(--socket-size) * .02), 2px);display:flex;flex-direction:column;gap:12px}.select-items-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.select-items-controls .drag-hint{margin-bottom:0;flex:1}.select-items-replay{white-space:nowrap}.drag-hint,.puzzle-hint{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#f7d0461f;color:var(--text);font-weight:700;margin-bottom:8px}.drag-sockets-board{position:relative;width:100%;background-size:cover;background-position:center;border:1px solid var(--line);border-radius:14px;overflow:visible;box-shadow:0 6px 18px #00000059;background-color:#0d0f12}.drag-sockets-board.no-background{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.05),transparent 40%),linear-gradient(180deg,#181c22d9,#11141af2);border:1px solid var(--line);box-shadow:inset 0 0 0 1px #ffffff08,0 6px 18px #00000059}.select-items-board{overflow:hidden}.select-items-board .drag-socket-label{color:#f8fafc;text-shadow:0 1px 2px rgba(0,0,0,.55)}.select-items-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:0}.drag-sockets-board.is-dragging:after{content:"";position:absolute;inset:0;background:#0000004d;pointer-events:none;z-index:0}.drag-socket{position:absolute;transform:translate(-50%,-50%);width:var(--socket-size);height:var(--socket-size);z-index:1;cursor:pointer}.select-item{background:#0c0e1166;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 2px 12px #00000059;padding:0;position:absolute;transform:translate(-50%,-50%);width:var(--socket-size);height:var(--socket-size);z-index:2}.select-item:disabled{cursor:default}.select-item .drag-socket-item{cursor:pointer}.select-items-board.status-correct .select-item.is-selected .drag-socket-item.selected{border:2px dashed #5bd18a;box-shadow:0 0 0 2px #5bd18a33,0 8px 18px #00000059}.select-items-board.status-incorrect .select-item.is-selected .drag-socket-item.selected{border:2px dashed #d85959;box-shadow:0 0 0 2px #d8595933,0 8px 18px #00000059}.select-item.is-selected .drag-socket-item{border:2px dashed #f7d046;box-shadow:0 0 0 2px #f7d04640,0 12px 22px #00000073;transform:scale(1.04)}.select-item.empty{transform:translate(-50%,-50%) scale(.7);opacity:.8}.select-item .drag-socket-item:hover{border-color:#f7d046;box-shadow:0 0 0 2px #f7d0462e;transform:scale(1.02)}.memory-wrapper{display:flex;flex-direction:column;gap:12px}.memory-grid{width:100%;max-width:none;margin:0 auto;display:grid;gap:6px;grid-auto-rows:auto;grid-template-columns:repeat(auto-fit,minmax(90px,120px));justify-content:center;padding:8px;border:1px solid var(--line);border-radius:14px;background:#0a0c10cc;box-shadow:0 10px 26px #00000059;align-items:start;justify-items:stretch}@media(max-width:640px){.memory-grid{border-radius:10px;border-width:1px}.memory-card{border-radius:10px;box-shadow:0 6px 16px #0000004d}}@media(min-width:1250px){.day-layout.has-preview-panel{position:relative;max-width:960px;margin:0 auto}.day-panel{max-width:960px}.preview-anchor{display:block}.preview-panel{position:fixed;top:clamp(24px,50vh - 200px,400px);left:clamp(16px,calc(50% + 500px),calc(100vw - 276px));width:260px;align-self:auto;transform:translateZ(0);z-index:5}}.memory-card{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0d0f12;cursor:pointer;height:100%;aspect-ratio:var(--memory-card-ratio, 3 / 4);box-shadow:0 10px 24px #00000059;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.memory-card.is-removed{background:#ffffff08;border:1px dashed rgba(255,255,255,.12);box-shadow:none;cursor:default;aspect-ratio:var(--memory-card-ratio, 3 / 4);pointer-events:none}.memory-card:disabled{cursor:default}.memory-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 14px 26px #00000073}.memory-card-face{position:absolute;inset:0;background-size:cover;background-position:center;width:100%;height:100%;backface-visibility:hidden;border-radius:inherit;opacity:0;transition:opacity .18s ease}.memory-card-back{background-image:var(--memory-back);z-index:1;opacity:1}.memory-card:not(.is-flipped):not(:disabled):hover .memory-card-back{background-image:var(--memory-back-hover, var(--memory-back))}.memory-card-front{z-index:2}.memory-card.is-flipped .memory-card-back{opacity:0}.memory-card.is-flipped .memory-card-front{opacity:1}.memory-matches{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,240px));gap:8px;width:100%;justify-content:center}@media(max-width:640px){.memory-matches{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.memory-match{padding:5px}}.memory-match{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px dashed var(--line);border-radius:10px;padding:6px;background:#0d0f12a6}.memory-match-card{background:#1c2026;border-radius:8px;border:1px solid var(--line);padding:4px;display:flex;align-items:center;justify-content:center}.memory-match-card img{width:100%;height:100%;object-fit:contain;border-radius:6px}.memory-miss-wrapper{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.memory-miss-label{font-weight:700;color:var(--text)}.memory-miss-track{display:flex;gap:6px}.memory-miss-token{width:22px;height:22px;border-radius:8px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;box-shadow:0 3px 8px #00000073,0 0 14px #f7d0461f}.memory-miss-track.deplete .memory-miss-token.is-filled,.memory-miss-track.fill .memory-miss-token.is-filled{background:radial-gradient(circle at 35% 35%,#f7d046,#b8871b);border-color:#f7d046bf;box-shadow:0 0 0 3px #f7d04633,0 0 18px #f7d04680,0 0 32px #f7d04640}.memory-miss-track.deplete .memory-miss-token:not(.is-filled),.memory-miss-track.fill .memory-miss-token:not(.is-filled){background:#ffffff14;border-color:#fff3}.memory-miss-track.fill .memory-miss-token.is-filled{background:radial-gradient(circle at 35% 35%,#f76f6f,#b83e3e);border-color:#f76f6fcc;box-shadow:0 0 0 3px #f76f6f33,0 0 18px #f76f6f80,0 0 32px #f76f6f40}.memory-miss-track.fill .memory-miss-token:not(.is-filled){background:#ffffff0d;border-color:#ffffff26}.memory-miss-token.burst{animation:miss-burst .5s ease forwards}.memory-miss-token.shatter{animation:miss-shatter .65s ease forwards}.memory-miss-token.gain{animation:miss-gain .5s ease forwards}@keyframes miss-burst{0%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.4}to{transform:scale(.6);opacity:.05}}@keyframes miss-shatter{0%{transform:scale(1) rotate(0);opacity:1}40%{transform:scale(1.3) rotate(-8deg);opacity:.6}70%{transform:scale(.6) rotate(12deg);opacity:.2}to{transform:scale(.5) rotate(18deg);opacity:0}}@keyframes miss-gain{0%{transform:scale(.7);opacity:.6}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.grid-path-wrapper{display:flex;flex-direction:column;gap:12px}.grid-path-board{position:relative;padding:12px;overflow:hidden}.grid-path-board:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000002e,#0006);pointer-events:none}.grid-path-board>*{position:relative;z-index:1}.grid-path-surface{position:relative;width:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 10px 26px #00000059;background-color:#000;display:flex;flex-direction:column;gap:var(--grid-path-gap, 6px);padding:var(--grid-path-gap, 6px)}.grid-path-grid{--grid-path-gap: 6px;display:grid;gap:var(--grid-path-gap);padding:0;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#000;box-shadow:inset 0 0 18px #0006;width:100%}.grid-path-cell{position:relative;width:100%;height:100%;min-height:42px;border-radius:6px;border:2px solid rgba(0,0,0,.75);background-color:transparent;cursor:pointer;transition:transform .1s ease,border-color .12s ease,background .12s ease;box-shadow:inset 0 0 0 2px #ffffff24,inset 0 0 12px #00000080}.grid-path-cell:not(:disabled):hover{border-color:#f7d046e6;transform:translateY(-1px) scale(1.015);background-color:#00000014}.grid-path-cell.is-in-path{border-color:#f7d046;box-shadow:inset 0 0 0 3px #000000a6,0 0 0 3px #f7d04647,0 10px 18px #00000073}.grid-path-cell.is-in-path:after{content:attr(data-step);position:absolute;inset:8px auto auto 8px;border-radius:4px;padding:4px 7px;background:#000c;color:#fef9e2;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px;letter-spacing:.02em;box-shadow:0 0 0 2px #00000073}.grid-path-cell.is-current{outline:2px solid #f7d046;box-shadow:0 0 0 3px #f7d04638,0 14px 26px #0000008c}.grid-path-board.status-incorrect .grid-path-cell.is-in-path{border-color:#d85959;background:#d8595940;box-shadow:0 0 0 2px #d859592e,0 12px 22px #0006;color:#ffd7d7}.grid-path-board.status-incorrect .grid-path-start.is-selected{border-color:#d85959;box-shadow:0 0 0 2px #d8595940;background:linear-gradient(180deg,#d8595938,#d8595914);color:#ffd7d7}.grid-path-board.status-incorrect .grid-path-cell.is-current{outline-color:#d85959;box-shadow:0 0 0 3px #d8595938,0 14px 26px #0000008c}.grid-path-board.status-incorrect .grid-path-goal.is-in-path{border-color:#d85959;box-shadow:0 0 0 2px #d8595940;background:linear-gradient(180deg,#d8595938,#d8595914);color:#ffd7d7}.grid-path-board.status-correct .grid-path-start.is-selected{border-color:#5bd18a;box-shadow:0 0 0 2px #5bd18a40;background:linear-gradient(180deg,#5bd18a38,#5bd18a0f);color:var(--text)}.grid-path-board.status-correct .grid-path-cell.is-in-path{border-color:#5bd18a;box-shadow:inset 0 0 0 3px #000000a6,0 0 0 3px #5bd18a47,0 10px 18px #00000073}.grid-path-board.status-correct .grid-path-cell.is-in-path:after{color:#fef9e2}.grid-path-board.is-locked .grid-path-cell{cursor:default}.has-start .grid-path-cell.is-blocked:not(.is-in-path){filter:grayscale(.8);opacity:.55}.grid-path-rails{display:none}.grid-path-row{display:flex;flex-direction:column;gap:4px;align-items:stretch}.grid-path-row-label{font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-align:center}.grid-path-row-cells{display:grid;gap:var(--grid-path-gap, 6px);width:100%}.grid-path-start,.grid-path-goal{width:100%;aspect-ratio:1 / 1;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#00000059;color:var(--text);font-weight:700;cursor:pointer;transition:transform .1s ease,border-color .12s ease,background .12s ease;position:relative;overflow:visible}.grid-path-start.is-selected:not(.is-locked),.grid-path-goal.is-selected:not(.is-locked){outline:none}.grid-path-start.is-selected{color:var(--text)}.grid-path-goal{color:#ffffff4d}.grid-path-goal.is-selected{color:var(--text)}.has-start .grid-path-start{color:#ffffff4d}.has-start .grid-path-start.is-selected{color:var(--text)}.grid-path-start:not(:disabled):hover,.grid-path-goal:not(:disabled):hover{border-color:#f7d046;transform:translateY(-1px)}.grid-path-start.is-selected{border-color:#f7d046;box-shadow:0 0 0 2px #f7d04659;background:linear-gradient(180deg,#f7d04633,#f7d0460d)}.grid-path-goal.is-selected{border-style:solid;border-color:#5bd18a;box-shadow:0 0 0 2px #5bd18a40;background:linear-gradient(180deg,#5bd18a38,#5bd18a0f)}.grid-path-goal.is-selected.is-available{border-style:solid}@property --grid-path-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes grid-path-border-spin{0%{--grid-path-angle: 0deg}to{--grid-path-angle: 360deg}}.grid-path-start.is-hint:not(.is-selected):after,.grid-path-goal.is-hint:not(.is-selected):after,.grid-path-start.is-hint:not(.is-selected):before,.grid-path-goal.is-hint:not(.is-selected):before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--grid-path-angle),transparent 80%,rgba(247,208,70,.52));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;pointer-events:none;z-index:1;animation:grid-path-border-spin 4.2s linear infinite}.grid-path-start.is-hint:not(.is-selected):before,.grid-path-goal.is-hint:not(.is-selected):before{filter:blur(10px);opacity:.4;z-index:0}.grid-path-goal.is-available:not(.is-selected){border-style:dashed;border-color:#f7d046;background:#f7d04614}.grid-path-goal:disabled,.grid-path-start:disabled{cursor:not-allowed;opacity:.55}.grid-path-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.drag-socket-target{position:absolute;inset:0;border:var(--socket-border) dashed var(--line);border-radius:999px;background:#00000059;box-shadow:0 0 0 3px #ffffff0a,0 0 18px #f7d04640;display:flex;align-items:center;justify-content:center;color:var(--muted)}.drag-socket-index{background:#00000073;border:1px solid var(--line);padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.socket-size-small .drag-socket-index{display:none}.socket-size-small{--socket-inset: 2px;--socket-padding: 2px}.socket-size-small .drag-socket-item img:not(.drag-item-tooltip-image){max-width:100%;max-height:100%;width:100%;height:100%}.drag-socket.is-active .drag-socket-target{border-color:#f7d046;box-shadow:0 0 0 4px #f7d04659,0 0 20px #f7d04666}.drag-socket.is-ordered-active .drag-socket-target{border-color:#f7d046;box-shadow:0 0 0 4px #f7d04666,0 0 32px #f7d04659}.drag-socket.is-ordered-locked{opacity:.55;cursor:default}.drag-socket.is-ordered-locked .drag-socket-target{border-color:#ffffff29;box-shadow:0 0 0 3px #ffffff14}.drag-sockets-board.is-dragging .drag-socket .drag-socket-target{box-shadow:0 0 0 4px #ffffff24,0 10px 26px #000000b3,0 0 36px #f7d04657,0 0 60px #f7d04640;background:#0009;transition:box-shadow .15s ease,background .15s ease}.drag-socket.is-candidate .drag-socket-target{border-color:#f7d046;box-shadow:0 0 0 4px #f7d046a6,0 0 24px #f7d04659,0 16px 32px #00000073,0 0 48px #ffe8b452;transform:scale(1.06) translateY(-1px);background:radial-gradient(circle at 35% 30%,#fff0d2e6,#ffe8b4bf);filter:drop-shadow(0 12px 22px rgba(0,0,0,.55))}.drag-socket.status-correct .drag-socket-target{border-color:#5bd18a;box-shadow:0 0 0 4px #5bd18a40}.drag-socket.is-muted{opacity:.25;filter:grayscale(.35)}.drag-sockets-board.is-dragging .drag-socket.is-candidate{opacity:1;filter:none;z-index:2}.drag-socket.status-incorrect .drag-socket-target{border-color:#d85959;box-shadow:0 0 0 4px #d8595940}.drag-socket.shape-square .drag-socket-target,.drag-socket.shape-square .drag-socket-item{border-radius:12px;clip-path:none}.drag-socket.shape-circle .drag-socket-target,.drag-socket.shape-circle .drag-socket-item{border-radius:50%;clip-path:none}.drag-socket.shape-hex .drag-socket-target{border-radius:0;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%)}.drag-socket.shape-hex img:not(.drag-item-tooltip-image){clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border-radius:0}.drag-socket.shape-hex .drag-socket-target{border-color:transparent;--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%2325262b' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-socket.shape-hex .drag-socket-item{border-radius:0;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);overflow:hidden;position:relative;background:#0d0f12b3;border:1px solid var(--line);inset:0;padding:0;transform:scale(.8);transform-origin:center}.drag-socket.shape-hex .drag-socket-target:before,.drag-socket.shape-hex .drag-socket-item:before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;background-position:center;background-image:var(--hex-svg);z-index:0}.drag-socket.status-correct.shape-hex .drag-socket-target{--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%235bd18a' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-socket.status-incorrect.shape-hex .drag-socket-target{--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%23d85959' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-socket.is-candidate.shape-hex .drag-socket-target{--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%23f7d046' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-socket.shape-hex .drag-socket-item img:not(.drag-item-tooltip-image),.drag-socket.shape-hex .drag-socket-item .drag-socket-label{position:relative;z-index:1}.drag-socket.shape-hex .drag-socket-item img:not(.drag-item-tooltip-image){clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border-radius:0;background:transparent;width:86%;height:86%;margin:0 auto;display:block}.drag-socket-item{position:absolute;inset:var(--socket-inset);border-radius:12px;border:var(--socket-border) solid var(--line);background:#0d0f12b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:grab;padding:var(--socket-padding);overflow:visible;z-index:5;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.drag-socket-item.empty{background:#ffffff0a;border-color:#94a3b880;color:#cbd5e1;opacity:.7;transform:scale(.6);padding:4px}.drag-socket-item.empty .drag-item-image,.drag-socket-item.empty .drag-socket-label{transform:scale(.6)}.drag-socket-item img:not(.drag-item-tooltip-image){max-width:92%;max-height:92%;width:92%;height:92%;object-fit:contain;border-radius:10px;border:none;background:transparent}.drag-socket-label{font-weight:700;font-size:12px;text-align:center;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.drag-socket-label.above{position:absolute;top:calc(-1 * (var(--socket-padding) + var(--socket-border)) - clamp(6px,calc(var(--socket-size) * .08),10px));left:50%;transform:translate(-50%,-50%);background:#0f1115bf;border:1px solid var(--line);border-radius:8px;padding:2px 6px;width:max-content;max-width:min(360px,80vw);word-break:normal;z-index:2}.drag-socket-hint{position:absolute;left:50%;bottom:calc(100% + clamp(14px,calc(var(--socket-size) * .2),26px));transform:translate(-50%);background:#0b0d11f2;border:1px solid rgba(247,208,70,.6);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--text);max-width:min(320px,80vw);text-align:center;white-space:normal;box-shadow:0 10px 24px #00000073;z-index:3;pointer-events:none}.drag-socket .reset{position:absolute;left:50%;bottom:calc(-1 * (var(--socket-padding) + var(--socket-border)) - clamp(4px,calc(var(--socket-size) * .08),8px));transform:translate(-50%,50%);width:clamp(16px,calc(var(--socket-size) * .3),28px);height:clamp(16px,calc(var(--socket-size) * .3),28px);font-size:clamp(12px,calc(var(--socket-size) * .22),18px);line-height:1;display:grid;place-items:center;padding:0}.drag-items-grid{display:flex;flex-wrap:wrap;gap:10px}.drag-items-header{flex-basis:100%;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text)}.drag-items-icon{width:28px;height:28px;object-fit:contain}.drag-item-card{border:var(--socket-border) dashed var(--line);border-radius:14px;padding:var(--socket-padding);background:#2a2e33;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:grab;width:var(--socket-size);height:var(--socket-size);transition:border-color .2s ease,box-shadow .2s ease;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.drag-item-card:hover{border-color:#f7d046;box-shadow:0 0 0 2px #f7d0462e}.drag-item-card:active{cursor:grabbing}.drag-item-card.dragging{opacity:.9;box-shadow:0 6px 16px #00000080;border-color:#f7d046}.drag-socket-item.dragging{border:var(--socket-border) dashed var(--line);box-shadow:0 6px 16px #00000080;background:#2a2e33;opacity:.9;border-color:#f7d046}.drag-socket-item.selected{border:2px dashed #f7d046;box-shadow:0 0 0 2px #f7d04640,0 8px 18px #00000059}.drag-socket.shape-hex .drag-socket-item.selected{border:none;box-shadow:none}.drag-socket.shape-hex .drag-socket-item.selected:after{content:"";position:absolute;inset:0;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border:2px dashed #f7d046;pointer-events:none}.drag-socket.shape-hex .drag-socket-item.selected:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%23f7d046' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-item-card.shape-square,.drag-item-card.shape-square .drag-item-image{border-radius:10px;clip-path:none}.drag-item-card.shape-circle,.drag-item-card.shape-circle .drag-item-image{border-radius:50%;clip-path:none}.drag-item-card.shape-hex,.drag-item-card.shape-hex.dragging{clip-path:none;border-radius:14px}.drag-item-card.shape-hex .drag-item-image{border-radius:0;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%)}.drag-socket-item.shape-hex img:not(.drag-item-tooltip-image){clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border-radius:0}.drag-socket-item.shape-hex.dragging{clip-path:none;border-radius:12px}.drag-socket-item.shape-hex.dragging img:not(.drag-item-tooltip-image){clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);border-radius:0}.drag-item-tooltip.shape-hex{border-radius:12px;clip-path:none;overflow:visible}.drag-item-tooltip.shape-hex .drag-item-tooltip-image{clip-path:none;border-radius:8px}.drag-item-card.shape-hex{border-color:transparent;position:relative;--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%238aa0b3' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E")}.drag-item-card.shape-hex:before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;background-position:center;background-image:var(--hex-svg);z-index:1}.drag-item-card.shape-hex:hover,.drag-item-card.shape-hex.dragging{--hex-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='25,5 75,5 100,50 75,95 25,95 0,50' fill='none' stroke='%23f7d046' stroke-width='4' stroke-dasharray='6 5'/%3E%3C/svg%3E");box-shadow:0 0 0 2px #f7d0462e}.drag-item-image{width:calc(var(--socket-size) - 20px);height:calc(var(--socket-size) - 20px);object-fit:contain;border-radius:10px;border:none;background:transparent}.drag-item-tooltip{position:absolute;top:-10px;left:50%;transform:translate(-50%,-100%);background:#0d0f12;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 6px 18px #0006;z-index:100;width:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none}.drag-item-tooltip.is-portal{position:fixed;top:auto;left:auto;transform:translate(-50%,-100%);z-index:2000}.drag-item-tooltip.inventory-tooltip-like{width:320px;gap:6px;align-items:flex-start}.drag-item-tooltip.inventory-tooltip-like .inventory-tooltip-title{font-size:16px;font-weight:800}.drag-item-card.dragging .drag-item-tooltip{display:none}.drag-socket-item .drag-item-tooltip{top:-12px;display:flex;z-index:10;pointer-events:none}.drag-item-tooltip-image{width:100%;height:auto;max-height:240px;object-fit:contain;border-radius:inherit;max-width:100%}.drag-item-title.tooltip-label{margin-top:8px;text-align:center;font-weight:700;width:100%}.drag-item-tooltip-desc{color:var(--muted);font-size:13px;text-align:center}.drag-item-tooltip[data-rarity=common]{border-color:#9aa0a6}.drag-item-tooltip[data-rarity=uncommon]{border-color:#5bd18a}.drag-item-tooltip[data-rarity=rare]{border-color:#4f8af7}.drag-item-tooltip[data-rarity=epic]{border-color:#b46bff}.drag-item-tooltip[data-rarity=legendary],.drag-item-tooltip[data-rarity=mythic]{border-color:#f7d046}.drag-item-tooltip.shape-hex{border-radius:0;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);overflow:hidden;padding:6px}.drag-item-tooltip.shape-hex .drag-item-tooltip-image{clip-path:inherit;border-radius:0}.drag-item-title{font-weight:700}.drag-item-labels{display:flex;flex-direction:column;gap:4px}.sort-list{display:flex;flex-direction:column;gap:8px}.sort-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:10px;background:#2a2e33;gap:10px}.sort-label{flex:1}.sort-actions{display:flex;gap:6px}.group-grid{display:flex;flex-direction:column;gap:8px}.group-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#2a2e33;flex-wrap:wrap}.group-option{flex:1;font-weight:600}.group-row select{min-width:180px;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--panel-contrast);color:var(--text)}.choice-item.selected{border-color:#f7d046;box-shadow:0 0 0 2px #f7d0464d}.choice-item.choice-error.selected{border-color:#d85959;box-shadow:0 0 0 2px #d8595959}.choice-item.choice-correct.selected{border-color:#5bd18a;box-shadow:0 0 0 2px #5bd18a59}.puzzle-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#1f2327;box-shadow:0 6px 18px #0003;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.puzzle-title{margin:0;font-size:20px}.riddle-answer .actions{margin-top:12px;display:flex;flex-direction:column;gap:10px}.riddle-answer .actions .primary,.riddle-answer .actions .ghost{width:100%}.feedback{padding:10px;border-radius:10px}.feedback.success{background:var(--success-bg);color:var(--success-text)}.feedback.error{background:#fef2f2;color:#b91c1c}.stack{display:flex;flex-direction:column;gap:16px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}.metric-card{background:var(--panel-contrast);border:1px solid var(--line);border-radius:12px;padding:12px}.metric-value{font-size:24px;font-weight:800}.content-coverage{margin-top:12px}.coverage-bar{position:relative;height:14px;border-radius:999px;background:#475569;overflow:hidden;margin:8px 0}.coverage-track{position:absolute;inset:0;background:#475569}.coverage-head{position:absolute;inset:0 auto 0 0;opacity:.9}.head-coverage{background:#6b7280}.head-partial{background:#f59e0b}.head-complete{background:#0ea5e9}.coverage-legend,.matrix-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.legend-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);padding:6px 10px;border-radius:10px;border:1px solid var(--line)}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.subpanel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.version-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;line-height:24px;flex:0 0 110px}.version-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.version-grid>.panel+.panel{margin-top:0}@media(max-width:720px){.version-grid{grid-template-columns:1fr}}.version-card{display:flex;flex-direction:column;gap:6px}.version-card>div:first-child{min-height:18px;display:flex;align-items:center;line-height:18px}.version-row{display:flex;align-items:center;gap:12px;min-height:24px}.version-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:24px;flex:1 1 auto}.uppercase{text-transform:uppercase;letter-spacing:.08em}.recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.plain-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.list-row{background:var(--panel-contrast);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.list-title{font-weight:700}.badge{background:#2a2e33;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.badge-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.user-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel-contrast);display:flex;flex-direction:column;gap:10px}.user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.user-name{font-weight:800}.user-meta,.user-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-actions button,.progress-editor button{border:1px solid var(--line);background:#2a2e33;color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer}.admin-actions button:disabled,.progress-editor button:disabled{opacity:.6;cursor:not-allowed}.danger{border-color:#b91c1c;color:#fecaca;background:#3b0a0a}.progress-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.progress-editor input[type=number]{width:70px;padding:6px;border-radius:8px;border:1px solid var(--line);background:#2a2e33;color:var(--text)}.checkbox{display:flex;align-items:center;gap:6px}.small{font-size:12px}.welcome-box{margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#353a40cc}.warning{padding:10px;border-radius:12px;border:1px solid #f97316;background:#f973161a;color:#fcd9b6}.modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;max-width:420px;width:100%;box-shadow:0 20px 40px #0006}.modal-message{margin-top:0;margin-bottom:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.toast-region{position:fixed;bottom:24px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:40}.toast{min-width:260px;max-width:320px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel-contrast);color:var(--text);box-shadow:0 10px 24px #00000059;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.toast.success{border-color:#4aa96c;background:#1f3f2d;color:#c6f7d1}.toast.error{border-color:#b91c1c;background:#3b0a0a;color:#fecaca}.toast.info{border-color:var(--line)}.toast-close{background:transparent;border:none;color:inherit;font-size:18px;cursor:pointer}.toast-progress{position:absolute;bottom:0;left:0;height:4px;background:#fff6;border-radius:0 0 10px 10px;width:100%;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toast-progress{0%{width:100%}to{width:0%}}.banner{border-radius:12px;padding:12px;border:1px solid var(--line);background:var(--panel-contrast)}.banner.success{border-color:#4aa96c;background:#1f3f2d;color:#c6f7d1}.banner.error{border-color:#b91c1c;background:#3b0a0a;color:#fecaca}.banner-title{font-weight:800}.banner-body{color:var(--muted);font-size:14px}.locked-form{pointer-events:none;opacity:.95}.banner+.riddle-body,.banner+.reward-card{margin-top:10px}.reward-card{margin-top:12px;margin-bottom:12px;border:1px solid rgba(255,215,128,.4);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#ffd78014,#ffd78005),var(--panel-contrast);box-shadow:0 0 0 1px #ffd78026,0 10px 30px #00000059}.reward-image{width:80px;height:80px;object-fit:cover;border-radius:12px;border:2px solid rgba(255,215,128,.7);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%),#1f2327}.reward-image[data-rarity=common]{border-color:#9aa0a6}.reward-image[data-rarity=uncommon]{border-color:#5bd18a}.reward-image[data-rarity=rare]{border-color:#4f8af7}.reward-image[data-rarity=epic]{border-color:#b46bff}.reward-image[data-rarity=legendary]{border-color:#f7d046}.reward-title{font-weight:900;letter-spacing:.01em}.reward-desc{color:var(--muted);font-size:14px}.statbar{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel-contrast);display:flex;flex-direction:column;gap:8px}.panel+.panel{margin-top:12px}.hist-panel{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-contrast);overflow:hidden}.hist-toggle{width:100%;border:none;background:transparent;color:var(--text);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700}.hist-toggle-icon{font-size:16px}.hist-body{padding:0 14px 14px}.progress-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.progress-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.progress-set{display:inline-flex;align-items:center;gap:6px}.progress-set input{width:70px;padding:6px;border-radius:8px;border:1px solid var(--line);background:#2a2e33;color:var(--text)}.statbar-header{display:flex;justify-content:space-between;align-items:center}.statbar-label{font-weight:700}.statbar-total{color:var(--muted);font-size:13px}.statbar-track{display:flex;width:100%;height:12px;border-radius:999px;overflow:hidden;background:#2a2e33;border:1px solid var(--line)}.statbar-segment{height:100%}.statbar-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.statbar-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:10px;border:1px solid var(--line);background:#2a2e33;font-size:12px}.statbar-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.hist-caption{margin-top:10px;font-size:12px;color:var(--muted)}.histogram{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;align-items:end;margin-top:8px}.hist-bar{display:flex;flex-direction:column;align-items:center;gap:4px}.hist-fill{width:100%;min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#60a5fa,#1d4ed8);transition:height .2s ease}.hist-label{font-size:11px;color:var(--muted);text-align:center}.hist-count{font-size:12px;color:var(--text);font-weight:600}.content-matrix{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-top:12px}.matrix-grid{display:grid;grid-template-columns:90px repeat(4,minmax(110px,1fr))}.matrix-header{position:sticky;top:0;z-index:1}.matrix-cell{padding:10px;text-align:center;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:44px;font-weight:700;color:#0f172a}.matrix-cell.header{background:var(--panel-contrast);color:var(--text);font-weight:800}.matrix-cell:last-child{border-right:none}.matrix-cell.selected{outline:2px solid #e2e8f0;outline-offset:-2px;box-shadow:0 0 0 2px #0ea5e959}.matrix-cell.status-missing{color:#e2e8f0}.matrix-cell.status-ok{color:#0b1021}.debug-panel{background:var(--panel-contrast);border:1px solid var(--line);border-radius:12px;padding:12px}.debug-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:12px 0}.debug-block{border:1px solid var(--line);border-radius:8px;padding:10px;background:#2e3339}.debug-block.selectable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.debug-block.selectable:hover{border-color:#7dd3fc99;box-shadow:0 0 0 1px #7dd3fc40}.debug-block.selectable.selected{border-color:#ffedd5e6;box-shadow:0 0 0 2px #ffedd599;transform:translateY(-2px);background:#3a3f4a}.debug-title{font-weight:700}.code-block{max-height:320px;overflow:auto;padding:12px;background:#111827;border-radius:10px;color:#e5e7eb}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.inventory-grid-player{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.inventory-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:8px}.inventory-search,.inventory-rarity{display:flex;flex-direction:column;gap:6px}.inventory-search input{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-contrast);color:var(--text)}.inventory-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.inventory-tags-filter{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.inventory-count{margin-bottom:2px}.inventory-card{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-contrast);display:flex;flex-direction:column;gap:8px;max-width:260px;width:100%}.inventory-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px;border:2px solid rgba(255,215,128,.7);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%),#1f2327}.inventory-legend{display:flex;flex-direction:column;gap:4px}.inventory-image[data-rarity=common]{border-color:#9aa0a6}.inventory-image[data-rarity=uncommon]{border-color:#5bd18a}.inventory-image[data-rarity=rare]{border-color:#4f8af7}.inventory-image[data-rarity=epic]{border-color:#b46bff}.inventory-image[data-rarity=legendary],.inventory-image[data-rarity=mythic]{border-color:#f7d046}.inventory-list{display:flex;flex-direction:column;gap:10px;overflow:visible}.inventory-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-contrast);transition:border-color .15s ease,transform .15s ease;overflow:visible}.inventory-row:focus-within,.inventory-row:hover{border-color:#ffd78080;transform:translateY(-1px);z-index:3}.inventory-row-main{display:flex;align-items:center;gap:12px;min-width:0}.inventory-title{font-weight:800;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-icon{width:44px;height:44px;border-radius:10px;border:2px solid rgba(255,215,128,.7);object-fit:cover;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%),#1f2327;flex:0 0 auto}.inventory-icon-empty{background:#1f2327;border-color:var(--line)}.inventory-icon[data-rarity=common]{border-color:#9aa0a6}.inventory-icon[data-rarity=uncommon]{border-color:#5bd18a}.inventory-icon[data-rarity=rare]{border-color:#4f8af7}.inventory-icon[data-rarity=epic]{border-color:#b46bff}.inventory-icon[data-rarity=legendary],.inventory-icon[data-rarity=mythic]{border-color:#f7d046}.inventory-tooltip{position:absolute;right:12px;top:50%;transform:translateY(-50%) scale(.98);background:#0f1115;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--text);font-size:14px;max-width:320px;box-shadow:0 10px 30px #00000059;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:2}.inventory-row:hover .inventory-tooltip,.inventory-row:focus-within .inventory-tooltip{opacity:1;transform:translateY(-50%) scale(1)}.inventory-tooltip[data-rarity=common]{border-color:#9aa0a6}.inventory-tooltip[data-rarity=uncommon]{border-color:#5bd18a}.inventory-tooltip[data-rarity=rare]{border-color:#4f8af7}.inventory-tooltip[data-rarity=epic]{border-color:#b46bff}.inventory-tooltip[data-rarity=legendary],.inventory-tooltip[data-rarity=mythic]{border-color:#f7d046}.inventory-tooltip-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.inventory-tooltip-icon{width:72px;height:72px;border-radius:8px;border:none;object-fit:cover;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%),#1f2327;flex:0 0 auto}.inventory-tooltip-title{font-weight:800;font-size:16px}.inventory-tooltip-desc{color:var(--muted)}@media(max-width:640px){.inventory-grid-player{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.inventory-row{align-items:flex-start}.inventory-tooltip{inset:auto auto 8px 12px;transform:scale(.98)}.inventory-row:hover .inventory-tooltip,.inventory-row:focus-within .inventory-tooltip{transform:scale(1)}}.issues-filter{margin-top:8px;display:flex;flex-direction:column;gap:8px}.tag-input{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel-contrast);min-height:46px;position:relative}.tag-input input[type=text]{flex:1;min-width:180px;border:none;outline:none;background:transparent;color:var(--text);line-height:1.4}.tag-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px 8px;line-height:1.2}button.tag-chip{cursor:pointer;color:inherit}.tag-chip.active{border-color:var(--accent);background:#d44d3f1f}.tag-chip button{background:none;border:none;color:inherit;cursor:pointer;padding:0}.tag-chip.locked{opacity:.8;padding-right:6px}.tag-lock{font-size:12px;opacity:.6}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.segmented-fit{align-self:flex-start}.segmented-strong button.active{background:var(--accent);color:#fdf3ee;font-weight:800}.segmented button{border:none;background:transparent;color:var(--text);padding:6px 12px;cursor:pointer;transition:background .15s ease}.segmented button+button{border-left:1px solid var(--line)}.segmented button.active{background:var(--panel-contrast);font-weight:700}.tag-key{background:#ffffff0f;padding:2px 6px;border-radius:6px;font-weight:700}.tag-value{background:#ffffff05;padding:2px 6px;border-radius:6px}.tag-sep{opacity:.6}.suggestions{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 20px #00000059;z-index:5;display:grid;grid-auto-rows:36px}.suggestion{background:transparent;border:none;color:var(--text);text-align:left;padding:8px 12px}.suggestion:hover,.suggestion.active{background:#0ea5e91f}.issue-row{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.issue-row+.issue-row{margin-top:6px}.issue-row-header{display:flex;align-items:baseline;gap:8px}.issues-filter>ul{list-style:none;padding:0;margin:6px 0 0}.issues-filter>ul>li{display:block;width:100%}.issue-details{list-style:disc;padding-left:18px;margin:4px 0 0}.unstyled-list{list-style:none;margin:0;padding:0}.assets-summary{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-contrast)}.assets-summary.severity-error{background:#f43f5e1a}.assets-summary.severity-warning{background:#f59e0b1f}.assets-summary.severity-info{background:#0ea5e91f}@media(max-width:640px){.answer-form{flex-direction:column}.panel-header{flex-direction:column;align-items:flex-start}.topbar{flex-direction:column;align-items:flex-start;position:static;top:auto}.topbar-actions{width:100%}.lang-btn,.logout-btn,.user-chip,.nav-link{width:100%;justify-content:center}.brand-link{width:100%}.topbar-actions>*{flex:1 1 100%}.user-chip{max-width:none;min-width:100%}}@font-face{font-family:Square Peg;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/square-peg-vietnamese-400-normal-nakn6np1.woff2) format("woff2"),url(/assets/square-peg-vietnamese-400-normal-C784H5RY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Square Peg;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/square-peg-latin-ext-400-normal-CJxcujQM.woff2) format("woff2"),url(/assets/square-peg-latin-ext-400-normal-CQL72vGW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Square Peg;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/square-peg-latin-400-normal-D0VAx7Ri.woff2) format("woff2"),url(/assets/square-peg-latin-400-normal-Ce7kcB62.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
