:root{--bg: #f7f7fb;--surface: #ffffff;--ink: #18162b;--muted: #716e86;--line: #ece9f5;--accent: #6366f1;--accent-2: #a855f7;--soft: #efeefe;--good: #10b981;--warn: #e0a23b;--radius: 22px;--shadow: 0 2px 4px rgba(24, 22, 43, .04), 0 12px 32px rgba(24, 22, 43, .07);--shadow-lift: 0 6px 12px rgba(24, 22, 43, .08), 0 22px 48px rgba(24, 22, 43, .12);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1100px 620px at 8% -8%,#e7e1ff 0%,transparent 55%),radial-gradient(950px 520px at 102% -2%,#ffe3f1 0%,transparent 52%),radial-gradient(900px 700px at 50% 115%,#d9f6ff 0%,transparent 55%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}60%{transform:scale(1.01)}to{opacity:1;transform:scale(1)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 var(--ring, rgba(99,102,241,.45))}70%{box-shadow:0 0 0 16px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.shell{max-width:820px;margin:0 auto;padding:1.6rem 1.25rem 5rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap;margin-bottom:2rem;animation:fadeUp .4s ease both}.topnav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 560px){.topbar{margin-bottom:1.4rem}.topnav{gap:.15rem;width:100%;justify-content:space-between}.navlink{padding:.4rem .6rem;font-size:.9rem}.who{display:none}}.brand{font-weight:800;font-size:1.4rem;letter-spacing:-.03em;background:linear-gradient(100deg,#6366f1,#ec4899 60%,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.navlink{color:var(--muted);font-size:.95rem;font-weight:600;padding:.45rem .9rem;border-radius:999px;transition:background .15s ease,color .15s ease}.navlink:hover{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;flex-shrink:0;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.theme-toggle:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.theme-toggle.pub-theme-toggle{border-color:var(--pglass-border, rgba(255, 255, 255, .12));background:#ffffff0f;color:var(--pmuted, #a4a6c4)}.theme-toggle.pub-theme-toggle:hover{color:#fff}html.theme-dungeon .theme-toggle{color:var(--accent-hi);border-color:#c9a22766}html.theme-dungeon .theme-toggle:hover{color:var(--accent-hi);box-shadow:0 0 10px #e3c05c66}html.theme-dungeon .public .theme-toggle.pub-theme-toggle{color:var(--accent-hi)}h1{letter-spacing:-.035em;font-weight:800}.lead{color:var(--muted);margin:-.4rem 0 2rem;line-height:1.55;font-size:1.02rem}.who{font-size:.9rem;font-weight:700;color:var(--ink);padding:.4rem .7rem}.navlink.logout{border:none;background:transparent;cursor:pointer;font:inherit;font-weight:600}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-lift);padding:2.4rem 2.2rem;animation:popIn .5s ease both}.auth-brand{font-size:2rem}.auth-tag{color:var(--muted);margin:.4rem 0 1.8rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field span{font-size:.85rem;font-weight:700;color:var(--ink)}.field span em{color:var(--muted);font-weight:500;font-style:normal}.field input{border:2px solid var(--line);border-radius:13px;padding:.8rem .95rem;font-size:1rem;font-family:inherit;color:var(--ink);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.auth-submit{justify-content:center;margin-top:.4rem;--from: var(--accent);--to: var(--accent-2)}.auth-error{background:#fff0f1;border:1px solid #f3c6cc;color:#c02740;border-radius:11px;padding:.6rem .85rem;font-size:.88rem}.auth-switch{margin-top:1.5rem;text-align:center;color:var(--muted);font-size:.92rem}.auth-switch button{border:none;background:none;cursor:pointer;font:inherit;color:var(--accent);font-weight:700}.section-label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--muted);font-weight:700;margin:1.75rem 0 .9rem}.quiz-card{position:relative;display:flex;align-items:center;gap:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem;margin-bottom:1rem;overflow:hidden;animation:fadeUp .5s ease both;transition:transform .16s ease,box-shadow .16s ease}.quiz-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--from),var(--to))}.quiz-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px color-mix(in srgb,var(--from) 22%,transparent),var(--shadow-lift)}.quiz-card:nth-child(2){animation-delay:.04s}.quiz-card:nth-child(3){animation-delay:.08s}.quiz-card:nth-child(4){animation-delay:.12s}.quiz-badge{flex-shrink:0;width:56px;height:56px;display:grid;place-items:center;font-size:1.7rem;border-radius:18px;background:linear-gradient(135deg,var(--from),var(--to));box-shadow:0 8px 18px color-mix(in srgb,var(--from) 35%,transparent)}.quiz-card-body{flex:1;min-width:0}.quiz-go{flex-shrink:0;font-size:1.3rem;color:var(--from);transition:transform .16s ease}.quiz-card:hover .quiz-go{transform:translate(4px)}.card-title{font-weight:750;font-size:1.18rem;letter-spacing:-.02em}.card-meta{color:var(--muted);font-size:.85rem;margin-top:.1rem}.card-desc{color:var(--muted);font-size:.92rem;margin-top:.55rem;line-height:1.5}.tag{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:999px;color:#fff;background:linear-gradient(120deg,var(--from),var(--to))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.6rem;margin-bottom:1.1rem;animation:popIn .45s ease both}.btn{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(120deg,var(--from, var(--accent)),var(--to, var(--accent-2)));color:#fff;border:none;border-radius:999px;padding:.78rem 1.6rem;font-size:1rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px color-mix(in srgb,var(--from, var(--accent)) 30%,transparent);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{background:#fff;color:var(--muted);box-shadow:var(--shadow)}.btn.ghost:hover{color:var(--ink)}.take{--from: var(--accent);--to: var(--accent-2);animation:fadeUp .35s ease both}.quiz-eyebrow{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;color:var(--ink);margin-bottom:1.2rem}.quiz-eyebrow .dot-emoji{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:1.05rem;background:linear-gradient(135deg,var(--from),var(--to))}.progress{height:10px;background:#ece9f5;border-radius:999px;overflow:hidden;margin-bottom:2.2rem}.progress>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--from),var(--to));transition:width .35s cubic-bezier(.34,1.56,.64,1)}.scenario{color:var(--muted);font-size:.92rem;margin-bottom:.5rem}.stem{font-size:1.7rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 1.8rem;font-weight:750}.options{display:flex;flex-direction:column;gap:.75rem}.option{position:relative;text-align:left;background:#fff;border:2px solid var(--line);border-radius:16px;padding:1.05rem 1.2rem;font-size:1.02rem;line-height:1.4;color:var(--ink);cursor:pointer;animation:fadeUp .3s ease both;transition:border-color .14s ease,background .14s ease,transform .1s ease,box-shadow .14s ease}.option:nth-child(2){animation-delay:.04s}.option:nth-child(3){animation-delay:.08s}.option:nth-child(4){animation-delay:.12s}.option:nth-child(5){animation-delay:.16s}.option:hover{border-color:color-mix(in srgb,var(--from) 55%,var(--line));transform:translateY(-1px);box-shadow:0 6px 14px color-mix(in srgb,var(--from) 14%,transparent)}.option.selected{border-color:transparent;background:linear-gradient(120deg,color-mix(in srgb,var(--from) 14%,#fff),color-mix(in srgb,var(--to) 14%,#fff));box-shadow:0 0 0 2px var(--from) inset,0 8px 18px color-mix(in srgb,var(--from) 18%,transparent);transform:scale(1.01)}.option.check{display:flex;align-items:center;gap:.8rem}.checkbox{flex-shrink:0;width:24px;height:24px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;font-size:.85rem;font-weight:800;color:#fff;transition:background .14s ease,border-color .14s ease}.checkbox.on{background:linear-gradient(135deg,var(--from),var(--to));border-color:transparent}.this-or-that{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 520px){.this-or-that{grid-template-columns:1fr}}.tot-card{display:flex;flex-direction:column;gap:.7rem;text-align:left;background:#fff;border:2px solid var(--line);border-radius:20px;padding:1.4rem 1.3rem;min-height:150px;cursor:pointer;font:inherit;color:var(--ink);animation:popIn .35s ease both;transition:border-color .14s ease,transform .12s ease,box-shadow .14s ease}.tot-card:nth-child(2){animation-delay:.06s}.tot-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--from) 55%,var(--line));box-shadow:0 10px 22px color-mix(in srgb,var(--from) 16%,transparent)}.tot-card.selected{border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--from) 14%,#fff),color-mix(in srgb,var(--to) 14%,#fff));box-shadow:0 0 0 2px var(--from) inset,0 10px 22px color-mix(in srgb,var(--from) 20%,transparent)}.tot-tag{align-self:flex-start;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;padding:.22rem .6rem;border-radius:999px;background:linear-gradient(120deg,var(--from),var(--to))}.tot-label{font-size:1.12rem;line-height:1.4;font-weight:650}.scale{animation:fadeUp .3s ease both}.scale-anchors{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--muted);font-weight:600;margin:.2rem .1rem}.scale-anchors span:last-child{text-align:right}.scale-track{display:flex;gap:.5rem;align-items:stretch}.scale-point{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#fff;border:2px solid var(--line);border-radius:14px;padding:.9rem .4rem;cursor:pointer;font:inherit;color:var(--muted);transition:border-color .14s ease,background .14s ease,transform .1s ease,color .14s ease}.scale-point:hover{border-color:color-mix(in srgb,var(--from) 50%,var(--line));transform:translateY(-2px)}.scale-dot{width:18px;height:18px;border-radius:50%;background:#ece9f5;transition:background .14s ease,transform .14s ease}.scale-caption{font-size:.74rem;line-height:1.25;text-align:center;font-weight:600}.scale-point.selected{border-color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--from) 12%,#fff),color-mix(in srgb,var(--to) 12%,#fff));box-shadow:0 0 0 2px var(--from) inset;color:var(--ink)}.scale-point.selected .scale-dot{background:linear-gradient(135deg,var(--from),var(--to));transform:scale(1.15)}.rating{animation:fadeUp .3s ease both}.rating-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:.5rem;margin-bottom:.6rem}.rating-chip{aspect-ratio:1;min-width:44px;border:2px solid var(--line);border-radius:13px;background:#fff;font:inherit;font-weight:800;font-size:1.05rem;color:var(--muted);cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .1s ease,color .14s ease}.rating-chip:hover{border-color:color-mix(in srgb,var(--from) 55%,var(--line));transform:translateY(-2px)}.rating-chip.selected{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--from),var(--to));box-shadow:0 8px 16px color-mix(in srgb,var(--from) 28%,transparent)}.slider{animation:fadeUp .3s ease both;padding-top:.5rem}.slider-bubble-wrap{position:relative;height:2rem}.slider-bubble{position:absolute;transform:translate(-50%);top:0;min-width:2.4rem;padding:.2rem .55rem;border-radius:999px;font-weight:800;font-size:.95rem;text-align:center;color:var(--muted);background:#fff;border:2px solid var(--line);font-variant-numeric:tabular-nums;transition:color .14s ease,border-color .14s ease}.slider-bubble.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--from),var(--to))}.slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:#ece9f5;outline:none;cursor:pointer;margin:.4rem 0 .2rem}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--from),var(--to));border:4px solid #fff;box-shadow:0 4px 12px color-mix(in srgb,var(--from) 40%,transparent);cursor:grab}.slider-input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--from);border:4px solid #fff;box-shadow:0 4px 12px color-mix(in srgb,var(--from) 40%,transparent);cursor:grab}.ranking{display:flex;flex-direction:column;gap:.6rem;animation:fadeUp .3s ease both}.ranking-hint{font-size:.82rem;color:var(--muted);margin-bottom:.2rem}.rank-row{display:flex;align-items:center;gap:.7rem;background:#fff;border:2px solid var(--line);border-radius:14px;padding:.8rem .9rem;cursor:grab;transition:border-color .14s ease,box-shadow .14s ease,opacity .14s ease}.rank-row.dragging{opacity:.5;border-color:var(--from);box-shadow:var(--shadow-lift)}.rank-num{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;font-weight:800;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--from),var(--to))}.rank-grip{color:#c8c5d8;font-size:.9rem;letter-spacing:-2px}.rank-label{flex:1;min-width:0;line-height:1.4}.rank-arrows{display:flex;flex-direction:column;gap:2px}.rank-arrows button{width:26px;height:22px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;color:var(--muted);font-size:.8rem;line-height:1}.rank-arrows button:disabled{opacity:.3;cursor:not-allowed}.rank-arrows button:not(:disabled):hover{color:var(--ink);border-color:var(--from)}.quiz-footer{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:2.2rem}.counter{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted);background:#fff;padding:.35rem .9rem;border-radius:999px;box-shadow:var(--shadow)}.bar-row{margin-bottom:1.25rem;animation:fadeUp .4s ease both}.bar-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.98rem;margin-bottom:.4rem}.bar-head .lbl{font-weight:700}.bar-head .val{font-weight:800;font-variant-numeric:tabular-nums;font-size:1.05rem}.bar-track{height:12px;background:#f0eef7;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .9s cubic-bezier(.22,1,.36,1)}.bar-poles{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:.3rem}.archetype-wrap{text-align:center;padding:.5rem 0 .4rem}.archetype{font-size:2.6rem;font-weight:850;letter-spacing:-.04em;line-height:1.05;margin:.3rem 0}.archetype-sub{color:var(--muted);font-size:.98rem}.notice{background:linear-gradient(120deg,#fff6e6,#fff0f4);border:1px solid #f3dcb8;color:#8a6322;border-radius:14px;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.55;margin-top:1.5rem}.patterns{background:linear-gradient(120deg,#efeefe,#e8fbff);border:1px solid #ddd9f7}.patterns li{margin-bottom:.45rem;line-height:1.55}.empty{color:var(--muted);text-align:center;padding:3.5rem 1rem;line-height:1.7;font-size:1.05rem}.center-actions{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.dim-layout{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.dim-radar{flex:0 0 320px;display:grid;place-items:center;animation:popIn .5s ease both}.dim-bars{flex:1;min-width:240px}@media (max-width: 620px){.dim-radar{flex-basis:100%}}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem;margin-bottom:1.4rem}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1rem 1.1rem;animation:fadeUp .5s ease both}.stat-tile:nth-child(2){animation-delay:.05s}.stat-tile:nth-child(3){animation-delay:.1s}.stat-tile:nth-child(4){animation-delay:.15s}.stat-tile:nth-child(5){animation-delay:.2s}.stat-num{font-size:1.9rem;font-weight:850;letter-spacing:-.03em;line-height:1;background:linear-gradient(120deg,var(--from),var(--to));-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{margin-top:.35rem;font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-tile .flame{font-size:1.5rem}.heatmap-card{padding:1.2rem 1.4rem}.heatmap{display:flex;gap:4px;overflow-x:auto;padding-bottom:.2rem}.heatmap .week{display:flex;flex-direction:column;gap:4px}.heatmap .cell{width:13px;height:13px;border-radius:4px;background:#ece9f5}.heatmap .cell.l1{background:color-mix(in srgb,var(--accent) 35%,#ece9f5)}.heatmap .cell.l2{background:color-mix(in srgb,var(--accent) 65%,#fff)}.heatmap .cell.l3{background:var(--accent)}.heatmap-legend{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted);margin-top:.7rem;justify-content:flex-end}.heatmap-legend .cell{width:11px;height:11px;border-radius:3px}.since-last{font-size:.82rem;color:var(--muted);margin-top:.2rem}.since-last b{color:var(--ink)}.type-list{display:flex;flex-direction:column;gap:.55rem}.type-row{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;animation:fadeUp .4s ease both;transition:box-shadow .14s ease,border-color .14s ease}.type-row.open{box-shadow:var(--shadow)}.type-row.locked{background:#faf9fd;border-style:dashed}.type-head{width:100%;display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;background:none;border:none;cursor:pointer;font:inherit;text-align:left}.type-row.locked .type-head{cursor:default}.type-rank{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;font-weight:800;font-size:.85rem}.type-main{flex:1;min-width:0;display:flex;flex-direction:column}.type-label{font-weight:750;font-size:1.02rem}.type-row.locked .type-label{color:var(--muted)}.type-tagline{color:var(--muted);font-size:.85rem}.type-locked-note{color:#b0adc0;font-size:.76rem;margin-top:.1rem}.type-score{font-weight:800;font-variant-numeric:tabular-nums;font-size:1rem}.type-chevron{color:var(--muted);font-size:.85rem;width:1rem;text-align:center}.type-detail{padding:.2rem 1.1rem 1.1rem;animation:fadeUp .3s ease both}.type-blurb{margin:0 0 1rem;line-height:1.6;color:var(--ink)}.detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}@media (max-width: 560px){.detail-cols{grid-template-columns:1fr}}.detail-cols h5{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.detail-cols ul{margin:0;padding-left:1.05rem}.detail-cols li{margin-bottom:.3rem;line-height:1.45;font-size:.92rem}.axis-label{font-size:.72rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.axis2{position:relative;width:100%;max-width:360px;aspect-ratio:1;margin:.75rem auto;border-radius:16px;overflow:hidden;background:linear-gradient(#fff9,#fff9) center / 100% 2px no-repeat,linear-gradient(#fff9,#fff9) center / 2px 100% no-repeat,conic-gradient(from 0deg at 50% 50%,#d9f6ff,#d9f6ff 90deg,#efeefe 90deg,#efeefe 180deg,#fdeef4 180deg,#fdeef4 270deg,#fff6e6 270deg,#fff6e6 360deg);box-shadow:inset 0 0 0 1px var(--line)}.axis2 .dot{position:absolute;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--from),var(--to));border:4px solid #fff;box-shadow:0 4px 12px color-mix(in srgb,var(--from) 45%,transparent);transform:translate(-50%,-50%);--ring: color-mix(in srgb, var(--from) 45%, transparent);animation:pulseRing 2s ease-out infinite}.profile-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.6rem;margin-bottom:1.2rem;overflow:hidden;animation:fadeUp .5s ease both}.profile-card:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--from),var(--to))}.profile-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}.profile-emoji{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:1.3rem;background:linear-gradient(135deg,var(--from),var(--to));box-shadow:0 6px 14px color-mix(in srgb,var(--from) 32%,transparent)}.profile-title{font-weight:800;font-size:1.25rem;letter-spacing:-.02em}.takes-pill{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--from);background:color-mix(in srgb,var(--from) 12%,#fff);padding:.3rem .7rem;border-radius:999px}.profile-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.profile-index .quiz-card{margin-bottom:0}.result-headline{font-weight:800;font-size:1.08rem;letter-spacing:-.01em;margin-top:.15rem;background:linear-gradient(100deg,var(--from),var(--to));-webkit-background-clip:text;background-clip:text;color:transparent}.detail-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1.2rem}.back-link{display:inline-flex;align-items:center;font-weight:700;font-size:.92rem;color:var(--muted);background:#fff;padding:.45rem .95rem;border-radius:999px;box-shadow:var(--shadow);transition:color .14s ease,transform .14s ease}.back-link:hover{color:var(--ink);transform:translate(-2px)}.quiz-switcher{font:inherit;font-weight:700;font-size:.92rem;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:999px;padding:.4rem 2.2rem .4rem 1rem;cursor:pointer;max-width:60%;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.1rem) center,calc(100% - .8rem) center;background-size:6px 6px,6px 6px;background-repeat:no-repeat;transition:border-color .14s ease}.quiz-switcher:hover{border-color:var(--accent)}.portrait-card{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--from) 10%,#fff),#fff 55%);border-color:color-mix(in srgb,var(--from) 22%,var(--line))}.portrait-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--from),var(--to))}.portrait-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;color:color-mix(in srgb,var(--from) 65%,var(--muted))}.portrait-headline{margin:.5rem 0 .7rem;font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;background:linear-gradient(110deg,var(--from),var(--to));-webkit-background-clip:text;background-clip:text;color:transparent}.portrait-body{margin:0 0 .7rem;line-height:1.6;color:var(--ink);font-size:1.02rem}.portrait-highlights{margin:.6rem 0 .2rem;padding-left:0;list-style:none;display:grid;gap:.45rem}.portrait-highlights li{position:relative;padding-left:1.5rem;line-height:1.45;color:var(--ink);font-size:.96rem}.portrait-highlights li:before{content:"◆";position:absolute;left:0;top:.05rem;font-size:.7rem;color:var(--from)}.portrait-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1.1rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.portrait-refresh{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.32rem .8rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:border-color .14s ease,color .14s ease}.portrait-refresh:hover:not(:disabled){border-color:var(--from);color:var(--from)}.portrait-refresh:disabled{opacity:.5;cursor:default}.shimmer-line{height:.95rem;border-radius:7px;margin:.55rem 0;background:linear-gradient(90deg,var(--soft) 25%,#fff 50%,var(--soft) 75%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite}.shimmer-line.w100{width:100%}.shimmer-line.w90{width:90%}.shimmer-line.w70{width:70%}.shimmer-line.w60{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.signal-chart{display:grid;gap:.55rem;margin-top:.3rem}.signal-row{display:grid;grid-template-columns:9.5rem 1fr 2.2rem;align-items:center;gap:.7rem}.signal-label{font-size:.86rem;font-weight:650;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-track{position:relative;height:13px;border-radius:7px;background:var(--soft);overflow:hidden}.signal-mid{position:absolute;left:50%;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--muted) 40%,transparent)}.signal-fill{position:absolute;top:0;bottom:0;border-radius:7px;background:linear-gradient(90deg,var(--from),var(--to));animation:signalGrow .5s ease}@keyframes signalGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.signal-fill.hi{transform-origin:left}.signal-fill.lo{transform-origin:right}.signal-score{font-size:.82rem;font-weight:750;color:var(--muted);text-align:right}.signal-legend{display:flex;justify-content:space-between;margin-top:.7rem;font-size:.7rem;color:var(--muted)}.archetype-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.6rem}.archetype-chip{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:14px;background:color-mix(in srgb,var(--from) 8%,#fff);border:1px solid color-mix(in srgb,var(--from) 22%,var(--line))}.archetype-emoji{display:grid;place-items:center;width:2.1rem;height:2.1rem;flex:none;border-radius:10px;font-size:1.1rem;background:linear-gradient(135deg,var(--from),var(--to))}.archetype-name{font-weight:750;font-size:.95rem;letter-spacing:-.01em;color:var(--ink)}.archetype-quiz{font-size:.76rem;color:var(--muted)}.public{--pbg: #0b1020;--pink-glass: rgba(255, 255, 255, .06);--pglass-border: rgba(255, 255, 255, .12);--ptext: #e9eaf6;--pmuted: #a4a6c4;--pv: #818cf8;--pp: #f472b6;--pc: #22d3ee;position:relative;min-height:100vh;background:var(--pbg);color:var(--ptext);overflow-x:hidden}.public a{color:inherit}.public .aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.public .blob{position:absolute;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}.public .blob.b1{top:-12%;left:-8%;background:radial-gradient(circle,#6d5efc,transparent 70%);animation:auroraDrift 22s ease-in-out infinite}.public .blob.b2{top:8%;right:-12%;background:radial-gradient(circle,#ec4899,transparent 70%);animation:auroraDrift 26s ease-in-out infinite reverse}.public .blob.b3{bottom:-18%;left:30%;background:radial-gradient(circle,#22d3ee,transparent 70%);animation:auroraDrift 30s ease-in-out infinite}@keyframes auroraDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(6%,8%) scale(1.12)}66%{transform:translate(-7%,-5%) scale(.94)}}.public .glass{position:relative;z-index:1;background:var(--pink-glass);border:1px solid var(--pglass-border);border-radius:24px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 40px #00000059,inset 0 1px #ffffff14}.public .pad{padding:1.8rem 1.7rem}.public .center-text{text-align:center;color:var(--pmuted)}.public .notice-glass{color:#ffd7dd}.public .pub-nav{position:relative;z-index:2;max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.5rem}.public .pub-brand{font-size:1.5rem}.public .pub-nav-actions{display:flex;align-items:center;gap:1rem}.public .pub-link{color:var(--pmuted);font-weight:600;transition:color .15s ease}.public .pub-link:hover{color:#fff}.public .pub-main{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:1rem 1.25rem 5rem}.public .pub-main.wide{max-width:1080px}.public .glass-btn{background:linear-gradient(120deg,var(--pv),var(--pp) 55%,var(--pc));color:#0b1020;font-weight:750;box-shadow:0 8px 22px #818cf859}.public .glass-btn:hover{filter:brightness(1.07);transform:translateY(-2px)}.public .glass-ghost{background:#ffffff12;border:1px solid var(--pglass-border);color:var(--ptext);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.public .glass-ghost:hover{background:#ffffff21;transform:translateY(-2px)}.public .btn.lg{padding:.95rem 1.9rem;font-size:1.05rem}.public .hero{padding:3rem 2.4rem;margin:1.5rem 0 2rem;text-align:center;animation:fadeUp .5s ease both}.public .hero-pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pc);border:1px solid rgba(34,211,238,.4);border-radius:999px;padding:.3rem .85rem}.public .hero-title{font-size:clamp(2.4rem,6vw,3.8rem);margin:1.1rem 0 .4rem;line-height:1.04;background:linear-gradient(110deg,#fff 10%,var(--pv) 50%,var(--pp) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.public .hero-sub{color:var(--pmuted);font-size:1.12rem;line-height:1.6;max-width:540px;margin:0 auto 1.8rem}.public .hero-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}.public .hero-note{color:#7e80a0;font-size:.86rem;margin-top:1.3rem}.public .shots{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin-bottom:2.4rem}@media (max-width: 640px){.public .shots{grid-template-columns:1fr}}.public .shot{overflow:hidden;padding:0;margin:0;animation:fadeUp .6s ease both}.public .shot img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;background:#ffffff08}.public .shot figcaption{padding:.8rem 1.1rem 1rem;color:var(--pmuted);font-size:.9rem}.public .how{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.6rem}@media (max-width: 720px){.public .how{grid-template-columns:1fr}}.public .how-step{padding:1.5rem 1.4rem}.public .how-num{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:12px;font-weight:800;color:#0b1020;margin-bottom:.8rem;background:linear-gradient(135deg,var(--pv),var(--pc))}.public .how-step h3{margin:0 0 .4rem;font-size:1.12rem}.public .how-step p{margin:0;color:var(--pmuted);line-height:1.55;font-size:.95rem}.public .catalog-head{text-align:center;margin-bottom:1.4rem}.public .catalog-head h2{font-size:1.9rem;margin:0 0 .3rem}.public .catalog-head p{color:var(--pmuted);margin:0}.public .catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:2.6rem}.public .cat-card{display:flex;flex-direction:column;gap:.35rem;padding:1.3rem 1.3rem 1.5rem;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease;animation:fadeUp .5s ease both}.public .cat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--from),var(--to))}.public .cat-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px color-mix(in srgb,var(--from) 30%,transparent)}.public .cat-emoji{width:46px;height:46px;display:grid;place-items:center;font-size:1.5rem;border-radius:14px;background:linear-gradient(135deg,var(--from),var(--to));margin-bottom:.5rem}.public .cat-title{font-weight:750;font-size:1.12rem;letter-spacing:-.01em}.public .cat-meta{font-size:.82rem;color:var(--pmuted)}.public .cat-desc{font-size:.9rem;color:var(--pmuted);line-height:1.5;margin-top:.2rem}.public .cat-tag{align-self:flex-start;margin-top:.7rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff;padding:.2rem .6rem;border-radius:999px;background:linear-gradient(120deg,var(--from),var(--to))}.public .closing{text-align:center;padding:2.6rem 2rem;margin-bottom:2rem}.public .closing h2{font-size:1.8rem;margin:0 0 .5rem}.public .closing p{color:var(--pmuted);margin:0 0 1.5rem}.public .pub-foot{text-align:center;color:#7e80a0;font-size:.85rem;padding:1rem 0 2rem}.public .auth-glass{max-width:430px;margin:3vh auto 0;padding:2.4rem 2.2rem;animation:popIn .45s ease both}.public .auth-glass-title{font-size:1.9rem;margin:0 0 .4rem;background:linear-gradient(110deg,#fff,var(--pv) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.public .auth-glass-tag{color:var(--pmuted);margin:0 0 1.7rem;line-height:1.5}.public .glass-field span{color:var(--ptext)}.public .glass-field span em{color:var(--pmuted);font-style:normal;font-weight:500}.public .glass-field input{background:#ffffff0d;border:2px solid var(--pglass-border);color:var(--ptext);border-radius:13px;padding:.8rem .95rem;font-size:1rem;font-family:inherit;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.public .glass-field input::placeholder{color:#6f7194}.public .glass-field input:focus{border-color:var(--pv);background:#ffffff14;box-shadow:0 0 0 3px #818cf833}.public .auth-submit{justify-content:center;margin-top:.5rem;width:100%}.public .auth-error-glass{background:#f43f5e24;border:1px solid rgba(244,63,94,.4);color:#ffc2cc;border-radius:11px;padding:.6rem .85rem;font-size:.88rem}.public .auth-ok-glass{background:#22d3ee1f;border:1px solid rgba(34,211,238,.35);color:#bdf3fb;border-radius:11px;padding:.6rem .85rem;font-size:.88rem}.public .auth-switch-glass{margin-top:1.5rem;text-align:center;color:var(--pmuted);font-size:.92rem}.public .link-btn{border:none;background:none;cursor:pointer;font:inherit;font-weight:700;color:var(--pc)}.public .link-btn:disabled{color:#6f7194;cursor:default}.public .code-input{display:flex;gap:.6rem;justify-content:center;margin:.5rem 0 1.3rem}.public .code-box{width:3rem;height:3.6rem;text-align:center;font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ptext);background:#ffffff0d;border:2px solid var(--pglass-border);border-radius:14px;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.public .code-box:focus{border-color:var(--pv);box-shadow:0 0 0 3px #818cf840}.public .code-box.filled{background:#818cf829;border-color:var(--pv)}@media (max-width: 420px){.public .code-box{width:2.5rem;height:3.1rem;font-size:1.3rem}}.public .take-glass{animation:fadeUp .35s ease both}.public .sample-eyebrow{display:flex;align-items:center;gap:.6rem;font-weight:700;margin-bottom:1.2rem}.public .sample-eyebrow .dot-emoji{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:1.05rem;background:linear-gradient(135deg,var(--from),var(--to))}.public .sample-badge{margin-left:auto;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pc);border:1px solid rgba(34,211,238,.4);border-radius:999px;padding:.2rem .6rem}.public .glass-progress{background:#ffffff14}.public .scenario-glass{color:var(--pmuted);font-size:.92rem;margin-bottom:.5rem}.public .stem-glass{color:var(--ptext)}.public .counter-glass{background:#ffffff14;color:var(--ptext);box-shadow:none}.public .teaser{text-align:center;animation:popIn .45s ease both}.public .teaser-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;color:var(--pc)}.public .teaser-archetype{font-size:2.4rem;font-weight:850;letter-spacing:-.03em;margin:.6rem 0 .2rem;background:linear-gradient(110deg,var(--from),var(--to));-webkit-background-clip:text;background-clip:text;color:transparent}.public .teaser-tagline{color:var(--ptext);font-size:1.05rem}.public .teaser-blurb{color:var(--pmuted);line-height:1.6;max-width:440px;margin:1rem auto 0}.public .teaser-bars{max-width:420px;margin:1.4rem auto 0;text-align:left;display:grid;gap:.8rem}.public .teaser-bar-row{display:grid;grid-template-columns:9rem 1fr;align-items:center;gap:.7rem}.public .teaser-bar-label{font-size:.86rem;color:var(--ptext)}.public .teaser-bar-track{height:12px;background:#ffffff14;border-radius:999px;overflow:hidden}.public .teaser-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--from),var(--to))}.public .glass-inner{background:#ffffff0d;border:1px solid var(--pglass-border);border-radius:18px}.public .teaser-lock{display:flex;gap:1rem;align-items:flex-start;text-align:left;padding:1.1rem 1.2rem;margin:1.7rem 0 1.5rem}.public .teaser-lock .lock-icon{font-size:1.5rem}.public .teaser-lock strong{color:var(--ptext)}.public .teaser-lock p{color:var(--pmuted);margin:.3rem 0 0;line-height:1.5;font-size:.92rem}.settings-card{margin-top:1.4rem}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.setting-label{display:flex;flex-direction:column;gap:.15rem}.setting-label strong{font-size:1rem}.setting-label span{color:var(--muted);font-size:.88rem}.setting-divider{height:1px;background:var(--line);margin:1.1rem 0}.theme-toggle{display:flex;gap:.5rem}.theme-opt{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;border:2px solid var(--line);background:var(--surface);border-radius:14px;padding:.55rem .95rem;cursor:pointer;font:inherit;color:var(--ink);min-width:112px;transition:border-color .14s ease,box-shadow .14s ease,transform .1s ease}.theme-opt:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.theme-opt.active{border-color:transparent;box-shadow:0 0 0 2px var(--accent) inset,var(--shadow)}.theme-opt-label{font-weight:750}.theme-opt-hint{font-size:.76rem;color:var(--muted)}.email-change{margin-top:1rem;display:flex;flex-direction:column;gap:.85rem;animation:fadeUp .25s ease both}.email-change-note{color:var(--muted);font-size:.9rem;margin:0;line-height:1.5}.email-change-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.link-action{border:none;background:none;cursor:pointer;font:inherit;font-weight:700;color:var(--accent)}.link-action:disabled{color:var(--muted);cursor:default}.settings-error{margin-top:.9rem;background:#fff0f1;border:1px solid #f3c6cc;color:#c02740;border-radius:11px;padding:.6rem .85rem;font-size:.88rem}.settings-ok{margin-top:.9rem;background:#e7fbf3;border:1px solid #bfe9d6;color:#0d9669;border-radius:11px;padding:.6rem .85rem;font-size:.88rem}.code-input{display:flex;gap:.5rem}.code-box{width:2.7rem;height:3.2rem;text-align:center;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:13px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.code-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.code-box.filled{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}html.theme-dungeon{color-scheme:dark;--bg: #0a0f1e;--surface: #101830;--surface-2: #0d142a;--ink: #e8e2d0;--muted: #9aa5c0;--line: rgba(201, 162, 39, .35);--accent: #c9a227;--accent-2: #3b5bdb;--accent-hi: #e3c05c;--soft: rgba(201, 162, 39, .14);--shadow: 0 2px 6px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .5);--shadow-lift: 0 8px 20px rgba(0, 0, 0, .5), 0 26px 60px rgba(0, 0, 0, .55);--dungeon-serif: Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;color:var(--ink);background-color:#0a0f1e}html.theme-dungeon body{background:radial-gradient(720px 420px at 18% 8%,rgba(58,91,219,.16),transparent 60%),radial-gradient(640px 460px at 84% 78%,rgba(201,162,39,.1),transparent 58%),radial-gradient(1200px 900px at 50% 50%,transparent 45%,rgba(0,0,0,.55) 100%),repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0px,rgba(255,255,255,.012) 1px,transparent 1px,transparent 3px),#0a0f1e;position:relative}html.theme-dungeon body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(360px 360px at 30% 65%,rgba(227,192,92,.1),transparent 70%);animation:dungeonTorchlight 26s ease-in-out infinite}@keyframes dungeonTorchlight{0%,to{transform:translate(0);opacity:.8}50%{transform:translate(12vw,-8vh);opacity:1}}@media (prefers-reduced-motion: reduce){html.theme-dungeon body:before{animation:none}}html.theme-dungeon #root{position:relative;z-index:1}html.theme-dungeon .card,html.theme-dungeon .quiz-card,html.theme-dungeon .stat-tile,html.theme-dungeon .profile-card,html.theme-dungeon .portrait-card,html.theme-dungeon .type-row,html.theme-dungeon .settings-card{background:#101426b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #0006,inset 0 1px #e3c05c14}html.theme-dungeon .card,html.theme-dungeon .campaign-card,html.theme-dungeon .auth-card{outline:1px solid rgba(227,192,92,.22);outline-offset:-6px}html.theme-dungeon .navlink:hover,html.theme-dungeon .btn.ghost,html.theme-dungeon .option,html.theme-dungeon .tot-card,html.theme-dungeon .scale-point,html.theme-dungeon .rating-chip,html.theme-dungeon .rank-row,html.theme-dungeon .rank-arrows button,html.theme-dungeon .counter,html.theme-dungeon .slider-bubble,html.theme-dungeon .back-link,html.theme-dungeon .quiz-switcher,html.theme-dungeon .theme-opt,html.theme-dungeon .field input,html.theme-dungeon .code-box{background:#ffffff0d;color:var(--ink);border-color:var(--line)}html.theme-dungeon .field input::placeholder{color:#6f7194}html.theme-dungeon .field input:focus,html.theme-dungeon .code-box:focus{border-color:var(--accent);background:#ffffff14;box-shadow:0 0 0 3px #6366f140}html.theme-dungeon .code-box.filled{background:#818cf829}html.theme-dungeon .progress,html.theme-dungeon .bar-track,html.theme-dungeon .scale-dot,html.theme-dungeon .slider-input,html.theme-dungeon .heatmap .cell{background:#ffffff14}html.theme-dungeon .heatmap .cell.l1{background:color-mix(in srgb,var(--accent) 30%,transparent)}html.theme-dungeon .heatmap .cell.l2{background:color-mix(in srgb,var(--accent) 60%,transparent)}html.theme-dungeon .heatmap .cell.l3{background:var(--accent)}html.theme-dungeon .option.selected,html.theme-dungeon .tot-card.selected,html.theme-dungeon .scale-point.selected{background:linear-gradient(120deg,color-mix(in srgb,var(--from) 32%,transparent),color-mix(in srgb,var(--to) 32%,transparent));color:var(--ink)}html.theme-dungeon .slider-bubble.on{background:linear-gradient(135deg,var(--from),var(--to));color:#0b1020}html.theme-dungeon .brand,html.theme-dungeon .public a.pub-brand{background:linear-gradient(100deg,var(--accent-hi),var(--accent) 60%,#8a6a16);-webkit-background-clip:text;background-clip:text;color:transparent}html.theme-dungeon h1{font-family:var(--dungeon-serif);letter-spacing:.01em}html.theme-dungeon h1:after{content:"";display:block;width:3.6rem;height:.7rem;margin-top:.45rem;background:radial-gradient(circle,var(--accent-hi) 0 2px,transparent 3px) 50% 50% / 100% 100% no-repeat,linear-gradient(90deg,transparent,rgba(201,162,39,.55) 20%,rgba(201,162,39,.55) 80%,transparent);background-size:10px 10px,100% 1px;background-position:center,center;background-repeat:no-repeat}html.theme-dungeon .btn:not(.ghost):not(.danger){background:linear-gradient(135deg,var(--accent-hi),var(--accent) 60%,#a3801d);color:#201705;box-shadow:inset 0 1px #fff6,inset 0 -2px 3px #00000038,0 8px 18px #c9a22747}html.theme-dungeon .btn:not(.ghost):not(.danger):hover{box-shadow:inset 0 1px #ffffff73,inset 0 -2px 3px #00000038,0 0 22px #e3c05c8c,0 10px 22px #c9a22759}html.theme-dungeon .tag{background:linear-gradient(120deg,#c9a2278c,#3b5bdb8c);color:#fbf1d6}html.theme-dungeon .status-chip{border:1px solid rgba(201,162,39,.3)}html.theme-dungeon .status-draft{background:#c9a22724;color:var(--accent-hi)}html.theme-dungeon .status-flow_ready,html.theme-dungeon .status-generated,html.theme-dungeon .page-status-chip-ready{background:#3b5bdb2e;color:#a7bdfd}html.theme-dungeon .status-generating,html.theme-dungeon .page-status-chip-generating{background:#c9a22729;color:var(--accent-hi)}html.theme-dungeon .status-active{background:linear-gradient(120deg,#c9a227a6,#3b5bdba6);color:#fbf1d6}html.theme-dungeon .status-archived{background:#ffffff0d;color:var(--muted)}html.theme-dungeon .library-tab.active{background:linear-gradient(120deg,#c9a22799,#3b5bdb99);color:#fbf1d6}html.theme-dungeon .play-dark{--pd-accent: #c9a227;--pd-accent-2: #3b5bdb}html.theme-dungeon .public{--pbg: #0a0f1e;--pink-glass: rgba(16, 20, 38, .55);--pglass-border: rgba(201, 162, 39, .28);--ptext: #e8e2d0;--pmuted: #9aa5c0;--pv: #c9a227;--pp: #e3c05c;--pc: #3b5bdb}html.theme-dungeon .public .blob.b1{background:radial-gradient(circle,#3b5bdb,transparent 70%)}html.theme-dungeon .public .blob.b2{background:radial-gradient(circle,#c9a227,transparent 70%)}html.theme-dungeon .public .blob.b3{background:radial-gradient(circle,#6d5efc,transparent 70%)}html.theme-dungeon .public .glass{outline:1px solid rgba(227,192,92,.22);outline-offset:-6px}html.theme-dungeon .public .hero-title,html.theme-dungeon .public .auth-glass-title{font-family:var(--dungeon-serif);letter-spacing:.01em}html.theme-dungeon .public .auth-glass-title:after{content:"";display:block;width:3.6rem;height:.7rem;margin-top:.45rem;background:linear-gradient(90deg,transparent,rgba(201,162,39,.55) 20%,rgba(201,162,39,.55) 80%,transparent);background-size:100% 1px;background-position:center;background-repeat:no-repeat}html.theme-dungeon .public .glass-btn{background:linear-gradient(120deg,var(--pp),var(--pv) 60%,#a3801d);color:#201705;box-shadow:0 8px 22px #c9a22752}html.theme-dungeon .public .pub-link:hover{color:var(--pp)}.btn.danger{background:#fff;color:#c02740;border:1px solid #f3c6cc;box-shadow:var(--shadow)}.btn.danger:hover{background:#c02740;color:#fff;border-color:#c02740}.btn.danger:disabled{opacity:.4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:#18162b73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeUp .2s ease both}.modal{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:1.7rem 1.7rem 1.5rem;animation:popIn .35s ease both}.modal-title{margin:0 0 .5rem;font-size:1.3rem}.modal-text{color:var(--muted);line-height:1.55;margin:0 0 1.1rem;font-size:.95rem}.modal-textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;font:inherit;color:var(--ink);background:var(--surface);margin-bottom:1.1rem}.modal-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f12e}.modal .field{margin-bottom:.4rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}.toast{display:flex;align-items:center;gap:.8rem;max-width:520px;margin:0 auto 1.4rem;background:#e7fbf3;border:1px solid #bfe9d6;color:#0d9669;border-radius:14px;padding:.8rem 1rem .8rem 1.1rem;font-weight:600;box-shadow:var(--shadow);animation:fadeUp .3s ease both}.toast span{flex:1}.toast-close{border:none;background:transparent;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer;opacity:.7}.toast-close:hover{opacity:1}html.theme-dungeon .btn.danger{background:#c027401f;color:#ff8b9c;border-color:#c0274073}html.theme-dungeon .btn.danger:hover{background:#c02740;color:#fff;border-color:#c02740}html.theme-dungeon .modal{background:#141a30;border-color:var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}html.theme-dungeon .modal-textarea{background:#ffffff0d;border-color:var(--line);color:var(--ink)}html.theme-dungeon .modal-textarea::placeholder{color:#6f7194}html.theme-dungeon .toast{background:#10b98124;border-color:#10b98166;color:#6ee7b7}html.theme-dungeon .portrait-card{background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--from) 20%,transparent),#ffffff0a 55%);border-color:color-mix(in srgb,var(--from) 30%,var(--line))}html.theme-dungeon .archetype-chip{background:color-mix(in srgb,var(--from) 16%,transparent)}html.theme-dungeon .takes-pill{background:color-mix(in srgb,var(--from) 26%,transparent)}html.theme-dungeon .type-row.locked{background:#ffffff08}html.theme-dungeon .result-headline,html.theme-dungeon .portrait-headline,html.theme-dungeon .stat-num{filter:saturate(1.15) brightness(1.15)}html.theme-dungeon .notice{background:linear-gradient(120deg,#e0a23b24,#f43f5e1f);border-color:#e0a23b59;color:#f3d9a8}html.theme-dungeon .patterns{background:linear-gradient(120deg,#818cf81f,#22d3ee1a);border-color:#818cf84d}html.theme-dungeon .settings-error{background:#f43f5e24;border-color:#f43f5e66;color:#ffc2cc}html.theme-dungeon .settings-ok{background:#22d3ee1f;border-color:#22d3ee59;color:#bdf3fb}html.theme-dungeon .axis2{background:linear-gradient(#ffffff2e,#ffffff2e) center / 100% 2px no-repeat,linear-gradient(#ffffff2e,#ffffff2e) center / 2px 100% no-repeat,conic-gradient(from 0deg at 50% 50%,#22d3ee38,#22d3ee38 90deg,#818cf838 90deg,#818cf838 180deg,#ec489938 180deg,#ec489938 270deg,#e0a23b38 270deg,#e0a23b38 360deg);box-shadow:inset 0 0 0 1px var(--line)}:root{--legal-bg: var(--bg, #f7f7fb);--legal-surface: var(--surface, #ffffff);--legal-text: var(--ink, #18162b);--legal-muted: var(--muted, #716e86);--legal-accent: var(--accent, #6366f1);--legal-border: var(--line, #ece9f5)}.legal-page{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1.25rem 4rem}.legal-doc{width:100%;max-width:760px;color:var(--legal-text);line-height:1.65}.legal-doc h1{font-size:1.9rem;margin:0 0 1rem}.legal-doc h2{font-size:1.3rem;margin:2rem 0 .6rem}.legal-doc h3{font-size:1.08rem;margin:1.4rem 0 .4rem}.legal-doc p,.legal-doc li{color:var(--legal-text)}.legal-doc a{color:var(--legal-accent)}.legal-doc a:focus-visible{outline:2px solid var(--legal-accent);outline-offset:2px}.legal-doc hr{border:none;border-top:1px solid var(--legal-border);margin:2rem 0}.legal-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}.legal-table th,.legal-table td{border:1px solid var(--legal-border);padding:.5rem .7rem;text-align:left;vertical-align:top}.legal-table th{background:var(--legal-surface)}.legal-footer{border-top:1px solid var(--legal-border);padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;align-items:center;text-align:center}.legal-footer__links{display:flex;flex-wrap:wrap;gap:.35rem 1rem;justify-content:center}.legal-footer__links a{color:var(--legal-muted);text-decoration:none;font-size:.88rem}.legal-footer__links a:hover{color:var(--legal-accent);text-decoration:underline}.legal-footer__links a:focus-visible{outline:2px solid var(--legal-accent);outline-offset:2px;border-radius:2px}.legal-footer__copy{color:var(--legal-muted);font-size:.82rem;margin:0}.public .legal-doc,.public .legal-doc h1,.public .legal-doc h2,.public .legal-doc h3,.public .legal-doc p,.public .legal-doc li{color:var(--ptext, #e9eaf6)}.public .legal-doc a{color:var(--pv, #818cf8)}.public .legal-doc hr{border-top-color:var(--pglass-border, rgba(255,255,255,.12))}.public .legal-table{color:var(--ptext, #e9eaf6)}.public .legal-table th,.public .legal-table td{border-color:var(--pglass-border, rgba(255,255,255,.12))}.public .legal-table th{background:#ffffff0d}.public .legal-footer{border-top-color:var(--pglass-border, rgba(255,255,255,.12))}.public .legal-footer__links a{color:var(--pmuted, #a4a6c4)}.public .legal-footer__links a:hover{color:#fff}.public .legal-footer__copy{color:var(--pmuted, #a4a6c4)}html.theme-dungeon .legal-footer{border-top-color:var(--line)}html.theme-dungeon .legal-footer__links a{color:var(--muted)}html.theme-dungeon .legal-footer__links a:hover{color:var(--ink)}html.theme-dungeon .legal-footer__copy{color:var(--muted)}html.theme-dungeon .legal-table th{background:#ffffff0a}.legal-lang-switcher{display:flex;justify-content:center;gap:.35rem;width:100%;max-width:760px;margin:0 auto 1.25rem;padding:0}.legal-lang-switcher button{background:var(--surface, #ffffff);border:1px solid var(--line, #ece9f5);border-radius:8px;color:var(--muted, #716e86);cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.25rem .65rem;transition:border-color .12s,color .12s}.legal-lang-switcher button:hover{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.legal-lang-switcher button.is-active,.legal-lang-switcher button[aria-current=true]{background:var(--soft, #efeefe);border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.legal-lang-switcher button:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:2px}.muted{color:var(--muted);font-size:.95rem}.btn.sm{padding:.42rem .9rem;font-size:.85rem;box-shadow:none}.btn.ghost.sm{padding:.42rem .9rem}.count-pill{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;margin-left:.4rem;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-size:.78rem;font-weight:800;vertical-align:middle}.friend-search-input,.friend-search input{width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);font-size:1rem;outline:none;transition:border-color .15s}.friend-search-input:focus{border-color:var(--accent)}.friend-results{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.friend-row{display:flex;align-items:center;gap:.85rem;padding:.6rem .5rem;border-radius:14px;transition:background .15s}.friend-row:hover{background:var(--soft)}.friend-avatar{flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.02em}.friend-avatar.lg{width:64px;height:64px;font-size:1.4rem}.friend-id{display:flex;flex-direction:column;min-width:0;flex:1}.friend-id-link{text-decoration:none;color:inherit}.friend-id-link:hover .friend-name{color:var(--accent)}.friend-name{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-handle{font-size:.85rem;color:var(--muted)}.friend-action{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.friend-hero{display:flex;align-items:center;gap:1rem;margin-bottom:.6rem}.friend-quizzes{display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem}.friend-quiz{padding:0;overflow:hidden}.friend-quiz-head{display:flex;align-items:center;gap:.9rem;width:100%;padding:.9rem 1.1rem;background:none;border:none;cursor:pointer;text-align:left;color:inherit}.friend-quiz-title{display:flex;flex-direction:column;flex:1;min-width:0}.friend-quiz-chevron{color:var(--muted);font-size:1.1rem}.friend-quiz-body{padding:0 1.1rem 1.3rem}.quiz-badge.sm{width:38px;height:38px;font-size:1.15rem;border-radius:12px}.share-list{display:flex;flex-direction:column;gap:.2rem}.share-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .4rem;border-bottom:1px solid var(--line)}.share-row:last-child{border-bottom:none}.share-title{flex:1;font-weight:600;color:var(--ink)}.switch{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:44px;height:25px;border-radius:999px;background:var(--line);transition:background .2s;flex-shrink:0}.switch-thumb{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch input:checked+.switch-track{background:linear-gradient(120deg,var(--accent),var(--accent-2))}.switch input:checked+.switch-track .switch-thumb{transform:translate(19px)}.switch input:disabled+.switch-track{opacity:.6}.switch-label{font-size:.85rem;font-weight:700;color:var(--muted);min-width:3.6rem}.switch input:checked~.switch-label{color:var(--accent)}.match-banner{display:flex;align-items:center;gap:.6rem;margin-top:1.2rem;padding:.75rem 1rem;border-radius:14px;background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-size:.92rem;color:var(--ink)}.match-banner .match-icon{font-size:1.15rem}.match-link{color:var(--accent);font-weight:700;text-decoration:none}.match-link:hover{text-decoration:underline}.card-match{margin-top:.35rem;font-size:.78rem;font-weight:700;color:var(--accent)}.match-pill{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-size:.72rem;font-weight:700;vertical-align:middle}.friend-quiz.matched{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.type-friend-chip{display:inline-block;margin-left:.5rem;padding:.08rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:.68rem;font-weight:800;vertical-align:middle}.type-row.by-friend .type-rank{background:linear-gradient(135deg,var(--accent),var(--accent-2))!important}.char-top-name{font-size:2rem;font-weight:800;line-height:1.1;background-image:linear-gradient(100deg,var(--from),var(--to));-webkit-background-clip:text;background-clip:text;color:transparent}.char-list{display:flex;flex-direction:column;gap:.55rem}.char-row{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;animation:fadeUp .4s ease both;transition:box-shadow .14s ease}.char-row.open{box-shadow:var(--shadow)}.char-head{width:100%;display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;background:none;border:none;cursor:pointer;font:inherit;text-align:left}.char-rank{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;font-weight:800;font-size:.78rem}.char-avatar{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--soft);overflow:hidden}.char-avatar img{width:100%;height:100%;object-fit:cover}.char-emoji{font-size:1.25rem}.char-main{flex:1;min-width:0;display:flex;flex-direction:column}.char-name{font-weight:750;font-size:1rem;overflow-wrap:anywhere;line-height:1.25}.char-source{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere;line-height:1.2}.char-score{font-weight:800;font-variant-numeric:tabular-nums;font-size:.98rem}.char-chevron{color:var(--muted);font-size:.85rem;width:1rem;text-align:center}.char-detail{padding:0 .95rem 1rem;animation:fadeUp .3s ease both}.char-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.char-chip{font-size:.72rem;font-weight:650;padding:.16rem .5rem;border-radius:999px;background:var(--soft);color:var(--ink)}.char-desc{margin:0 0 .6rem;line-height:1.55;color:var(--ink);font-size:.94rem}.char-why{margin:0;line-height:1.55;font-size:.92rem;color:var(--ink);background:var(--soft);padding:.55rem .7rem;border-radius:10px}.char-why-label{font-weight:750}.char-why-loading{opacity:.6;font-style:italic}html.theme-dungeon .char-row{background:#ffffff0d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 30px #00000052,inset 0 1px #ffffff0f}html.theme-dungeon .char-chip,html.theme-dungeon .char-why,html.theme-dungeon .char-avatar{background:#ffffff14}.intro-head{display:flex;align-items:center;gap:.9rem;margin-bottom:.4rem}.intro-emoji{font-size:2.4rem}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:1.4rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;font:inherit;color:var(--ink);transition:transform .12s,box-shadow .12s,border-color .12s}.mode-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--accent)}.mode-emoji{font-size:1.9rem}.mode-title{font-weight:800;font-size:1.1rem}.mode-sub{color:var(--muted);font-size:.9rem}@media (max-width: 560px){.mode-grid{grid-template-columns:1fr}}.invite-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .4rem;border-radius:12px;cursor:pointer}.invite-row.on{background:var(--soft)}.invite-row input{width:18px;height:18px;accent-color:var(--accent)}.seg{display:inline-flex;gap:.4rem}.seg-btn{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.seg-btn.on{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent}.room-code{margin-left:auto;font-size:.72rem;letter-spacing:.08em;font-weight:800;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.15rem .6rem}.lobby-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.lobby-chip{display:flex;align-items:center;gap:.55rem;padding:.4rem .7rem .4rem .4rem;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.lobby-chip.idle{opacity:.55}.lobby-chip.pending{opacity:.5;border-style:dashed}.lobby-chip-id{display:flex;flex-direction:column;line-height:1.1}.countdown-card{text-align:center;padding:2.4rem 1.5rem}.big-count{font-size:5.5rem;font-weight:900;line-height:1;background:linear-gradient(120deg,var(--from, var(--accent)),var(--to, var(--accent-2)));-webkit-background-clip:text;background-clip:text;color:transparent;animation:pop .5s ease}@keyframes pop{0%{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}.live-picks{margin-top:.5rem}.picks-head{font-size:.8rem;font-weight:800;color:var(--muted);margin-bottom:.6rem}.picks-options{display:flex;flex-direction:column;gap:.5rem}.picks-option{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.picks-option-label{font-weight:600}.picks-avatars{display:inline-flex;flex-wrap:wrap;gap:.3rem}.picks-strip{display:flex;align-items:center;gap:.6rem;margin-top:.7rem;font-size:.85rem;color:var(--ink)}.picks-strip.muted{color:var(--muted)}.picks-strip-label{font-weight:700}.pick-pip{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:.72rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 1px 3px #0000002e}.pick-pip.host{background:linear-gradient(135deg,#f59e0b,#ef4444)}.picks-rankings{display:flex;flex-direction:column;gap:.5rem}.pick-rank-row{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .8rem;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.pick-rank-order{display:flex;flex-wrap:wrap;gap:.3rem;color:var(--ink);font-size:.86rem}.pick-rank-item{display:inline-flex;align-items:center;gap:.25rem;background:var(--soft);border-radius:999px;padding:.12rem .55rem .12rem .2rem}.pick-rank-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;border-radius:50%;font-size:.66rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.picks-values{display:flex;flex-wrap:wrap;gap:.5rem}.pick-value-row{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem .4rem .45rem;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.pick-value{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}html.theme-dungeon .pick-rank-row,html.theme-dungeon .pick-value-row{background:#ffffff0d;border-color:var(--line)}html.theme-dungeon .pick-rank-item{background:#ffffff14}.result-who{font-weight:800;font-size:1.05rem;margin:0 0 .5rem}.results-grid{display:grid;gap:1.4rem}@media (min-width: 820px){.results-grid{grid-template-columns:1fr 1fr}}.result-col{min-width:0}.bell-wrap{position:relative;display:inline-flex}.bell{position:relative;background:none;border:none;cursor:pointer;font-size:1.05rem;padding:.3rem .5rem}.bell-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.64rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.bell-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.bell-menu{position:absolute;right:0;top:calc(100% + .5rem);z-index:50;width:300px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lift);padding:.4rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.bell-title{font-weight:800;font-size:.85rem;padding:.5rem .7rem .3rem;color:var(--ink)}.bell-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:12px}.bell-item:hover{background:var(--soft)}.bell-item-id{display:flex;flex-direction:column;line-height:1.15;min-width:0}.bell-item-actions{display:inline-flex;gap:.35rem;flex-shrink:0}html.theme-dungeon .bell-menu,html.theme-dungeon .mode-card,html.theme-dungeon .picks-option,html.theme-dungeon .lobby-chip,html.theme-dungeon .seg-btn{background:#ffffff0d;border-color:var(--line);color:var(--ink)}.photo-upload-row{display:flex;align-items:center;gap:.85rem;margin-top:.85rem;flex-wrap:wrap}.photo-upload-input{display:none}.photo-status-line{font-size:.84rem;color:var(--muted)}.photo-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.photo-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line);flex-shrink:0}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-delete-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:#12102bad;color:#fff;font-size:1rem;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .12s ease}.photo-delete-btn:hover{background:#c02740}.photo-remove-all-row{margin-top:.7rem}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line);box-shadow:none}.btn-sm{padding:.45rem .95rem;font-size:.9rem}.btn-full{width:100%}.mz-page-title{font-size:1.7rem;font-weight:800;margin:0 0 .5rem}.mz-lede{color:var(--muted, #6b7280);margin:0 0 1.5rem;max-width:52ch}.mz-link{color:var(--accent, #6366f1);background:none;border:0;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.mz-loading{min-height:160px}.mz-error{background:var(--danger-bg, #fee2e2);color:var(--danger, #b91c1c);border-radius:var(--radius, 12px);padding:.7rem 1rem;margin-bottom:1rem}.mz-banner{border-radius:var(--radius, 12px);padding:.8rem 1rem;margin-bottom:1.25rem;font-size:.92rem;background:var(--surface, #fff);border:1px solid var(--line, rgba(0,0,0,.1));color:var(--muted, #6b7280)}.mz-banner--good{background:var(--soft, rgba(99,102,241,.12));border-color:var(--accent, #6366f1);color:var(--ink, #18162b)}.mz-banner--info{text-align:center}.mz-banner .mz-link{margin-left:.6rem}.mz-trust{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;color:var(--muted, #6b7280);font-size:.82rem}.mz-trust li:before{content:"✓";color:var(--good, #16a34a)}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width: 640px){.pack-grid{grid-template-columns:1fr}}.pack-card{position:relative;background:var(--surface, #fff);border:1px solid var(--line, rgba(0,0,0,.1));border-radius:var(--radius, 16px);padding:1.75rem 1rem 1.25rem;text-align:center;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05))}.pack-card--featured{border-color:var(--accent, #6366f1);box-shadow:var(--shadow, 0 8px 24px rgba(0,0,0,.08))}.pack-card__badge{position:absolute;top:-.7rem;left:50%;transform:translate(-50%);background:var(--accent, #6366f1);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.22rem .7rem;border-radius:999px;white-space:nowrap}.pack-card__credits{font-size:2.6rem;font-weight:800;line-height:1;color:var(--accent, #6366f1)}.pack-card__credits-label{font-size:.8rem;color:var(--muted, #6b7280);margin-bottom:.8rem}.pack-card__price{font-size:1.4rem;font-weight:700}.pack-card__per{font-size:.78rem;color:var(--muted, #6b7280);margin-bottom:1rem}.pack-card__buy{width:100%}.billing-toggle{display:inline-flex;gap:.25rem;padding:.25rem;margin-bottom:1.5rem;background:var(--soft, #f3f4f6);border:1px solid var(--line, rgba(0,0,0,.1));border-radius:999px}.billing-toggle__opt{border:0;background:none;cursor:pointer;font:inherit;font-weight:600;color:var(--muted, #6b7280);padding:.4rem 1rem;border-radius:999px}.billing-toggle__opt.is-active{background:var(--accent, #6366f1);color:#fff}.billing-toggle__save{font-size:.72rem;opacity:.85;margin-left:.3rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.tier-card{position:relative;background:var(--surface, #fff);border:1px solid var(--line, rgba(0,0,0,.1));border-radius:var(--radius, 16px);padding:1.75rem 1.25rem 1.25rem;text-align:center;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05))}.tier-card--recommended{border-color:var(--accent, #6366f1);border-width:2px;box-shadow:var(--shadow, 0 8px 24px rgba(0,0,0,.08));transform:translateY(-4px)}.tier-card__badge{position:absolute;top:-.7rem;left:50%;transform:translate(-50%);background:var(--accent, #6366f1);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.22rem .7rem;border-radius:999px;white-space:nowrap}.tier-card__name{font-size:1.1rem;font-weight:700;margin-bottom:.3rem}.tier-card__price{font-size:1.8rem;font-weight:800;color:var(--accent, #6366f1)}.tier-card__meta{font-size:.82rem;color:var(--muted, #6b7280);margin:.3rem 0 1rem}.tier-card__cta{width:100%}.tier-card__note{font-size:.72rem;color:var(--muted, #6b7280);margin-top:.5rem}.credit-wall{background:var(--surface, #fff);border:1px solid var(--line, rgba(0,0,0,.1));border-radius:var(--radius, 16px);padding:1.5rem;text-align:center}.credit-wall__title{font-weight:700;font-size:1.05rem;margin-bottom:.4rem}.credit-wall__body{color:var(--muted, #6b7280);margin:0 0 1rem}.credit-nudge{font-size:.85rem;color:var(--muted, #6b7280);padding:.4rem 0}.credits-display{display:inline-flex;align-items:baseline;gap:.3rem;text-decoration:none;color:var(--ink, #18162b);padding:.25rem .6rem;border-radius:999px;border:1px solid var(--line, rgba(0,0,0,.1))}.credits-display__num{font-weight:800;color:var(--accent, #6366f1)}.credits-display__label{font-size:.75rem;color:var(--muted, #6b7280)}.mz-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.mz-modal{background:var(--surface, #fff);color:var(--ink, #18162b);border-radius:var(--radius, 16px);padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lift, 0 20px 50px rgba(0,0,0,.25))}.mz-modal__title{margin:0 0 .5rem;font-size:1.2rem}.mz-modal__body{color:var(--muted, #6b7280);margin:0 0 1.1rem}.mz-modal__actions{display:grid;gap:.6rem}.mz-sheet__close{display:block;width:100%;margin-top:.6rem;background:none;border:0;color:var(--muted, #6b7280);font:inherit;cursor:pointer;padding:.5rem}@media (max-width: 560px){.mz-modal-overlay{align-items:flex-end;padding:0}.mz-sheet{max-width:none;border-radius:var(--radius, 16px) var(--radius, 16px) 0 0;padding-bottom:1.5rem;animation:mz-sheet-up .18s ease-out}@keyframes mz-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.mz-billing__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line, rgba(0,0,0,.08))}.mz-billing__row:last-of-type{border-bottom:0}.gen-image{margin:1.2rem 0;padding:1.3rem;text-align:center}.gen-image__img{width:100%;max-width:420px;border-radius:var(--radius, 16px);display:block;margin:0 auto;box-shadow:var(--shadow, 0 8px 24px rgba(0,0,0,.12))}.gen-image__actions{margin-top:.9rem}.gen-image__note{margin-top:.6rem;color:var(--muted);font-size:.85rem}.gen-image__cta{display:grid;gap:.5rem;place-items:center}.gen-image__emoji{font-size:2rem}.gen-image__title{font-weight:800;font-size:1.15rem}.gen-image__lede{color:var(--muted);max-width:44ch;margin:0}.gen-image__fineprint{color:var(--muted);font-size:.8rem;margin-top:.3rem}.quiz-tag-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.tag-new,.tag-done{display:inline-flex;align-items:center;padding:.14rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.02em}.tag-new{background:linear-gradient(120deg,var(--from, var(--accent)),var(--to, var(--accent-2)));color:#fff}.tag-done{background:var(--soft);color:var(--ink)}.quiz-card.is-done .quiz-badge{filter:saturate(.9)}.who{text-decoration:none;cursor:pointer;border-radius:999px;transition:background .15s ease}.who:hover{background:var(--soft)}.portrait-limit{font-size:.8rem;color:var(--muted);margin-top:.5rem;text-align:right}.bell-menu{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}html.theme-dungeon .bell-menu{background:#141a30;border-color:#ffffff24;backdrop-filter:none;-webkit-backdrop-filter:none}@media (max-width: 560px){.bell-menu{position:fixed;left:10px;right:10px;bottom:12px;top:auto;width:auto;max-height:62vh;overflow-y:auto;box-shadow:0 20px 50px #0006}}.library-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.library-tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-weight:650;font-size:.86rem;padding:.45rem .85rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:border-color .14s ease,color .14s ease,background .14s ease}.library-tab:hover{color:var(--ink);border-color:var(--accent)}.library-tab.active{color:#fff;border-color:transparent;background:linear-gradient(120deg,var(--accent),var(--accent-2))}.library-tab-count{font-size:.74rem;font-weight:800;opacity:.8}.library-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.3rem}.library-search{flex:1;min-width:220px;border:2px solid var(--line);border-radius:13px;padding:.65rem .95rem;font-size:.95rem;font-family:inherit;color:var(--ink);background:var(--surface);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.library-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.library-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.2rem;background:var(--surface);gap:.15rem}.library-toggle-opt{border:none;background:none;font:inherit;font-size:.82rem;font-weight:650;color:var(--muted);padding:.4rem .8rem;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease}.library-toggle-opt.active{color:#fff;background:linear-gradient(120deg,var(--accent),var(--accent-2))}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem;margin-bottom:1.5rem}.library-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.05rem 1.15rem;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:.5rem;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.library-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:var(--shadow-lift)}.library-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.library-card-title{font-weight:700;font-size:1rem;line-height:1.3}.library-card-badge{flex-shrink:0;--from: var(--accent);--to: var(--accent-2);font-size:.62rem}.library-card-summary{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-homebrew-pill{align-self:flex-start;font-size:.68rem;font-weight:750;color:var(--good);background:color-mix(in srgb,var(--good) 12%,#fff);padding:.16rem .55rem;border-radius:999px}.library-pagination{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1rem 0 2rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#18162b73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:fadeUp .2s ease both}.drawer-panel{width:100%;max-width:560px;height:100%;overflow-y:auto;background:var(--surface);box-shadow:var(--shadow-lift);padding:1.6rem 1.8rem 2.5rem;animation:drawerIn .28s cubic-bezier(.22,1,.36,1) both}@keyframes drawerIn{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 620px){.drawer-panel{max-width:100%}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.drawer-title{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .3rem}.drawer-close{flex-shrink:0;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;width:2.1rem;height:2.1rem;font-size:1.1rem;cursor:pointer;transition:color .14s ease,border-color .14s ease}.drawer-close:hover{color:var(--ink);border-color:var(--accent)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem;margin:1rem 0}.kv-cell{background:var(--soft);border-radius:12px;padding:.6rem .8rem}.kv-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.kv-value{font-weight:650;margin-top:.15rem;word-break:break-word}.statblock-sub{color:var(--muted);font-style:italic;margin:-.2rem 0 .9rem}.statblock-rule{border:none;border-top:2px solid var(--accent);margin:.9rem 0;opacity:.35}.statblock-line{margin:.35rem 0;font-size:.92rem;line-height:1.5}.statblock-line b{color:var(--ink)}.statblock-abilities{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin:.9rem 0}.statblock-ability{text-align:center;background:var(--soft);border-radius:10px;padding:.5rem .2rem}.statblock-ability .lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.statblock-ability .score{font-weight:800;font-size:1.05rem;margin-top:.1rem}.statblock-ability .mod{font-size:.78rem;color:var(--muted)}.statblock-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--accent);margin:1.1rem 0 .4rem}.statblock-entry{margin:0 0 .6rem;font-size:.9rem;line-height:1.55}.statblock-entry b{color:var(--ink)}.spell-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1rem}.spell-meta .tag{--from: var(--accent);--to: var(--accent-2)}.spell-desc{line-height:1.6;font-size:.95rem;white-space:pre-wrap}.campaigns-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.campaigns-head h1{margin-bottom:.2rem}.campaigns-head .lead{margin-bottom:0}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1.6rem}.campaign-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem;cursor:default;font:inherit;color:inherit;transition:transform .16s ease,box-shadow .16s ease}.campaign-card.clickable{cursor:pointer}.campaign-card.clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.campaign-card:disabled{opacity:.75}.campaign-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.campaign-card-title{font-weight:750;font-size:1.08rem}.campaign-card-meta{display:flex;justify-content:space-between;gap:.6rem;margin-top:.9rem;color:var(--muted);font-size:.85rem}.status-chip{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.22rem .65rem;border-radius:999px;white-space:nowrap}.status-draft{background:var(--soft);color:var(--accent)}.status-flow_ready{background:#e7fbf3;color:#0d9669}.status-generating{background:#fdf6e3;color:#d97706}.status-generated{background:#e8fbff;color:#0e8fc0}.status-active{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff}.status-archived{background:#f1f0f5;color:var(--muted)}.step-indicator{display:flex;align-items:center;gap:.6rem;margin:1.6rem 0 2rem}.step-dot{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:700;font-size:.9rem}.step-dot:not(:last-child):after{content:"";width:32px;height:2px;background:var(--line);margin-left:.6rem}.step-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--muted);font-size:.85rem}.step-dot.active .step-num{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.step-dot.active .step-label{color:var(--ink)}.step-dot.done .step-num{background:var(--good);color:#fff}.wizard-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.8rem}.wizard-note{margin-top:1.6rem;padding:.8rem 1rem;border-radius:13px;background:var(--soft);color:var(--accent);font-size:.9rem;font-weight:600}.field select,.field textarea{border:2px solid var(--line);border-radius:13px;padding:.8rem .95rem;font-size:1rem;font-family:inherit;color:var(--ink);outline:none;background:var(--surface);resize:vertical;transition:border-color .14s ease,box-shadow .14s ease}.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.markdown-block-card textarea{display:block;width:100%;min-height:7.5rem;border:2px solid var(--line);border-radius:13px;padding:.8rem .95rem;font-size:1rem;font-family:inherit;color:var(--ink);outline:none;background:var(--surface);resize:vertical;transition:border-color .14s ease,box-shadow .14s ease}.markdown-block-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.pc-list{display:flex;flex-direction:column;gap:.8rem;margin:1.2rem 0}.pc-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.2rem;flex-wrap:wrap}.pc-card-title{font-weight:750}.pc-card-meta{color:var(--muted);font-size:.85rem;margin-top:.2rem}.pc-card-stats{display:flex;gap:.5rem;margin-top:.6rem}.pc-card-actions{display:flex;gap:.5rem;flex-shrink:0}.pc-form-card{margin-top:1rem}.pc-form{display:flex;flex-direction:column;gap:1rem}.pc-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem}.pc-form-actions{display:flex;justify-content:flex-end;gap:.7rem}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.7rem}.ability-input{display:flex;flex-direction:column;gap:.3rem;text-align:center}.ability-input span{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.ability-input input{border:2px solid var(--line);border-radius:11px;padding:.5rem;text-align:center;font-weight:700;font-size:1rem}.ability-input input:focus{outline:none;border-color:var(--accent)}.params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem 1.6rem;margin-bottom:1.4rem}.param-field{display:flex;flex-direction:column;gap:.5rem}.param-field>span{font-size:.85rem;font-weight:700;color:var(--ink)}.param-field>span em{color:var(--muted);font-weight:500;font-style:normal}.param-field-wide{grid-column:1 / -1}.param-toggle{display:flex;align-items:center;gap:.6rem;font-size:.92rem;font-weight:600;color:var(--ink);cursor:pointer}.param-toggle input{width:18px;height:18px;accent-color:var(--accent)}.slider-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}.pillar-sliders{display:flex;flex-direction:column;gap:.9rem}.pillar-slider{display:flex;flex-direction:column;gap:.35rem}.pillar-slider span{font-size:.85rem;font-weight:700;color:var(--ink)}input[type=range]{accent-color:var(--accent);width:100%}.segmented{display:flex;flex-wrap:wrap;gap:.4rem}.segmented-opt{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.42rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.segmented-opt:hover{color:var(--ink);border-color:var(--accent)}.segmented-opt.active{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;border:2px solid var(--line);border-radius:13px;padding:.5rem .6rem}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.tag-input input{flex:1;min-width:120px;border:none;outline:none;font-size:.95rem;font-family:inherit;padding:.35rem}.tag-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--soft);color:var(--accent);border-radius:999px;padding:.3rem .5rem .3rem .75rem;font-size:.82rem;font-weight:600}.tag-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0}.pc-add-actions{display:flex;gap:.7rem;flex-wrap:wrap}.sheet-parsing-status{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}.low-confidence-badge{color:var(--warn);font-weight:600;font-style:normal}.sheet-correction{display:flex;flex-direction:column;gap:1.2rem}.sheet-correction-warnings{background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid var(--warn);border-radius:10px;padding:.8rem 1rem;font-size:.88rem}.sheet-correction-warnings ul{margin:.4rem 0 0;padding-left:1.2rem}.sheet-correction-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:start}@media (max-width: 900px){.sheet-correction-grid{grid-template-columns:1fr}}.sheet-correction-form{display:flex;flex-direction:column;gap:1rem;min-width:0}.sheet-correction-preview{position:sticky;top:1rem}.sheet-preview-image{width:100%;border-radius:10px;border:1px solid var(--line)}.sheet-preview-frame{width:100%;height:70vh;border-radius:10px;border:1px solid var(--line)}.attacks-editor{display:flex;flex-direction:column;gap:.5rem}.attacks-editor-row{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:.5rem;align-items:center}.attacks-editor-row input{padding:.5rem .7rem;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.flow-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.flow-generate-progress{padding:1rem 1.2rem}.flow-editor-footer{display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.flow-block-list{display:flex;flex-direction:column}.flow-insert-menu{position:relative;display:flex;justify-content:center;margin:.15rem 0}.flow-insert-trigger{border:1px dashed var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:.25rem .9rem;font-size:.78rem;font-weight:600;cursor:pointer;opacity:.55;transition:opacity .14s ease,border-color .14s ease,color .14s ease}.flow-insert-trigger:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.flow-insert-dropdown{position:absolute;top:100%;z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:.4rem;display:flex;flex-direction:column;min-width:160px}.flow-insert-dropdown button{border:none;background:none;text-align:left;padding:.5rem .7rem;border-radius:9px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}.flow-insert-dropdown button:hover{background:var(--soft)}.flow-block-card{position:relative;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--block-color, var(--accent));border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.3rem;margin-bottom:.15rem;transition:opacity .14s ease}.flow-block-card.flow-block-disabled{opacity:.5}.flow-block-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.flow-block-icon{font-size:1.1rem}.flow-block-type-label{font-weight:750;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.flow-block-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto;flex-wrap:wrap}.flow-block-arrow{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:28px;height:26px;cursor:pointer;color:var(--muted);font-size:.85rem}.flow-block-arrow:disabled{opacity:.3;cursor:not-allowed}.flow-block-arrow:not(:disabled):hover{color:var(--ink);border-color:var(--accent)}.flow-block-enabled-toggle{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer}.flow-block-enabled-toggle input{width:15px;height:15px;accent-color:var(--good)}.flow-block-delete{border:1px solid var(--line);background:var(--surface);color:#c02740;border-radius:999px;padding:.28rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer}.flow-block-delete:hover{background:#fff0f1;border-color:#f3c6cc}.flow-block-body{display:flex;flex-direction:column;gap:.9rem}.flow-card-toolbar{display:flex;justify-content:flex-end;min-height:1.1rem}.save-indicator{font-size:.76rem;font-weight:700;color:var(--muted)}.save-indicator.saved{color:var(--good)}.flow-inline-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem 1.2rem;align-items:end}.flow-act-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.3rem;margin-bottom:.15rem;transition:opacity .14s ease}.flow-act-group.flow-block-disabled{opacity:.5}.flow-act-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.flow-act-collapse{border:none;background:none;cursor:pointer;font-size:1rem;color:var(--muted);width:1.2rem}.flow-act-title{flex:1;min-width:160px;border:none;background:none;outline:none;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);padding:.2rem 0}.flow-act-sessions{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted);font-weight:600}.flow-act-sessions input{width:3rem;border:1px solid var(--line);border-radius:8px;padding:.25rem .4rem;text-align:center}.flow-act-body{margin-top:.9rem}.flow-act-summary{width:100%;border:2px solid var(--line);border-radius:12px;padding:.6rem .8rem;font-family:inherit;font-size:.92rem;color:var(--ink);resize:vertical;margin-bottom:.8rem}.flow-act-children{display:flex;flex-direction:column;padding-left:1.1rem;border-left:2px solid var(--line)}.empty.small{padding:1rem;font-size:.9rem}.ref-autocomplete{position:relative}.ref-autocomplete-input-row{display:flex;align-items:center;gap:.5rem}.ref-autocomplete-input-row input{flex:1;border:2px solid var(--line);border-radius:11px;padding:.55rem .75rem;font-size:.92rem;font-family:inherit;color:var(--ink);outline:none}.ref-autocomplete-input-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.ref-new-badge{flex-shrink:0;font-size:.68rem;font-weight:800;letter-spacing:.05em;color:#fff;background:var(--accent-2);border-radius:999px;padding:.15rem .5rem}.ref-autocomplete-menu{position:absolute;z-index:6;top:100%;left:0;right:0;margin-top:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lift);padding:.35rem;max-height:260px;overflow-y:auto}.ref-autocomplete-opt{width:100%;display:flex;justify-content:space-between;gap:.6rem;border:none;background:none;text-align:left;padding:.5rem .6rem;border-radius:9px;font:inherit;font-size:.88rem;color:var(--ink);cursor:pointer}.ref-autocomplete-opt:hover{background:var(--soft)}.ref-autocomplete-type{color:var(--muted);font-size:.76rem;flex-shrink:0}.ref-autocomplete-new{color:var(--accent);font-weight:600}.ref-autocomplete-empty{padding:.6rem;color:var(--muted);font-size:.85rem}.ref-tag-input{display:flex;flex-direction:column;gap:.5rem}.ref-tag-chips{border:none;padding:0}.encounter-monster-rows,.loot-editor,.checklist-editor{display:flex;flex-direction:column;gap:.5rem}.encounter-monster-row,.loot-editor-row{display:grid;grid-template-columns:1fr 5rem auto;gap:.5rem;align-items:center}.encounter-monster-row input[type=number],.loot-editor-row input[type=number]{border:2px solid var(--line);border-radius:11px;padding:.55rem .5rem;text-align:center;font-size:.92rem}.checklist-editor-row{display:flex;align-items:center;gap:.6rem}.checklist-editor-row input[type=text],.checklist-editor-row input:not([type]){flex:1;border:2px solid var(--line);border-radius:11px;padding:.5rem .7rem;font-family:inherit}.checklist-editor-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.xp-hint{font-size:.85rem;color:var(--muted);background:var(--soft);border-radius:10px;padding:.5rem .8rem}.xp-hint-unknown{color:var(--warn)}.markdown-preview{border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;background:var(--bg);line-height:1.6}.markdown-preview p:first-child{margin-top:0}.markdown-preview p:last-child{margin-bottom:0}.campaign-hub-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.confirm-note{color:var(--muted);font-size:.88rem;font-weight:600}.status-generating .status-chip,.status-chip.status-generating{animation:pulseRing 1.6s ease-out infinite}.page-tree{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}.page-tree-group{padding:1rem 1.2rem}.page-tree-group-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.7rem}.page-tree-nodes{display:flex;flex-direction:column;gap:.3rem}.page-tree-node{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:11px;padding:.55rem .7rem;font:inherit;color:var(--ink);cursor:pointer;transition:background .14s ease,border-color .14s ease}.page-tree-node:hover{background:var(--soft);border-color:var(--line)}.page-tree-node-title{flex:1;min-width:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-tree-node-type{color:var(--muted);font-size:.78rem;text-transform:capitalize;flex-shrink:0}.page-status-dot{flex-shrink:0;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:50%;font-size:.72rem;font-weight:800}.page-status-dot.page-status-pending{background:var(--soft);color:var(--muted);animation:pulseRing 1.6s ease-out infinite}.page-status-dot.page-status-ready{background:#e7fbf3;color:#0d9669}.page-status-dot.page-status-stale{background:#fdf6e3;color:#d97706}.page-status-dot.page-status-error{background:#fff0f1;color:#c02740}.page-view-breadcrumb{margin-bottom:.8rem}.page-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-view-type{color:var(--muted);text-transform:capitalize}.edited-badge{--from: var(--accent-2);--to: var(--accent);margin-left:.5rem}.page-view-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.page-status-chip-pending{background:var(--soft);color:var(--muted)}.page-status-chip-generating{background:var(--soft);color:var(--accent)}.page-status-chip-ready{background:#e7fbf3;color:#0d9669}.page-status-chip-stale{background:#fdf6e3;color:#d97706}.page-status-chip-error{background:#fff0f1;color:#c02740}.regen-dropdown{position:relative}.regen-menu{right:0;left:auto;min-width:190px}.page-edit-textarea{width:100%;border:2px solid var(--line);border-radius:12px;padding:.8rem .95rem;font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);resize:vertical;line-height:1.55}.page-edit-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}.scene-runsheet-meta{display:flex;flex-direction:column;gap:.2rem}.read-aloud-quote{margin:.3rem 0 .9rem;padding:.7rem 1rem;border-left:3px solid var(--accent);background:var(--soft);border-radius:0 10px 10px 0;font-style:italic;line-height:1.55}.beats-checklist{margin:0 0 .9rem;padding-left:1.2rem}.beats-checklist li{margin-bottom:.45rem;line-height:1.5}.pc-form-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:.7rem}.pc-form-row .field{flex:1;min-width:120px}.play-status-planned{background:var(--soft);color:var(--muted)}.play-status-live{background:linear-gradient(120deg,#10b981,#06b6d4);color:#fff}.play-status-ended{background:var(--line);color:var(--muted)}.sessions-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.sessions-list{display:flex;flex-direction:column;gap:.5rem}.sessions-list-row{display:flex;align-items:center;gap:.9rem;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:.65rem .9rem;cursor:pointer;font:inherit;color:inherit;transition:transform .14s ease,box-shadow .14s ease}.sessions-list-row:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.sessions-list-num{font-weight:800;color:var(--muted);flex-shrink:0}.sessions-list-title{flex:1;font-weight:650;min-width:0}.sessions-list-players{color:var(--muted);font-size:.8rem;flex-shrink:0}.sessions-list-date{color:var(--muted);font-size:.82rem;flex-shrink:0}.export-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.1rem}.export-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:0}.export-card h3{margin:0}.export-card .btn{align-self:stretch;justify-content:center}.play-dark{--pd-bg: #0e1016;--pd-surface: #161923;--pd-surface-2: #1e2230;--pd-ink: #eceefb;--pd-muted: #9296ab;--pd-line: #2b2f42;--pd-accent: #818cf8;--pd-accent-2: #c084fc;--pd-good: #34d399;--pd-bad: #f87171;--pd-warn: #fbbf24;min-height:100vh;background:var(--pd-bg);color:var(--pd-ink);padding:1.1rem 1.3rem 2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.play-dark .card,.play-dark .play-pc-card,.play-dark .play-start-combat,.play-dark .play-add-combatant{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:16px;box-shadow:none;color:var(--pd-ink)}.play-dark .btn{box-shadow:none}.play-dark .btn.ghost{background:var(--pd-surface-2);color:var(--pd-ink);border:1px solid var(--pd-line)}.play-dark .btn.ghost:hover{color:#fff;border-color:var(--pd-accent)}.play-dark .btn.ghost.active{background:var(--pd-accent);color:#fff;border-color:var(--pd-accent)}.play-dark .field input,.play-dark .field select,.play-dark .field textarea,.play-dark input,.play-dark select,.play-dark textarea{background:var(--pd-surface-2);border:1.5px solid var(--pd-line);color:var(--pd-ink)}.play-dark input::placeholder,.play-dark textarea::placeholder{color:#666a80}.play-dark .field input:focus,.play-dark input:focus,.play-dark select:focus,.play-dark textarea:focus{border-color:var(--pd-accent);box-shadow:0 0 0 3px #818cf840}.play-dark .empty{color:var(--pd-muted)}.play-dark .auth-error{background:#f871711f;border-color:#f8717159;color:#ffb4b4}.play-dark .tag{color:#fff}.play-dark .confirm-note{color:var(--pd-muted)}.play-dark .markdown-preview{color:var(--pd-ink)}.play-dark .statblock-section-title{color:var(--pd-accent)}.play-dark .read-aloud-quote{color:var(--pd-muted);border-left-color:var(--pd-accent)}.play-dark .drawer-backdrop{background:#0009}.play-dark .drawer-panel{background:var(--pd-surface);color:var(--pd-ink);border:1px solid var(--pd-line)}.play-dark .drawer-close{color:var(--pd-muted)}.play-dark .ref-autocomplete-input-row input,.play-dark .ref-autocomplete-menu{background:var(--pd-surface-2);border-color:var(--pd-line);color:var(--pd-ink)}.play-dark .ref-autocomplete-opt:hover{background:var(--pd-surface)}.play-topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.play-topbar .back-link{color:var(--pd-muted);font-size:.88rem;font-weight:600}.play-topbar .back-link:hover{color:var(--pd-ink)}.play-session-title{font-weight:800;font-size:1.15rem;letter-spacing:-.01em;flex:1;min-width:160px}.play-topbar-actions{display:flex;align-items:center;gap:.6rem}.play-elapsed{color:var(--pd-muted);font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.play-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:1rem;align-items:start}@media (max-width: 1100px){.play-grid{grid-template-columns:1fr}}.play-col{display:flex;flex-direction:column;gap:.9rem;min-width:0}.play-col-title{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pd-muted);display:flex;align-items:center;gap:.5rem}.play-save-status{font-weight:600;text-transform:none;letter-spacing:0;font-size:.72rem}.play-party-tracker{display:flex;flex-direction:column;gap:.8rem}.play-pc-card{padding:.95rem 1.05rem;display:flex;flex-direction:column;gap:.6rem}.play-pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.play-pc-name{font-weight:750;font-size:1.02rem}.play-pc-sub{color:var(--pd-muted);font-size:.8rem}.play-pc-badges{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.play-badge{font-size:.72rem;font-weight:700;color:var(--pd-muted);background:var(--pd-surface-2);border:1px solid var(--pd-line);border-radius:999px;padding:.15rem .55rem;white-space:nowrap}.play-hp-row{display:flex;align-items:center;gap:.5rem}.play-hp-row-sm{flex:1;min-width:110px}.play-stepper{width:26px;height:26px;border-radius:8px;border:1px solid var(--pd-line);background:var(--pd-surface-2);color:var(--pd-ink);font-size:1rem;font-weight:700;cursor:pointer;flex-shrink:0}.play-stepper:hover{border-color:var(--pd-accent);color:var(--pd-accent)}.play-hp-bar{position:relative;flex:1;height:26px;border-radius:8px;background:var(--pd-surface-2);border:1px solid var(--pd-line);overflow:hidden;display:flex;align-items:center}.play-hp-bar>span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#f87171,#fbbf24 55%,#34d399);opacity:.28}.play-hp-input{position:relative;z-index:1;width:44px;background:transparent!important;border:none!important;text-align:right;font-weight:700;font-size:.85rem;padding:0 .2rem}.play-hp-max{position:relative;z-index:1;color:var(--pd-muted);font-size:.8rem;padding-right:.5rem}.play-coins-row{display:flex;gap:.4rem;flex-wrap:wrap}.play-coin{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.68rem;color:var(--pd-muted);text-transform:uppercase;font-weight:700}.play-coin input{width:48px;text-align:center;padding:.25rem;border-radius:8px;font-size:.82rem}.play-inventory-toggle{background:none;border:none;color:var(--pd-muted);cursor:pointer;font-size:.78rem;font-weight:700;padding:0;text-align:left}.play-inventory-toggle:hover{color:var(--pd-ink)}.play-inventory-list{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--pd-ink)}.play-inventory-list li{margin-bottom:.2rem}.condition-picker{position:relative}.condition-chip-row{display:flex;flex-wrap:wrap;gap:.3rem}.condition-chip{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--pd-line);background:var(--pd-surface-2);color:var(--pd-ink);cursor:pointer}.condition-chip.active{background:#fbbf242e;border-color:var(--pd-warn);color:var(--pd-warn)}.condition-chip.add{color:var(--pd-muted)}.condition-chip.add:hover{color:var(--pd-accent);border-color:var(--pd-accent)}.condition-popover{position:absolute;z-index:20;top:100%;left:0;margin-top:.3rem;background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:12px;padding:.4rem;display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:.2rem;box-shadow:0 12px 32px #0006;min-width:220px}.condition-option{background:none;border:none;color:var(--pd-ink);text-align:left;padding:.3rem .5rem;border-radius:8px;cursor:pointer;font-size:.82rem}.condition-option:hover{background:var(--pd-surface-2)}.condition-option.selected{color:var(--pd-warn);font-weight:700}.play-tabs{display:flex;gap:.4rem;margin-bottom:.2rem}.play-tab{background:var(--pd-surface);border:1px solid var(--pd-line);color:var(--pd-muted);font-weight:700;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer}.play-tab.active{background:linear-gradient(120deg,var(--pd-accent),var(--pd-accent-2));color:#fff;border-color:transparent}.play-scene-tab{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1rem;align-items:start}.play-scene-rail{display:flex;flex-direction:column;gap:.5rem}.play-scene-act-group{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.3rem}.play-scene-act-label{color:var(--pd-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:.3rem 0 .1rem}.play-scene-rail-item{background:none;border:none;color:var(--pd-ink);text-align:left;padding:.4rem .6rem;border-radius:9px;cursor:pointer;font-size:.85rem;line-height:1.35}.play-scene-rail-item:hover{background:var(--pd-surface-2)}.play-scene-rail-item.active{background:var(--pd-accent);color:#fff;font-weight:700}.play-adhoc-btn{margin-top:.4rem;align-self:flex-start}.play-scene-main{min-width:0}.play-scene-nav{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}.play-scene-title{font-weight:750;text-align:center;flex:1}.play-scene-refs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.play-ref-tag{border:none;cursor:pointer}.play-beats-checklist label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.play-beat-done{text-decoration:line-through;color:var(--pd-muted)}.play-combat-tab{display:flex;flex-direction:column;gap:.9rem}.play-start-combat-btn{align-self:flex-start}.play-combat-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.play-combat-round{font-weight:800;font-size:1.05rem}.play-combat-turn-actions{display:flex;gap:.5rem;flex-wrap:wrap}.play-initiative-list{display:flex;flex-direction:column;gap:.5rem}.play-combatant-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:13px;padding:.55rem .75rem}.play-combatant-row.current-turn{border-color:var(--pd-accent);box-shadow:0 0 0 2px #818cf84d}.play-combatant-row.defeated{opacity:.5}.play-combatant-row.defeated .play-combatant-label{text-decoration:line-through}.play-init-input{width:42px;text-align:center;padding:.3rem;border-radius:8px;font-weight:700}.play-combatant-kind{font-size:.62rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em;color:var(--pd-muted);background:var(--pd-surface-2);border-radius:6px;padding:.15rem .4rem}.play-combatant-label{font-weight:700;min-width:110px}.play-defeated-toggle{background:none;border:1px solid var(--pd-line);color:var(--pd-muted);border-radius:999px;padding:.25rem .65rem;font-size:.72rem;font-weight:700;cursor:pointer;margin-left:auto}.play-defeated-toggle.on{background:#f871712e;border-color:var(--pd-bad);color:var(--pd-bad)}.play-event-log{display:flex;flex-direction:column;gap:.5rem}.play-log-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:14px;padding:.7rem .8rem}.play-log-entry{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;line-height:1.4}.play-log-chip{flex-shrink:0;font-size:.62rem;font-weight:800;text-transform:uppercase;padding:.1rem .4rem;border-radius:6px;margin-top:.1rem}.play-log-chip-event{background:#818cf833;color:#a5b0ff}.play-log-chip-dice{background:#fbbf2433;color:#fcd34d}.play-log-chip-combat{background:#f8717133;color:#fca5a5}.play-log-chip-note{background:#94a3b833;color:#cbd5e1}.play-log-chip-speech{background:#34d39933;color:#6ee7b7}.play-log-text{color:var(--pd-ink)}.play-log-interim{color:var(--pd-muted);font-style:italic;font-size:.82rem;padding:0 .2rem}.play-log-input-row{display:flex;gap:.4rem}.play-log-input{flex:1;padding:.5rem .7rem;border-radius:10px}.play-mic-btn{width:38px;border-radius:10px;border:1px solid var(--pd-line);background:var(--pd-surface-2);cursor:pointer;font-size:1rem}.play-mic-btn.recording{background:#f8717140;border-color:var(--pd-bad)}.play-dice-roller{display:flex;flex-direction:column;gap:.5rem}.play-dice-quick-row{display:flex;gap:.35rem;flex-wrap:wrap}.play-dice-adv-row{display:flex;gap:.35rem}.play-dice-input-row{display:flex;gap:.4rem}.play-dice-input-row input{flex:1;padding:.5rem .7rem;border-radius:10px}.play-dice-label{flex:.8!important}.play-dice-result{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:12px;padding:.6rem .8rem;display:flex;align-items:baseline;gap:.7rem}.play-dice-result-total{font-size:1.7rem;font-weight:800;color:var(--pd-warn)}.play-dice-result-detail{color:var(--pd-muted);font-size:.82rem}.play-session-notes{display:flex;flex-direction:column;gap:.4rem}.play-session-notes textarea{padding:.7rem;border-radius:12px;resize:vertical;font-family:inherit}.pv-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pd-line);flex-shrink:0}.pv-dot.on{background:var(--pd-good);box-shadow:0 0 0 3px #34d39933}.players-chip-wrap{position:relative}.players-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;width:260px;padding:.9rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 16px 40px #00000073}.players-code-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.players-code{font-family:SFMono-Regular,Consolas,monospace;font-size:1.3rem;font-weight:800;letter-spacing:.12em;color:var(--pd-ink)}.players-list{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid var(--pd-line);padding-top:.5rem}.players-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.players-name{flex:1;font-weight:650;min-width:0}.players-pc{color:var(--pd-muted);font-size:.78rem}.pv-shell{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:.9rem;padding:.9rem .9rem 2.5rem}.pv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.pv-campaign{color:var(--pd-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pv-me{font-size:1.2rem;font-weight:800;letter-spacing:-.01em}.pv-claim{padding:1.1rem;display:flex;flex-direction:column;gap:.8rem}.pv-claim-title{font-weight:750;font-size:1.05rem}.pv-claim-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}@media (max-width: 400px){.pv-claim-grid{grid-template-columns:1fr}}.pv-claim-card{background:var(--pd-surface-2);border:1px solid var(--pd-line);border-radius:14px;padding:.85rem .9rem;text-align:left;cursor:pointer;color:var(--pd-ink);font:inherit;display:flex;flex-direction:column;gap:.2rem}.pv-claim-card:not(:disabled):hover{border-color:var(--pd-accent);transform:translateY(-1px)}.pv-claim-card:disabled{opacity:.55;cursor:not-allowed}.pv-claim-name{font-weight:750}.pv-claim-sub{color:var(--pd-muted);font-size:.8rem}.pv-claim-taken{color:var(--pd-warn);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.pv-sheet{padding:1.1rem;display:flex;flex-direction:column;gap:.8rem}.pv-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.pv-sheet-name{font-weight:800;font-size:1.3rem;letter-spacing:-.01em}.pv-sheet-sub{color:var(--pd-muted);font-size:.85rem}.pv-hp-bar{flex:none;height:34px}.pv-hp-bar>span{opacity:.35}.pv-hp-text{position:relative;z-index:1;width:100%;text-align:center;font-weight:800;font-size:.95rem}.pv-abilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media (max-width: 360px){.pv-abilities-grid{grid-template-columns:repeat(2,1fr)}}.pv-ability{background:var(--pd-surface-2);border:1px solid var(--pd-line);border-radius:12px;padding:.5rem .3rem;text-align:center}.pv-ability-label{color:var(--pd-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em}.pv-ability-score{font-size:1.1rem;font-weight:750}.pv-ability-mod{color:var(--pd-accent);font-size:.82rem;font-weight:700}.pv-coins-row{display:flex;gap:.5rem;flex-wrap:wrap}.pv-coin{flex-direction:row!important;align-items:center;gap:.3rem!important;background:var(--pd-surface-2);border:1px solid var(--pd-line);border-radius:10px;padding:.3rem .55rem}.pv-coin strong{color:var(--pd-ink);font-size:.85rem}.pv-section{border-top:1px solid var(--pd-line);padding-top:.6rem}.pv-saves-title{color:var(--pd-muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin:.4rem 0 .3rem}.pv-features-text{color:var(--pd-ink);font-size:.88rem;line-height:1.55;margin-top:.4rem;white-space:pre-wrap}.pv-party-bar{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.pv-party-title{color:var(--pd-muted);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pv-party-list{display:flex;flex-direction:column;gap:.5rem}.pv-party-member{display:flex;align-items:center;gap:.5rem}.pv-party-name{font-size:.85rem;font-weight:650;width:92px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-hp-bar-sm{flex:1;height:18px}.pv-hp-text-sm{position:relative;z-index:1;width:100%;text-align:center;font-size:.72rem;font-weight:700}.pv-party-conditions{color:var(--pd-warn);font-size:.72rem;flex-shrink:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-players-row{display:flex;flex-wrap:wrap;gap:.4rem .7rem;padding:0 .2rem}.pv-player-chip{display:flex;align-items:center;gap:.35rem;color:var(--pd-muted);font-size:.78rem}.image-block{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.2rem}.image-block-frame{position:relative;width:100%;max-width:320px;aspect-ratio:1 / 1;border-radius:16px;overflow:hidden;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer}.image-block-img{width:100%;height:100%;object-fit:cover}.image-block-placeholder{width:40%;height:40%;color:var(--muted);cursor:default}.image-block-placeholder svg{width:100%;height:100%}.image-block-delete{position:absolute;top:.5rem;right:.5rem;border:none;border-radius:999px;width:2rem;height:2rem;background:#18162b8c;color:#fff;cursor:pointer;font-size:.95rem;line-height:1;transition:background .14s ease}.image-block-delete:hover{background:#c02740}.image-block-generate{width:fit-content}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0814d1;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1000;animation:fadeUp .15s ease both;cursor:zoom-out}.lightbox-img{max-width:min(90vw,720px);max-height:85vh;border-radius:12px;box-shadow:var(--shadow-lift);cursor:default}.pv-avatar{width:3rem;height:3rem;border-radius:12px;object-fit:cover;flex-shrink:0;border:1px solid var(--pd-line)}
