:root{--ink:#14110f;--ink-soft:#1e1a17;--ink-raised:#272220;--washi:#e8e0d0;--washi-dim:#9c9284;--washi-faint:#635b52;--vermillion:#c1362f;--vermillion-bright:#e0554a;--gold:#c9a227;--jade:#4f8a6b;--edge:#352f2a;--tier-critical:#d4af37;--tier-success:#5f9e77;--tier-mixed:#a8905a;--tier-failure:#a85f4a;--tier-disaster:#8f2f28;--surface:#1b1613;--surface-2:#221c18;--raised:#2a2320;--line:var(--edge);--line-2:#4a4038;--gold-soft:#c9a22724;--panel-w:620px;--panel-w-wide:760px;--r:6px;--r-sm:4px;--washi-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.35' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.91 0 0 0 0 0.88 0 0 0 0 0.82 0.07 0.07 0.07 0 -0.08'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23w)'/%3E%3C/svg%3E");--font-cjk-serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", "Noto Serif JP", "MS PMincho";--font-cjk-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, "Noto Sans CJK JP", "Noto Sans JP", "MS PGothic";--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, var(--font-cjk-serif), serif;--font-body:"Inter", "Segoe UI", system-ui, -apple-system, var(--font-cjk-sans), sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, var(--font-cjk-sans), monospace}:root[data-theme=light]{--ink:#e7dfcd;--ink-soft:#efe7d6;--ink-raised:#f5efe3;--washi:#241f19;--washi-dim:#5c5244;--washi-faint:#8a7e6b;--vermillion:#b3312b;--vermillion-bright:#c1362f;--gold:#9a7c18;--jade:#3f7a5b;--edge:#d0c4ac;--surface:#efe7d6;--surface-2:#e4dac6;--raised:#f8f2e6;--line:#d0c4ac;--line-2:#b6a888;--gold-soft:#9a7c1829}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(ellipse 80% 60% at 50% -10%, #c1362f17, transparent 70%), radial-gradient(ellipse 60% 50% at 100% 100%, #c9a2270d, transparent 70%), var(--ink);min-height:100vh;color:var(--washi);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}#app{max-width:1140px;margin:0 auto;padding:32px 24px 64px}.masthead{border-bottom:1px solid var(--edge);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;padding-bottom:20px;display:flex}.masthead h1{font-family:var(--font-display);letter-spacing:.02em;font-size:30px;font-weight:600}.masthead h1 .kanji{color:var(--vermillion);margin-right:10px;font-weight:400}.masthead .tagline{color:var(--washi-dim);letter-spacing:.04em;text-transform:uppercase;font-size:13px}.board{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.board{grid-template-columns:minmax(0,1fr)}}.panel{background:linear-gradient(180deg, var(--ink-raised), var(--ink-soft));border:1px solid var(--edge);border-radius:4px;padding:20px;box-shadow:inset 0 1px #e8e0d00a,0 8px 24px #00000059}.panel+.panel{margin-top:20px}.panel h2{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--washi-dim);border-bottom:1px solid var(--edge);margin-bottom:16px;padding-bottom:12px;font-size:12px;font-weight:700}.who{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.who .name{font-family:var(--font-display);letter-spacing:.01em;font-size:24px}.who .meta{color:var(--washi-faint);font-size:13px}.standing{border-left:2px solid var(--vermillion);background:#00000040;border-radius:3px;flex-wrap:wrap;gap:20px;margin:16px 0 20px;padding:12px 14px;display:flex}.standing div{flex-direction:column;gap:2px;display:flex}.standing .label{letter-spacing:.12em;text-transform:uppercase;color:var(--washi-faint);font-size:10px}.standing .value{font-family:var(--font-mono);color:var(--washi);font-size:17px}.stat{grid-template-columns:96px 1fr 62px;align-items:center;gap:12px;padding:5px 0;display:grid}.stat .stat-name{color:var(--washi-dim);text-transform:capitalize;font-size:13px}.stat .track{background:#0006;border-radius:3px;height:6px;position:relative;overflow:hidden}.stat .fill{background:linear-gradient(90deg, var(--vermillion), var(--vermillion-bright));border-radius:3px;transition:width .35s;position:absolute;inset:0 auto 0 0}.stat .fill.buffed{background:linear-gradient(90deg, var(--jade), #6fb08c)}.stat .numbers{font-family:var(--font-mono);text-align:right;white-space:nowrap;font-size:13px}.stat .delta{margin-left:3px;font-size:11px}.delta.up{color:var(--jade)}.delta.down{color:var(--vermillion-bright)}.traits{border-top:1px solid var(--edge);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:18px;padding-top:16px;display:grid}.trait{border:1px solid var(--edge);color:var(--washi-dim);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0000004d;border-radius:2px;padding:4px 10px;font-size:12px;transition:all .15s}.trait:hover{border-color:var(--washi-faint);color:var(--washi)}.trait[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:#c9a2271a}.field{margin-bottom:16px}.field>label{letter-spacing:.12em;text-transform:uppercase;color:var(--washi-faint);margin-bottom:7px;font-size:10px;display:block}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{text-transform:capitalize;min-width:84px;min-height:44px;color:var(--washi-dim);border:1px solid var(--edge);cursor:pointer;background:#0000004d;border-radius:0;flex:auto;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.segmented button:hover{border-color:var(--washi-faint);color:var(--washi)}.segmented button[aria-pressed=true]{border-color:var(--vermillion);color:var(--washi);background:#c1362f29}input[type=range]{width:100%;accent-color:var(--vermillion);height:24px}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-head .readout{font-family:var(--font-mono);color:var(--washi);font-size:13px}.actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}button.primary,button.ghost{min-height:44px;font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border-radius:0;padding:11px 20px;font-size:14px;transition:all .15s}button.primary{background:linear-gradient(180deg, var(--vermillion-bright), var(--vermillion));border:1px solid var(--vermillion-bright);color:#fff;flex:auto;font-weight:600;box-shadow:inset 0 1px #ffffff29,0 2px 8px #c1362f40}button.primary:hover{filter:brightness(1.12)}button.primary:active{transform:translateY(1px)}button.ghost{border:1px solid var(--edge);color:var(--washi-dim);background:0 0}button.ghost:hover{border-color:var(--washi-faint);color:var(--washi)}.result{--tier:var(--washi-faint);text-align:center;border:1px solid var(--edge);background:#0000004d;border-radius:0;padding:22px 16px;position:relative}.result:before{content:"";background:linear-gradient(90deg, var(--tier) 0%, color-mix(in srgb, var(--tier) 40%, var(--edge)) 55%, transparent 97%);height:2px;position:absolute;top:-1px;left:0;right:26%}.result.empty{color:var(--washi-faint);padding:30px 16px;font-style:italic}.result .tier{font-family:var(--font-display);letter-spacing:.02em;margin-bottom:6px;font-size:27px;font-weight:600}.result .math{font-family:var(--font-mono);color:var(--washi-dim);font-size:12px}.result .flavor{border-top:1px solid var(--edge);font-family:var(--font-display);color:var(--washi-dim);margin-top:12px;padding-top:12px;font-size:15px;font-style:italic}.tier-critical-success{--tier:var(--tier-critical)}.tier-critical-success .tier{color:var(--tier-critical)}.tier-success{--tier:var(--tier-success)}.tier-success .tier{color:var(--tier-success)}.tier-mixed{--tier:var(--tier-mixed)}.tier-mixed .tier{color:var(--tier-mixed)}.tier-failure{--tier:var(--tier-failure)}.tier-failure .tier{color:var(--tier-failure)}.tier-disaster{--tier:var(--tier-disaster)}.tier-disaster .tier{color:var(--tier-disaster)}.log{max-height:260px;font-family:var(--font-mono);font-size:12px;overflow-y:auto}.log .entry{color:var(--washi-dim);border-bottom:1px solid #352f2a8c;justify-content:space-between;gap:12px;padding:7px 2px;display:flex}.log .entry:last-child{border-bottom:none}.log .entry .outcome{white-space:nowrap;font-weight:600}.log .empty{color:var(--washi-faint);font-style:italic;font-family:var(--font-body);padding:8px 2px}.seedbar{border:1px solid var(--edge);color:var(--washi-faint);background:#00000040;border-radius:3px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:12px 16px;font-size:12px;display:flex}.seedbar .rng-state{font-family:var(--font-mono);color:var(--washi-dim)}.seedbar .group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seedbar button{min-height:34px;font-family:var(--font-body);color:var(--washi-dim);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px;font-size:12px}.seedbar button:hover{border-color:var(--washi-faint);color:var(--washi)}.hint{color:var(--washi-faint);margin-top:14px;font-size:12px;line-height:1.6}.creation .panel{background:var(--washi-grain), radial-gradient(ellipse 130% 110% at 50% 45%, transparent 76%, color-mix(in srgb, var(--ink) 24%, transparent)), linear-gradient(160deg, color-mix(in srgb, var(--washi) 6%, var(--ink-soft)), color-mix(in srgb, var(--washi) 3%, var(--ink-soft)) 50%, var(--ink-soft));border:1px solid var(--edge);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--washi) 8%, transparent), 0 10px 26px #0000004d;border-radius:0}.creation .panel h2{letter-spacing:.01em;text-transform:none;color:var(--washi);border-bottom:none;margin-bottom:14px;padding-bottom:10px;font-size:17px;font-weight:600;position:relative}.creation .panel h2:after,.creation .masthead:after{content:"";background:radial-gradient(ellipse 30px 3px at 0% 50%, var(--washi-dim), transparent 75%), linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;bottom:0;left:0;right:18%}.creation .masthead{border-bottom:none;position:relative}.creation .masthead .tagline{font-family:var(--font-display);text-transform:none;letter-spacing:.02em;font-size:14px;font-style:italic}.creation .field>label{font-family:var(--font-display);letter-spacing:.02em;text-transform:none;color:var(--washi-dim);font-size:12.5px}.creation :is(.origin-card,.mon-chip,.step,.segmented button,.name-row input,.name-row .ghost,.portrait-frame,.model-frame){border-radius:0}.creation :is(.origin-card,.mon-chip,.step,.segmented button,.name-row .ghost):focus-visible{outline:2px solid var(--gold);outline-offset:2px}.create-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.create-grid{grid-template-columns:minmax(0,1fr)}}@media (width>=861px){.create-grid .preview-panel{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}}.origin-panel{margin-bottom:20px}.origin-row{flex-wrap:wrap;gap:8px;display:flex}.origin-card{min-height:44px;font-family:var(--font-display);color:var(--washi-dim);border:1px solid var(--edge);cursor:pointer;white-space:nowrap;background:#0000004d;border-radius:3px;flex:1 0 auto;padding:10px 14px;font-size:14px;transition:transform 80ms,border-color .12s,color .12s}.origin-card:hover{color:var(--washi);transform:translateY(-1px)}.origin-card[aria-pressed=true]{color:var(--ink);background:var(--washi);border-color:var(--washi);font-weight:600}.origin-flavor{font-family:var(--font-display);color:var(--washi);margin-top:12px;font-size:15px;font-style:italic}.origin-package{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.origin-kit{color:var(--washi-dim);margin-top:10px;font-size:13px}.portrait-pick{align-items:center;gap:12px;display:flex}.portrait-frame{border:1px solid var(--edge);background:#00000059;border-radius:4px;flex:none;justify-content:center;align-items:center;width:112px;height:112px;display:flex;overflow:hidden}.portrait-img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.portrait-none{color:var(--washi-faint);font-size:12px}.model-frame{border:1px solid var(--edge);background:#00000059;border-radius:4px;flex:none;justify-content:center;align-items:flex-end;width:84px;height:126px;display:flex;overflow:hidden}.model-img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.pv-body{width:64px;height:96px}.mon-row{flex-wrap:wrap;gap:8px;display:flex}.mon-chip{width:44px;height:44px;font-family:var(--font-display);color:var(--washi-dim);border:1px solid var(--edge);cursor:pointer;background:#0000004d;border-radius:3px;flex:none;font-size:20px;transition:transform 80ms,border-color .12s,color .12s}.mon-chip:hover{color:var(--washi);transform:translateY(-1px)}.mon-chip[aria-pressed=true]{color:var(--vermillion);background:var(--washi);border-color:var(--washi);font-weight:700}.creation .preview-panel{background:var(--washi-grain), repeating-linear-gradient(90deg, transparent 0 54px, color-mix(in srgb, var(--washi) 4%, transparent) 54px 55px), linear-gradient(160deg, color-mix(in srgb, var(--washi) 6%, var(--ink-soft)), color-mix(in srgb, var(--washi) 3%, var(--ink-soft)) 50%, var(--ink-soft));border-color:var(--line-2)}.pv-top{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.pv-face{width:96px;height:96px}.pv-id{flex-direction:column;flex:150px;gap:6px;min-width:0;display:flex}.pv-name{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);color:var(--washi);flex-wrap:wrap;align-items:center;gap:10px;font-size:21px;display:flex}.pv-crest{width:30px;height:30px;color:var(--washi);background:radial-gradient(120% 95% at 32% 25%, var(--vermillion-bright), transparent 70%), radial-gradient(100% 120% at 72% 80%, color-mix(in srgb, var(--vermillion) 72%, transparent), transparent 62%), color-mix(in srgb, var(--vermillion) 84%, var(--ink));box-shadow:inset 0 0 6px color-mix(in srgb, var(--ink) 40%, transparent), 0 0 0 1px color-mix(in srgb, var(--vermillion) 22%, transparent), 0 0 6px color-mix(in srgb, var(--vermillion) 25%, transparent);border-radius:1px;flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex;transform:rotate(-4deg)}.pv-house{letter-spacing:.03em;color:var(--washi-faint);font-size:12.5px}.pv-traits{border-top:1px solid var(--line);flex-direction:column;display:flex}.pv-stats{grid-template-columns:1fr 1fr;gap:12px 18px;display:grid}.pv-stat-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.pv-stat-name{font-family:var(--font-display);text-transform:capitalize;letter-spacing:.01em;color:var(--washi);font-size:14px}.pv-stat-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--washi);white-space:nowrap;align-items:baseline;gap:5px;font-size:14px;display:flex}.pv-bar{background:linear-gradient(90deg, transparent calc(25% - 1px), color-mix(in srgb, var(--washi) 16%, transparent) calc(25% - 1px) 25%, transparent 25% calc(50% - 1px), color-mix(in srgb, var(--washi) 16%, transparent) calc(50% - 1px) 50%, transparent 50% calc(75% - 1px), color-mix(in srgb, var(--washi) 16%, transparent) calc(75% - 1px) 75%, transparent 75%), color-mix(in srgb, var(--washi) 8%, transparent);height:6px;overflow:hidden}.pv-bar>span{background:linear-gradient(90deg, var(--washi-dim), var(--washi) 75%);border-radius:0 5px 2px 0/0 6px 2px 0;height:100%;display:block}.pv-stat-blurb{color:var(--washi-faint);margin-top:4px;font-size:11px;display:block}.pv-kit{color:var(--washi-dim);margin-top:14px;font-size:13px}.pv-blood{color:var(--washi-dim);margin:10px 0 2px;font-size:13px}.pv-blood .kanji{color:var(--vermillion);margin-right:4px}.pv-blood em{color:var(--washi-dim);opacity:.85;font-style:italic}@media (width<=560px){.pv-stats{grid-template-columns:1fr}}.name-row{gap:8px;display:flex}.name-row input{min-width:0;min-height:44px;font-family:var(--font-display);color:var(--washi);border:1px solid var(--edge);background:#00000059;border-radius:3px;flex:1;padding:10px 14px;font-size:18px}.name-row input:focus{border-color:var(--vermillion);outline:none}.name-row .ghost{min-width:46px;padding:10px;font-size:16px}.creation .tmod{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--washi-dim);white-space:nowrap;background:0 0;border:none;padding:0;font-size:11.5px}.creation .tmod.pos{color:var(--gold)}.creation .tmod.neg{color:var(--vermillion-bright)}.creation .segmented button{min-height:44px}.creation .segmented button[aria-pressed=true]{background:var(--washi);border-color:var(--washi);color:var(--ink);font-weight:600}.fate-sub{font-family:var(--font-body);letter-spacing:.04em;text-transform:none;color:var(--washi-faint);font-size:13px;font-style:normal;font-weight:400}.fate-block{margin-top:16px}.fate-block .hint{margin-top:8px}.fate-head{font-family:var(--font-display);letter-spacing:.02em;text-transform:none;color:var(--washi-dim);align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.fh-kanji{color:var(--vermillion-bright);font-size:13px;font-weight:400}.fate-trait{border:none;border-bottom:1px solid var(--line);background:0 0;flex-direction:column;gap:3px;padding:10px 2px 11px;display:flex}.fate-trait+.fate-trait{margin-top:0}.ft-head{flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.ft-name{font-family:var(--font-display);letter-spacing:.01em;color:var(--washi);font-size:15px;font-weight:600}.ft-tag{font-family:var(--font-display);letter-spacing:.02em;text-transform:none;color:var(--vermillion-bright);font-size:11px;font-style:italic}.ft-mods{flex-wrap:wrap;gap:4px 6px;margin-left:auto;display:flex}.ft-desc{color:var(--washi-dim);font-size:12px;line-height:1.5}.step{width:44px;height:44px;color:var(--washi-dim);border:1px solid var(--edge);cursor:pointer;background:#0000004d;border-radius:3px;flex:none;font-size:19px}.step:hover:not(:disabled){border-color:var(--vermillion);color:var(--washi)}.step:disabled{opacity:.3;cursor:not-allowed}.begin-bar{z-index:5;background:linear-gradient(180deg, color-mix(in srgb, var(--washi) 4%, var(--ink-raised)), var(--ink-soft));border:1px solid var(--line-2);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:14px 20px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #00000080}.begin-err{font-family:var(--font-display);color:var(--washi-dim);font-size:14px;font-style:italic}.begin-bar .primary{background:radial-gradient(ellipse 130% 100% at 50% 42%, var(--vermillion-bright), var(--vermillion) 82%);border:1px solid color-mix(in srgb, var(--vermillion) 60%, var(--ink));min-width:150px;min-height:48px;color:var(--washi);letter-spacing:.08em;box-shadow:inset 0 0 14px color-mix(in srgb, var(--ink) 30%, transparent);border-radius:2px;flex:none;font-size:15px;transform:rotate(-1.4deg)}.begin-bar .primary:hover:not(:disabled){filter:brightness(1.1)}.begin-bar .primary:active:not(:disabled){transform:rotate(-1.4deg)translateY(1px)}.begin-bar .primary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.begin-bar .primary:disabled{opacity:.4;cursor:not-allowed;filter:none}.seal-kanji{opacity:.85;margin-right:8px;font-weight:400}@media (prefers-reduced-motion:reduce){.origin-card,.mon-chip,.step,.creation .segmented button,.begin-bar .primary{transition:none}.origin-card:hover,.mon-chip:hover{transform:none}}.game{flex-direction:column;gap:10px;display:flex}.topbar{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:10px;align-items:center;gap:6px;padding:7px 8px;display:flex;box-shadow:inset 0 1px #e8e0d00a,0 2px 10px #00000038}.cmd{border-radius:var(--r);color:var(--washi-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:8px 13px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.cmd .ic{width:17px;height:17px;display:block}.cmd:hover{background:var(--surface-2);color:var(--washi);border-color:var(--line)}.cmd:active{transform:translateY(1px)}.cmd.active{background:var(--gold-soft);color:var(--gold);border-color:color-mix(in srgb, var(--gold) 40%, transparent);box-shadow:inset 0 1px 3px #00000040}.cmd-spacer{flex:1}.cmd.ghost-round{border-color:var(--line);color:var(--washi-faint);border-radius:999px;padding:8px}.cmd.ghost-round:hover{color:var(--vermillion-bright);border-color:var(--vermillion);background:0 0}.cmd:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (width<=680px){.cmd .lbl{display:none}.cmd{padding:8px}}.statusbar{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:18px;padding:9px 14px;display:flex;box-shadow:inset 0 1px #e8e0d00a,0 2px 10px #00000038}.ident{align-items:center;gap:11px;display:flex}.ident .mon{width:36px;height:36px;color:var(--washi);background:var(--surface-2);border:1px solid var(--gold);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--gold) 16%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.ident .mon .ic{width:19px;height:19px}.ident .who{flex-direction:column;line-height:1.15;display:flex}.ident .who .nm{font-family:var(--font-display);font-size:16px}.ident .who .sub{color:var(--washi-faint);letter-spacing:.02em;font-size:11px}.ident .who .sub b{color:var(--gold);font-weight:600}.calendar{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:9px;padding:5px 14px;display:flex;box-shadow:inset 0 1px 3px #0000002e}.calendar .season{color:var(--vermillion);font-size:15px;line-height:1}.calendar .date{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;color:var(--washi);font-size:13px}.status-right{flex-wrap:wrap;align-items:center;gap:18px;margin-left:auto;display:flex}.vitals-inline{flex-wrap:wrap;gap:15px;display:flex}.vi{flex-direction:column;gap:4px;min-width:54px;display:flex}.vi.coin{order:-2}.vi.energy{order:-1}.vi .vr{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.vi .v-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--washi-faint);font-size:9px}.vi .v-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--washi);font-size:14px}.vi.coin .v-num{color:var(--gold)}.vi .mtr{background:#0000004d;border-radius:999px;height:3px;overflow:hidden}.vi .mtr>i{border-radius:999px;height:100%;display:block}.vi .mtr.honor>i{background:linear-gradient(90deg, var(--jade), #7cc09b)}.vi .mtr.health>i{background:linear-gradient(90deg, var(--vermillion), var(--vermillion-bright))}.vi .mtr.infamy>i{background:linear-gradient(90deg,#4a3540,#8a2f3f)}.vi .mtr.energy>i{background:linear-gradient(90deg, var(--gold), #e2c96a)}.en-cost{color:var(--gold);border:1px solid var(--gold-soft);background:var(--gold-soft);white-space:nowrap;border-radius:0;padding:0 6px;font-size:.72em}button:disabled .en-cost{opacity:.55}.vi.wanted .v-lbl,.vi.wanted .v-num{color:var(--vermillion-bright)}.transport{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.calendar .game-clock{font-family:var(--font-mono);letter-spacing:.03em;color:var(--washi-dim);font-variant-numeric:tabular-nums;white-space:nowrap;border-right:1px solid var(--line);padding-right:9px;font-size:12px}.season-splash{z-index:90;opacity:0;pointer-events:none;color:var(--washi);justify-content:center;align-items:center;transition:opacity .55s;display:flex;position:fixed;inset:0}.season-splash.show{opacity:1}.season-splash .ss-inner{text-shadow:0 2px 10px #0009;flex-direction:column;align-items:center;gap:6px;display:flex}.season-splash .ss-kanji{font-size:clamp(64px,16vw,124px);line-height:1}.season-splash .ss-name{font-family:var(--font-display);letter-spacing:.34em;text-transform:uppercase;padding-left:.34em;font-size:clamp(20px,5vw,34px)}.season-splash .ss-year{letter-spacing:.2em;color:var(--washi-dim);font-size:15px}.rest-overlay{z-index:95;opacity:0;pointer-events:none;color:var(--washi);background:#0a0806;justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:fixed;inset:0}.rest-overlay.show{opacity:1}.rest-overlay .rest-inner{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.rest-overlay .rest-icon{font-size:46px;line-height:1}.rest-overlay .rest-date{font-family:var(--font-display);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:22px}.rest-overlay .rest-label{letter-spacing:.34em;text-transform:uppercase;color:var(--washi-dim);font-size:12px}.season-spring{background:radial-gradient(#e07a9e6b,#120f0bed 72%)}.season-summer{background:radial-gradient(#609c4a6b,#120f0bed 72%)}.season-autumn{background:radial-gradient(#ca782a70,#120f0bed 72%)}.season-winter{background:radial-gradient(#96b4d26b,#120f0bed 72%)}.transport button{min-width:32px;height:28px;color:var(--washi-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 9px;font-size:12px;transition:background .14s,color .14s}.transport button:hover{color:var(--washi)}.transport button.on{background:var(--gold-soft);color:var(--gold);box-shadow:inset 0 1px 2px #00000038}.transport button.pause.on{background:color-mix(in srgb, var(--vermillion) 20%, transparent);color:var(--vermillion-bright)}.transport button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}@media (width<=720px){.status-right{justify-content:space-between;width:100%;margin-left:0}}@media (width<=680px){.topbar{gap:4px;padding:5px 6px}.statusbar{gap:10px;padding:6px 10px}.ident{gap:8px}.ident .mon{width:30px;height:30px}.ident .mon .ic{width:16px;height:16px}.ident .who .nm{font-size:14px}.ident .who .sub{font-size:10px}.calendar{gap:6px;padding:4px 10px}.vitals-inline{gap:10px}}@media (width<=560px){.statusbar{gap:8px}.vi.renown{display:none}}@media (width<=460px){.statusbar{gap:12px}.calendar{order:-1}.vi{min-width:44px}.vi .mtr{display:none}}.stage{border:1px solid var(--edge);background:#000;border-radius:4px;line-height:0;overflow:hidden;box-shadow:0 6px 24px #00000059}#view{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}body.ingame{height:100dvh;min-height:0;overflow:hidden}body.ingame #app{height:100%;padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));flex-direction:column;display:flex}body.ingame .game{flex:1;min-height:0}body.ingame .stage{flex:1 1 0;justify-content:center;align-items:center;min-height:0;display:flex}body.ingame .topbar,body.ingame .statusbar,body.ingame .touch,body.ingame .controls-hint{flex-shrink:0}body.ingame #view{width:100%;height:100%;display:block}.controls-hint{text-align:center}.touch{display:none}@media (hover:none) and (pointer:coarse){.touch{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:20px;padding:4px 6px;display:flex}.controls-hint{display:none}}@media (height<=520px){.controls-hint{margin-top:6px;font-size:11px;line-height:1.3}.touch{gap:12px;padding:2px 4px}.dpad,.dpad-mid{gap:4px}.dpad button,.act-btn{width:46px;height:46px;font-size:15px}.act-btn{width:58px;height:58px;font-size:18px}body.ingame .topbar{padding:4px 6px}body.ingame .statusbar{padding:5px 10px}}@media (height<=400px){.controls-hint{display:none}}.dpad{flex-direction:column;align-items:center;gap:6px;display:flex}.dpad-mid{gap:6px;display:flex}.dpad button,.act-btn{width:58px;height:58px;color:var(--washi);border:1px solid var(--edge);touch-action:none;cursor:pointer;background:#272220f2;border-radius:6px;font-size:18px}.dpad button:active,.act-btn:active{background:var(--vermillion);border-color:var(--vermillion-bright)}.act-btn{width:74px;height:74px;font-family:var(--font-display);border-color:var(--vermillion);color:var(--vermillion-bright);border-radius:50%;font-size:24px;font-weight:600}.modal{z-index:50;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(3px);background:#0a0807c7;place-items:center;animation:.16s ease-out modal-fade;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{width:min(var(--panel-w), 100%);margin:auto;animation:.18s cubic-bezier(.2,.9,.3,1.2) modal-pop}.modal-card.wide{width:min(var(--panel-w-wide), 100%)}.modal-card.panel{border-color:var(--line-2);background:var(--washi-grain), radial-gradient(ellipse 130% 110% at 50% 40%, transparent 70%, color-mix(in srgb, var(--ink) 32%, transparent)), linear-gradient(160deg, color-mix(in srgb, var(--washi) 6%, var(--ink-soft)), color-mix(in srgb, var(--washi) 3%, var(--ink-soft)) 55%, var(--ink-soft));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--washi) 8%, transparent), 0 24px 60px #00000080;border-radius:0;padding:0;position:relative;overflow:hidden}.modal-card.panel:before{content:"";border:1px solid color-mix(in srgb, var(--edge) 70%, transparent);pointer-events:none;z-index:1;position:absolute;inset:4px}.panel-head{border-bottom:2px solid var(--line-2);align-items:center;gap:13px;padding:16px 18px 14px;display:flex;position:relative}.panel-head:after{content:"";background:var(--edge);height:1px;position:absolute;bottom:2px;left:0;right:0}.panel-seal{width:40px;height:40px;color:var(--vermillion-bright);background:radial-gradient(120% 95% at 28% 22%, color-mix(in srgb, var(--vermillion) 22%, transparent), transparent 62%), radial-gradient(95% 120% at 75% 82%, color-mix(in srgb, var(--vermillion) 12%, transparent), transparent 58%), color-mix(in srgb, var(--vermillion) 7%, transparent);border:2px solid color-mix(in srgb, var(--vermillion) 55%, transparent);font-family:var(--font-display);box-shadow:0 0 0 1px color-mix(in srgb, var(--vermillion) 14%, transparent), 0 0 7px color-mix(in srgb, var(--vermillion) 22%, transparent), inset 0 0 6px color-mix(in srgb, var(--vermillion) 18%, transparent);text-shadow:0 0 5px color-mix(in srgb, var(--vermillion) 45%, transparent);border-radius:0;flex:none;place-items:center;font-size:21px;display:grid;transform:rotate(-2.5deg)}.panel-titles{flex-direction:column;min-width:0;line-height:1.15;display:flex}.panel-titles h2{font-family:var(--font-display);letter-spacing:.01em;color:var(--washi);text-transform:none;border:0;margin:0;padding:0;font-size:19px;font-weight:600}.panel-sub{font-family:var(--font-display);color:var(--washi-dim);font-size:12px;font-style:italic}.panel-x{border:1px solid var(--line);width:44px;height:44px;color:var(--washi-dim);cursor:pointer;background:0 0;border-radius:0;flex:none;margin-left:auto;font-size:15px;transition:color .15s,border-color .15s}.panel-x:hover{color:var(--vermillion-bright);border-color:var(--vermillion);background:color-mix(in srgb, var(--vermillion) 10%, transparent)}.panel-x:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.modal-body{padding:20px 22px 24px}.journal-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.journal-list li{border-bottom:1px solid var(--line);color:var(--washi-dim);padding:9px 2px;font-size:13px}.journal-list li:last-child{border-bottom:0}.journal-list li.empty{color:var(--washi-faint);font-style:italic}.people-list{flex-direction:column;gap:6px;max-height:60vh;display:flex;overflow-y:auto}.people-list>*{flex-shrink:0}.people-row{text-align:left;cursor:pointer;border:1px solid var(--line);width:100%;min-height:44px;color:var(--washi);font:inherit;background:linear-gradient(#00000042,#00000029);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;padding:9px 12px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.people-row:hover{border-color:var(--washi-faint);background:#00000057;transform:translateY(-1px);box-shadow:0 3px 10px #00000040}.people-row:active{box-shadow:none;transform:none}.pr-main{flex-direction:column;min-width:0;display:flex}.pr-name{font-family:var(--font-display);font-size:15px}.pr-name em{color:var(--gold);font-size:11px;font-style:normal}.gmark{opacity:.9;font-size:.8em}.gmark-m{color:var(--jade)}.gmark-f{color:var(--vermillion-bright)}.pr-title{color:var(--washi-faint);overflow-wrap:anywhere;min-width:0;font-size:11px;line-height:1.5}.pr-side{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:2px 12px;min-width:0;margin-left:auto;display:flex}.pr-side .pr-go{white-space:normal;text-align:right;min-width:0}.pr-bond{font-family:var(--font-display);letter-spacing:.01em;text-transform:none;color:var(--washi-dim);font-size:12px;font-style:italic}.pr-go{color:var(--gold);font-size:12px}.people-row.pr-ready{border-color:var(--gold);background:var(--gold-soft)}.people-row.pr-ready .pr-go{color:var(--gold)}.pr-flag{font-family:var(--font-body);letter-spacing:.03em;vertical-align:middle;color:var(--gold);background:var(--gold-soft);border:1px solid #c9a22766;border-radius:0;margin-left:8px;padding:1px 7px;font-size:10px;display:inline-block}.people-row:disabled{opacity:.55;cursor:default;pointer-events:none}button:focus-visible,.trait:focus-visible,.assign-select:focus-visible,.event-choice:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal,.modal-card{animation:none}.people-row,.cmd,.assign-select,.house-body .buy{transition:none}.people-row:hover,.cmd:active,.house-body .buy:active{transform:none}}.modal,.people-list,.log,.modal-body{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.people-list::-webkit-scrollbar{width:8px}.log::-webkit-scrollbar{width:8px}.people-list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.log::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.modal-body .segmented{margin-bottom:14px}.modal-body .mono{font-family:var(--font-mono);color:var(--washi-faint);font-size:11px}.modal-actions{justify-content:flex-end;margin-top:18px;display:flex}.outcome-slot:empty{display:none}.modal.ceremony{z-index:60;background:#0a0807d6}.ceremony-check{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.cc-chip{border:1px solid var(--edge);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--washi);background:#00000047;border-radius:0;align-items:baseline;gap:7px;padding:6px 11px;font-size:13px;display:inline-flex}.cc-chip i{font-style:normal;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--washi-faint);font-size:10px}.ceremony-stakes{margin-bottom:14px}.ceremony .event-choice{flex-wrap:wrap}.ceremony .event-choice .choice-detail{white-space:normal}.ceremony-suspense{text-align:center;cursor:pointer;padding:36px 12px 26px}.ceremony-die{font-family:var(--font-display);color:var(--gold);margin-bottom:14px;font-size:56px;font-weight:600;line-height:1;animation:.5s ease-in-out infinite alternate die-pulse}@keyframes die-pulse{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}.ceremony-outcome .result{padding:28px 18px}.ceremony-outcome .result .tier{font-size:32px}.ceremony-outcome .result .flavor{font-size:16px}.ceremony-outcome .event-choices{margin-top:14px}.event-choice.ceremony-continue{text-align:center;justify-content:center;min-height:52px}@media (prefers-reduced-motion:reduce){.ceremony-die{animation:none}}body{touch-action:manipulation;-webkit-touch-callout:none;overscroll-behavior:none}.game,.creation,.topbar,.statusbar,.touch,.modal{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.event-prompt{font-family:var(--font-display);color:var(--washi);margin-bottom:18px;font-size:16px;font-style:italic;line-height:1.6}.event-choices{flex-direction:column;gap:8px;display:flex}.event-choice{text-align:left;width:100%;min-height:48px;font-family:var(--font-body);color:var(--washi);background:color-mix(in srgb, var(--ink) 30%, transparent);border:1px solid var(--edge);cursor:pointer;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:12px 16px 11px;transition:background .15s,border-color .15s;display:flex;position:relative}.event-choice:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;transition:background .15s;position:absolute;top:-1px;left:0;right:26%}.event-choice:hover:not(:disabled){background:color-mix(in srgb, var(--washi) 5%, transparent);border-color:var(--washi-faint)}.event-choice:hover:not(:disabled):before{background:linear-gradient(90deg, var(--vermillion) 0%, color-mix(in srgb, var(--vermillion) 40%, transparent) 55%, transparent 97%)}.event-choice:disabled{opacity:.5;cursor:not-allowed}.event-choice .choice-label{font-family:var(--font-display);font-size:15px}.event-choice .choice-detail{font-family:var(--font-mono);color:var(--washi-faint);white-space:normal;font-size:11px;line-height:1.5}.event-choice .choice-detail.dim{font-family:var(--font-body);font-style:italic}.event-choices+.outcome-slot:not(:empty){margin-top:16px}.modal.fate{background:#0a0807e0}.fate .modal-card.panel{background:var(--washi-grain), radial-gradient(ellipse 130% 110% at 50% 40%, transparent 70%, color-mix(in srgb, var(--ink) 32%, transparent)), linear-gradient(160deg, color-mix(in srgb, var(--washi) 7%, var(--ink-soft)), color-mix(in srgb, var(--washi) 3%, var(--ink-soft)) 55%, var(--ink-soft));border-top:none;border-color:var(--line-2)}.fate .modal-card.panel:before{content:"";border:1px solid color-mix(in srgb, var(--edge) 70%, transparent);pointer-events:none;position:absolute;inset:4px}.fate .modal-card.panel{position:relative}.fate .panel-head{border-bottom:2px solid var(--line-2);background:0 0;position:relative}.fate .panel-head:after{content:"";background:var(--edge);height:1px;position:absolute;bottom:2px;left:0;right:0}.fate .panel-seal{width:44px;height:44px;color:var(--vermillion-bright);background:radial-gradient(120% 95% at 30% 22%, color-mix(in srgb, var(--vermillion) 24%, transparent), transparent 64%), color-mix(in srgb, var(--vermillion) 7%, transparent);border:2px solid color-mix(in srgb, var(--vermillion) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--vermillion) 14%, transparent), 0 0 7px color-mix(in srgb, var(--vermillion) 22%, transparent), inset 0 0 6px color-mix(in srgb, var(--vermillion) 18%, transparent);text-shadow:0 0 5px color-mix(in srgb, var(--vermillion) 45%, transparent);border-radius:0;font-size:24px;transform:rotate(-2.5deg)}.fate .panel-titles h2{letter-spacing:.005em;font-size:22px}.fate .panel-sub{font-family:var(--font-display);color:var(--washi-dim);font-size:12.5px;font-style:italic}.fate .event-prompt{max-width:56ch;margin-bottom:22px;font-size:16.5px;line-height:1.75}.fate .event-choices{gap:10px}.fate .event-choice{background:color-mix(in srgb, var(--ink) 30%, transparent);border:1px solid var(--edge);border-left:1px solid var(--edge);border-radius:0;flex-wrap:wrap;gap:4px 12px;min-height:56px;padding:14px 16px 13px;transition:background .15s,border-color .15s;position:relative}.fate .event-choice:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;transition:background .15s;position:absolute;top:-1px;left:0;right:26%}.fate .event-choice:hover:not(:disabled){background:color-mix(in srgb, var(--washi) 5%, transparent);border-color:var(--washi-faint)}.fate .event-choice:hover:not(:disabled):before{background:linear-gradient(90deg, var(--vermillion) 0%, color-mix(in srgb, var(--vermillion) 40%, transparent) 55%, transparent 97%)}.fate .event-choice .choice-label{flex:100%;font-size:16px;font-weight:600}.fate .event-choice .choice-detail{white-space:normal;color:var(--washi-dim);font-size:11.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){.fate .event-choice,.fate .event-choice:before{transition:none}}.npc-portrait{float:right;border:3px solid color-mix(in srgb, var(--washi) 80%, var(--ink));width:120px;height:120px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 70%, transparent), 1px 3px 6px #0006, 3px 6px 14px #00000038;background:var(--washi,#e8dcc0);border-radius:0;margin:0 0 10px 16px;overflow:hidden}.npc-portrait img{width:100%;height:100%;image-rendering:pixelated;display:block}.npc-title{font-family:var(--font-display);color:var(--washi-dim);margin-bottom:14px;font-size:15px;font-style:italic}.rare-tell{color:#e6cf8a;margin-top:-10px}.rare-codex{color:#e6cf8a}.npc-standing{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#00000040;border-radius:0;flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:12px;padding:10px 14px;font-size:14px;display:flex;position:relative}.npc-standing:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:0;left:0;right:22%}.npc-standing i{font-style:normal;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--washi-faint);margin-right:6px;font-size:10px}.npc-standing .npc-role{text-transform:capitalize}.npc-standing .npc-spouse{color:var(--vermillion-bright);font-family:var(--font-display);font-style:italic}.npc-tastes{color:var(--washi-dim);margin-bottom:16px;font-size:13px;line-height:1.7}.npc-tastes b{font-family:var(--font-display);letter-spacing:.01em;text-transform:none;color:var(--washi-dim);margin-right:6px;font-size:13px;font-weight:600}.npc-actions{flex-wrap:wrap;gap:8px;display:flex}.npc-actions .primary{background:color-mix(in srgb, var(--gold) 6%, transparent);border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);color:var(--gold);box-shadow:none;flex:auto;font-weight:600}.npc-actions .primary:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:var(--gold);filter:none}.npc-actions .danger{border-color:var(--tier-disaster);color:var(--tier-failure);flex:none}.npc-actions .danger:hover{border-color:var(--vermillion);color:var(--vermillion-bright)}.npc-actions+.outcome-slot:not(:empty){margin-top:16px}.npc-tastes.npc-house{background:#0000002e;border-radius:0;padding:8px 12px;position:relative}.npc-tastes.npc-house:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 45%, var(--edge)) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:0;left:0;right:30%}.npc-actions .ghost{flex:auto}.npc-actions button[disabled]{opacity:.45;cursor:not-allowed}.shop-group+.npc-actions{margin-top:4px}.register{background:var(--washi-grain), radial-gradient(ellipse 130% 110% at 50% 45%, transparent 74%, color-mix(in srgb, var(--ink) 28%, transparent)), linear-gradient(160deg, color-mix(in srgb, var(--washi) 7%, transparent), color-mix(in srgb, var(--washi) 4%, transparent) 45%, color-mix(in srgb, var(--washi) 2%, transparent));border:1px solid var(--line-2);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--washi) 9%, transparent), 0 10px 26px #00000057, 0 2px 6px #00000047;margin:0 0 16px;padding:12px 12px 4px;position:relative}.register:before{content:"";border:1px solid color-mix(in srgb, var(--edge) 70%, transparent);pointer-events:none;position:absolute;inset:3px}.register>.hint{margin:10px 2px}.register-annex{padding-top:4px}.house-crest{border-bottom:2px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:4px 2px 12px;display:flex;position:relative}.house-crest:after{content:"";background:var(--edge);height:1px;position:absolute;bottom:2px;left:0;right:0}.mon-seal{min-width:46px;min-height:46px;font-family:var(--font-display);color:var(--vermillion-bright);background:radial-gradient(120% 95% at 28% 22%, color-mix(in srgb, var(--vermillion) 20%, transparent), transparent 62%), radial-gradient(95% 120% at 75% 82%, color-mix(in srgb, var(--vermillion) 13%, transparent), transparent 58%), color-mix(in srgb, var(--vermillion) 6%, transparent);border:2px solid color-mix(in srgb, var(--vermillion) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--vermillion) 14%, transparent), 0 0 7px color-mix(in srgb, var(--vermillion) 22%, transparent), inset 0 0 6px color-mix(in srgb, var(--vermillion) 18%, transparent);text-shadow:0 0 5px color-mix(in srgb, var(--vermillion) 45%, transparent);cursor:pointer;border-radius:0;padding:6px;font-size:26px;line-height:1;transform:rotate(-2.5deg)}.mon-seal:hover,.mon-seal:focus-visible{background:radial-gradient(120% 95% at 28% 22%, color-mix(in srgb, var(--vermillion) 30%, transparent), transparent 66%), radial-gradient(95% 120% at 75% 82%, color-mix(in srgb, var(--vermillion) 20%, transparent), transparent 60%), color-mix(in srgb, var(--vermillion) 12%, transparent)}.mast-title{flex-direction:column;gap:2px;min-width:0;display:flex}.mast-title b{font-family:var(--font-display);letter-spacing:.005em;color:var(--washi);font-size:21px;font-weight:600;line-height:1.2}.mast-title small{letter-spacing:.02em;color:var(--washi-dim);font-size:11px}.house-body h3.shop-group{letter-spacing:.01em;text-transform:none;color:var(--washi);border-bottom:none;margin:18px 0 8px;padding-bottom:8px;font-size:15px;font-weight:600;position:relative}.house-body h3.shop-group:after{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;bottom:0;left:0;right:30%}.tree-link{color:var(--vermillion);opacity:.85;align-self:center;font-size:20px}.register-entries{margin-top:2px}@media (width>=700px){.register-entries{columns:2;column-rule:1px solid var(--line-2);column-gap:32px}}.member{break-inside:avoid;grid-template-columns:52px minmax(0,1fr);gap:0 14px;min-width:0;max-width:100%;padding:18px 2px 16px 0;display:grid;position:relative}.member:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:0;left:0;right:22%}.member:after{content:"";background:radial-gradient(ellipse 100% 100% at 0% 0%, var(--washi-dim), transparent 75%);width:30px;height:3px;position:absolute;top:0;left:0}.member:nth-child(2n):before{right:32%}.member:nth-child(3n):before{right:14%}.member-margin{flex-direction:column;align-items:center;gap:10px;margin-top:-20px;display:flex;position:relative}.member-margin:after{content:"";background:linear-gradient(180deg, var(--edge) 55%, transparent);width:1px;position:absolute;top:26px;bottom:4px;right:-8px}.member-relk{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-display);letter-spacing:5px;color:var(--washi-dim);font-size:13px;line-height:1}.member-body{min-width:0}.member-foot{grid-column:1/-1;min-width:0}.member-head{align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.member-title{flex-direction:column;gap:2px;min-width:0;display:flex}.member-face{object-fit:cover;width:52px;height:52px;image-rendering:pixelated;border:3px solid color-mix(in srgb, var(--washi) 80%, var(--ink));box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 70%, transparent), 1px 3px 6px #0006, 3px 6px 14px #00000038;background:radial-gradient(ellipse 60% 45% at 50% 38%, #e8e0d012, transparent 70%), var(--ink-soft);flex:none}.member-face-blank{background:radial-gradient(ellipse 60% 45% at 50% 38%, #e8e0d012, transparent 70%), var(--ink-soft);display:inline-block}.member-seal{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--font-display);letter-spacing:3px;color:var(--vermillion-bright);border:1px solid color-mix(in srgb, var(--vermillion) 60%, transparent);background:radial-gradient(130% 90% at 40% 18%, color-mix(in srgb, var(--vermillion) 20%, transparent), transparent 64%), color-mix(in srgb, var(--vermillion) 7%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--vermillion) 12%, transparent), 0 0 5px color-mix(in srgb, var(--vermillion) 18%, transparent);flex:none;align-self:flex-start;margin-left:auto;padding:4px 3px 2px;font-size:11px;line-height:1;transform:rotate(-2deg)}.member-name{font-family:var(--font-display);letter-spacing:.005em;color:var(--washi);font-size:17.5px;font-weight:600;line-height:1.25}.member-rel{letter-spacing:.015em;color:var(--washi-dim);font-size:11.5px;line-height:1.55}.member-lvl{font-family:var(--font-mono);color:var(--gold);letter-spacing:.02em}.member-lvl i{color:var(--washi-faint);font-style:normal}.ident .who .sub .hud-lvl{font-family:var(--font-mono);color:var(--gold)}.member-stats{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--washi);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:5px 10px;font-size:13px;display:grid}.member-stats span{align-items:baseline;gap:5px;min-width:0;display:flex}.member-stats i{font-style:normal;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--washi-faint);font-size:10px}.member-stats .stat-key{color:var(--washi-faint);grid-column:1/-1;margin-bottom:2px;font-size:10px}.member-stats .stat-key b{font-family:var(--font-display);color:var(--vermillion-bright);margin-right:5px;font-size:13px;font-weight:400}.member .attr-row{margin-top:10px}.member .bm{margin-top:13px}.member-stats span.training,.member-stats span.training i{color:var(--gold)}.attr-row small{color:var(--washi-faint);font-size:11px}.attr-row .grade{letter-spacing:.04em;color:var(--gold);font-size:10px;font-weight:600}.sgrade{letter-spacing:.04em;color:var(--washi-faint);font-size:10px;font-weight:600}.match-panel{border:1px solid var(--washi-faint);background:var(--ink-soft);border-radius:0;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.match-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.match-kanji{color:var(--vermillion);font-size:22px;line-height:1}.match-line-name{letter-spacing:.04em;font-weight:600}.match-purity{font-family:var(--font-mono);color:var(--gold);margin-left:auto;font-size:13px}.match-purity small{color:var(--washi-faint)}.match-attrs{flex-direction:column;gap:4px;display:flex}.match-attr{font-family:var(--font-mono);align-items:center;gap:8px;font-size:12px;display:flex}.match-attr .ma-key{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--washi-faint);flex:0 0 34px;font-size:9px}.match-attr .ma-num{text-align:right;flex:none;min-width:62px}.match-attr .ma-num .grade{margin-left:4px}.match-bar{background:var(--ink-raised);border-radius:2px;flex:auto;height:8px;position:relative;overflow:hidden}.match-bar-range{background:var(--jade);position:absolute;top:0;bottom:0}.match-tech{color:var(--gold);margin:0;font-size:13px}.match-tech.lost,.match-strip .lost{color:var(--washi-dim);text-decoration:line-through}.match-risk{border-left:2px solid var(--vermillion);color:var(--vermillion-bright);margin:0;padding:6px 8px;font-size:13px}.match-strip{margin:0 0 8px;font-size:13px}.match-risk-chip{background:var(--vermillion);color:#fff;border-radius:0;margin-left:4px;padding:1px 6px;font-size:12px;display:inline-block}.trait-chips{flex-wrap:wrap;gap:4px;margin:0 0 8px;display:flex}.trait-chip{border:1px solid var(--ink-raised);background:var(--ink-raised);color:var(--washi-dim);border-radius:0;padding:2px 7px;font-size:12px}.trait-chip i{opacity:.75;margin-left:4px;font-size:11px;font-style:italic}.trait-chip.heritable{border-color:var(--jade);color:var(--washi)}.trait-chip.heritable.flaw{border-color:var(--vermillion);color:var(--vermillion-bright)}.pr-preview{align-self:flex-end;margin:-4px 0 4px;padding:4px 10px;font-size:12px}.birth-sheet{flex-direction:column;gap:6px;margin-top:10px;display:flex}.birth-sheet p{margin:0}.birth-name .name-row{align-items:center;margin-top:8px}.birth-house{font-family:var(--font-display);color:var(--washi-dim);font-size:18px}.birth-err:empty{display:none}.birth-err{color:var(--vermillion);margin-top:6px;font-size:12px}.assign-select{appearance:none;width:100%;min-height:44px;color:var(--washi);border:1px solid var(--edge);border-bottom-color:var(--line-2);font-family:var(--font-body);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 L6 6 L10.5 1.5' fill='none' stroke='%239c9284' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center/12px 8px no-repeat,linear-gradient(#00000057,#00000042);border-radius:0;margin-top:10px;padding:5px 32px 5px 10px;font-size:12.5px;transition:border-color .15s}.assign-select:hover{border-color:var(--washi-faint)}.assign-select:focus{border-color:var(--gold);outline:none}.assign-select option{background:var(--ink-soft);color:var(--washi)}.train-progress{font-family:var(--font-mono);margin-top:8px;font-size:11px}.train-progress.idle{color:var(--washi-faint);font-style:italic}.train-progress.lapsed .train-line{color:var(--tier-failure)}.train-line{color:var(--washi-dim);justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.train-line i{color:var(--gold);font-style:normal}.train-bar{border:1px solid var(--edge);background:#0006;border-radius:3px;height:5px;overflow:hidden}.member .train-bar{border-radius:0}.train-bar>span{background:linear-gradient(90deg, var(--jade), var(--gold));height:100%;transition:width .3s;display:block}.house-body .buy{min-height:44px;font-family:var(--font-display);letter-spacing:.02em;color:var(--gold);background:color-mix(in srgb, var(--gold) 6%, transparent);border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);border-radius:0;font-size:14px;transition:background .15s,border-color .15s,color .15s}.house-body .buy:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:var(--gold)}.house-body .buy:active:not(:disabled){background:color-mix(in srgb, var(--gold) 20%, transparent);transform:translateY(1px)}@media (width<=560px){.register{padding:10px 8px 2px}}.ln-open{white-space:nowrap;margin-left:auto}.ln-ledger,.ln-ledger-none{background:#00000038;margin:0 0 12px;padding:10px;font-size:13px;line-height:1.6;position:relative}.ln-ledger:before,.ln-ledger-none:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:0;left:0;right:22%}.ln-ledger .ln-step{font-family:var(--font-mono);color:var(--washi);font-size:15px}.ln-ledger .ln-step-sss{color:var(--gold);font-weight:700}.ln-ledger i{color:var(--washi-faint);margin:0 5px;font-style:normal}.ln-ledger small{color:var(--washi-faint);font-size:11px;display:block}.ln-nav{flex-direction:column;gap:12px;display:flex}.ln-rank{flex-direction:column;gap:6px;display:flex}.ln-rank-label{font-family:var(--font-display);letter-spacing:.01em;text-transform:none;color:var(--washi-dim);font-size:13px;font-weight:600}.ln-rank-label b{color:var(--vermillion-bright);margin-right:6px;font-size:14px;font-weight:400}.ln-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ln-parents{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ln-chip{text-align:left;cursor:pointer;border:1px solid var(--edge);min-height:44px;color:var(--washi-dim);font:inherit;background:#00000040;border-radius:0;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.ln-chip:hover{color:var(--washi);border-color:var(--washi-faint)}.ln-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ln-unknown{color:var(--washi-faint);cursor:default;justify-content:center;font-style:italic}.ln-card{text-align:left;cursor:pointer;border:1px solid var(--edge);width:100%;color:var(--washi-dim);font:inherit;background:linear-gradient(#00000042,#00000029);gap:8px;padding:8px;display:flex}.ln-focus{cursor:default}.ln-focus .ln-face,.ln-focus .ihai{width:56px;height:56px}.ln-card:hover{border-color:var(--washi-faint)}.ln-focus{background:#0000005c;border-top:none;flex-direction:column;position:relative}.ln-focus:before{content:"";background:linear-gradient(90deg, var(--washi-dim) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:-1px;left:0;right:22%}.ln-focus:after{content:"";background:radial-gradient(ellipse 100% 100% at 0% 0%, var(--washi-dim), transparent 75%);width:30px;height:3px;position:absolute;top:-1px;left:0}.ln-focus-row{gap:8px;min-width:0;display:flex}.ln-subject-seal{margin-left:0;position:absolute;top:8px;right:8px}.ln-focus .actions{margin-top:8px}.ln-face-slot{flex:none}.ln-face{width:44px;height:44px}.ln-face-big .ln-face,.ln-face-big .ihai{width:64px;height:64px}.ihai{border:1px solid var(--gold);width:44px;height:44px;color:var(--gold);line-height:1;font-family:var(--font-display);background:linear-gradient(#2a221b,#171210);border-radius:3px 3px 1px 1px;place-items:center;font-size:13px;display:grid}.ihai i,.ihai b{font-size:12px;font-style:normal;font-weight:400;display:block}.ln-body{flex-direction:column;gap:3px;min-width:0;display:flex}.ln-name{font-family:var(--font-display);color:var(--washi);overflow-wrap:anywhere;font-size:14px}.ln-focus .ln-name{font-size:17px}.ln-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ln-blood{font-family:var(--font-mono);color:var(--washi);border:1px solid var(--edge);padding:1px 5px;font-size:12px}.ln-level{font-family:var(--font-mono);color:var(--washi-faint);font-size:11px}.bm{flex-direction:column;gap:4px;display:flex}.bm-head{font-family:var(--font-display);color:var(--washi-dim);font-size:12px}.bm-rows{flex-direction:column;gap:2px;max-height:176px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bm-row{font-family:var(--font-mono);color:var(--washi-dim);grid-template-columns:16px minmax(52px,auto) 1fr 26px;align-items:center;gap:6px;font-size:11px;display:grid}.bm-kanji{font-family:var(--font-display);color:var(--washi);text-align:center;font-size:12px}.bm-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bm-bar{background:linear-gradient(90deg, transparent calc(25% - 1px), color-mix(in srgb, var(--washi) 8%, transparent) calc(25% - 1px) 25%, transparent 25% calc(50% - 1px), color-mix(in srgb, var(--washi) 8%, transparent) calc(50% - 1px) 50%, transparent 50% calc(75% - 1px), color-mix(in srgb, var(--washi) 8%, transparent) calc(75% - 1px) 75%, transparent 75%), #00000073;border:1px solid var(--edge);height:6px;overflow:hidden}.bm-bar>i{background:linear-gradient(90deg, var(--washi) 0%, var(--washi-dim) 70%, color-mix(in srgb, var(--washi-dim) 80%, transparent));border-radius:0 5px 2px 0/0 6px 2px 0;height:100%;display:block}.bm-share{text-align:right;font-variant-numeric:tabular-nums;color:var(--washi)}.bm-shomin .bm-kanji,.bm-shomin .bm-share{color:var(--washi-dim)}.bm-ladder{flex-direction:column;gap:3px;margin-top:4px;display:flex}.bm-pips{flex-wrap:wrap;gap:3px;margin:0;padding:0;list-style:none;display:flex}.bm-pip{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--edge);color:var(--washi-faint);padding:1px 4px;font-size:9px}.bm-pip.lit{color:var(--washi);border-color:var(--washi-faint)}.bm-pip.sig.lit{color:var(--gold);border-color:var(--gold)}.bm-next{color:var(--washi-faint);font-size:10px}.ln-mix,.npc-mix,.match-mix{margin:6px 0}.match-mix-label,.npc-mix-label{font-family:var(--font-display);letter-spacing:.01em;text-transform:none;color:var(--washi-dim);margin-bottom:3px;font-size:12.5px;font-weight:600;display:block}.ln-grades{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.ln-grades .grade{letter-spacing:.04em;color:var(--gold);font-size:10px;font-weight:600}.ln-rel,.ln-life{color:var(--washi-faint);font-size:11px}.ln-couple{flex-direction:column;gap:8px;display:flex}.ln-couple>.ln-card:not(.ln-focus){align-self:stretch}.ln-children{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.ln-children>.ln-card{scroll-snap-align:start;flex:0 0 150px}.ln-sheet-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.ln-shelf{flex-direction:column;gap:6px;display:flex}.ln-ihai-row{border:1px solid var(--edge);background:#00000038;border-radius:0;align-items:center;gap:10px;padding:6px 8px;font-size:12px;display:flex}.ln-ihai-row small{color:var(--washi-faint)}@media (width>=561px){.ln-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.ln-couple{flex-direction:row;align-items:center}.ln-couple>.ln-focus{flex:60%}.ln-couple>.ln-card:not(.ln-focus){flex:40%;align-self:center}}.coin{color:var(--gold);font-family:var(--font-mono)}.coin-mk{color:var(--gold);margin-left:1px}.shop-group{font-family:var(--font-display);letter-spacing:.01em;text-transform:none;color:var(--washi);border-bottom:none;margin:16px 0 8px;padding-bottom:7px;font-size:15px;font-weight:600;position:relative}.shop-group:after{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;bottom:0;left:0;right:30%}.shop-group:first-child{margin-top:4px}.shop-item,.eq-owned{border:1px solid var(--edge);background:#00000047;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:9px 12px;display:flex}.shop-item.is-owned{opacity:.6}.eq-owned.on{border-color:color-mix(in srgb, var(--gold) 60%, var(--edge));background:color-mix(in srgb, var(--gold) 5%, #00000047)}.shop-item-info,.eq-owned-info{flex-direction:column;gap:2px;min-width:0;display:flex}.shop-name,.eq-name{font-family:var(--font-display);color:var(--washi);font-size:15px}.shop-mods,.eq-mods{font-family:var(--font-mono);color:var(--jade);font-size:11px}.shop-mods.blood-tech{color:var(--gold)}.shop-mods.blood-tech i{color:var(--vermillion-bright);font-style:normal}.tech-badge{color:var(--gold);font-family:var(--font-display);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);border-radius:3px;margin-left:2px;padding:0 3px;font-size:.95em}.shop-desc{color:var(--washi-faint);font-size:11px;font-style:italic}.due-soon{color:var(--vermillion-bright);font-weight:600}.buy{min-width:64px;min-height:44px;font-family:var(--font-display);letter-spacing:.02em;color:var(--gold);background:color-mix(in srgb, var(--gold) 6%, transparent);border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);cursor:pointer;border-radius:0;flex:none;padding:8px 14px;font-size:14px;transition:all .13s}.buy:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:var(--gold)}.buy:disabled{opacity:.35;cursor:not-allowed;color:var(--washi-faint);border-color:var(--edge)}.trade-btns{flex-direction:column;flex:none;gap:6px;display:flex}.trade-btns .buy{white-space:nowrap;min-height:44px;padding:6px 10px;font-size:12px}.shop-owned,.eq-equipped{letter-spacing:.06em;text-transform:uppercase;color:var(--jade);flex:none;font-size:12px}.eq-stats{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#0000003d;border-radius:0;flex-wrap:wrap;gap:14px;margin-bottom:14px;padding:12px 14px;font-size:15px;display:flex;position:relative}.eq-stats:before{content:"";background:linear-gradient(90deg, var(--washi-faint) 0%, var(--edge) 55%, transparent 97%);height:2px;position:absolute;top:0;left:0;right:22%}.eq-stat{align-items:baseline;gap:5px;display:flex}.eq-stat i{font-style:normal;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--washi-faint);font-size:9px}.stat-delta{font-size:11px}.stat-delta.up{color:var(--jade)}.stat-delta.down{color:var(--vermillion-bright)}.eq-slots{flex-direction:column;gap:6px;display:flex}.eq-slot{border:1px solid var(--edge);background:#00000038;border-radius:0;align-items:center;gap:12px;padding:8px 12px;display:flex}.eq-slot-label{letter-spacing:.1em;text-transform:uppercase;color:var(--washi-faint);flex:0 0 64px;font-size:10px}.eq-slot-item{font-family:var(--font-display);flex:1;font-size:15px}.eq-slot-item.empty{color:var(--washi-faint);font-style:italic}.ghost.small{min-height:44px;padding:6px 12px;font-size:12px}.duel-modal{z-index:60;background:radial-gradient(ellipse 90% 70% at 50% 46%, #e8e0d00e, transparent 70%), radial-gradient(ellipse 120% 100% at 50% 50%, transparent 45%, #0000008c), var(--washi-grain), #0a0806;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.duel-frame{--duel-btn:56px;--duel-move-btn:57px;--duel-gap:8px;--duel-col-gap:10px;--duel-rail-pad:6px;flex-direction:row;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;min-height:0;display:flex;position:relative}.duel-rail{justify-content:flex-end;align-items:center;gap:var(--duel-gap);min-height:min-content;padding:var(--duel-rail-pad);background:var(--washi-grain), linear-gradient(168deg, #e8e0d00e, #e8e0d004 58%, #e8e0d00a), var(--ink);border:1px solid var(--line-2);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;display:flex;box-shadow:inset 0 0 0 1px #e8e0d00b}.duel-rail-head{flex-direction:column;flex:none;align-items:center;gap:6px;width:100%;display:flex}.duel-rail-head:after{content:"";background:#e8e0d029;width:100%;height:1px}.duel-hanko{width:26px;height:26px;font:400 15px var(--font-display);color:var(--vermillion-bright);border:1px solid #c1362f80;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #c1362f21}.duel-rail-spine{flex:auto;width:100%;min-height:0;overflow:hidden}.duel-rail-track{width:100%;height:100%;display:block}.duel-rail-l{width:calc(var(--duel-move-btn) * 2 + var(--duel-col-gap) + var(--duel-rail-pad) * 2 + 2px)}.duel-rail-r{width:calc(var(--duel-btn) * 2 + var(--duel-col-gap) + var(--duel-rail-pad) * 2 + 2px)}.duel-stage{box-sizing:content-box;border:1px solid var(--line-2);background:#000;flex:none;justify-content:center;align-items:center;line-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #e8e0d012,0 10px 34px #0000009e}.duel-canvas{aspect-ratio:auto;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}.duel-btn .lbl{letter-spacing:.09em;opacity:.8;margin-top:4px;font:700 8px/1 system-ui,sans-serif;display:block}.duel-btn.tiny .lbl{letter-spacing:.06em;font-size:7px}.duel-btn .key{letter-spacing:.04em;opacity:.55;margin-top:3px;font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}@media (hover:none) and (pointer:coarse){.duel-btn .key{display:none}}.duel-move{gap:var(--duel-col-gap);display:flex}.duel-move .duel-btn{width:var(--duel-move-btn);height:var(--duel-move-btn)}.duel-move-group{align-items:stretch;gap:var(--duel-gap);flex-direction:column;display:flex}.duel-move-group .duel-btn.step{width:auto;height:46px}.duel-escape{gap:var(--duel-gap);width:100%;padding-bottom:var(--duel-gap);border-bottom:1px solid #e8e0d024;flex-wrap:wrap;display:flex}.duel-escape>.duel-btn{flex:1 1 calc(50% - var(--duel-gap));min-width:44px}.duel-btn.tiny{width:auto;height:44px;font-size:17px}.duel-btn.kuden{flex:none;width:100%;height:44px;font-size:18px}.duel-lines{gap:var(--duel-col-gap);flex:none;align-items:flex-start;display:flex}.duel-col{align-items:center;gap:var(--duel-gap);flex-direction:column;display:flex}.duel-col-label{height:30px;font:600 9px var(--font-body);letter-spacing:.14em;color:var(--washi-dim);text-transform:uppercase;white-space:nowrap;flex-wrap:wrap;place-content:center;align-items:baseline;gap:4px;display:flex}.duel-col-label i{font:400 8px var(--font-body);letter-spacing:.04em;color:var(--vermillion-bright);opacity:.85;text-align:center;flex:0 0 100%;margin:1px 0 0;font-style:normal}@media (height<=380px){.duel-col-label i{display:none}.duel-col-label{height:19px}}.duel-col-label b{font:400 14px var(--font-display);letter-spacing:0;color:var(--vermillion-bright)}.duel-btn{--slip-ring:inset 0 0 0 1px #e8e0d04d, inset 0 0 0 2px #0a080766;width:var(--duel-btn);height:var(--duel-btn);line-height:1;font:400 22px/1 var(--font-display);color:var(--washi);background:var(--washi-grain), linear-gradient(166deg, #e8e0d024, #e8e0d008 62%, #e8e0d014), var(--raised);box-shadow:var(--slip-ring);clip-path:polygon(0 4px,5px 0,41% 3px,68% 0,calc(100% - 6px) 3px,100% 6px,calc(100% - 3px) 44%,100% calc(100% - 5px),calc(100% - 7px) 100%,57% calc(100% - 3px),6px 100%,0 calc(100% - 6px),3px 51%);touch-action:none;cursor:pointer;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.duel-col .duel-btn:nth-child(2n){clip-path:polygon(0 6px,7px 0,33% 2px,71% 4px,calc(100% - 5px) 0,100% 5px,calc(100% - 2px) 52%,100% calc(100% - 6px),calc(100% - 6px) 100%,44% calc(100% - 4px),8px 100%,0 calc(100% - 4px),4px 46%)}.duel-btn.attack{color:var(--vermillion-bright);box-shadow:var(--slip-ring), inset 0 -4px 0 #c1362feb}.duel-btn.guard{box-shadow:var(--slip-ring), inset 0 -4px 0 #e8e0d04d}.duel-btn.guard.held{background:var(--washi-grain), linear-gradient(166deg, #ffffff2e, #14110f12 70%), var(--washi);color:var(--ink);box-shadow:inset 0 0 0 2px #14110f80,inset 0 -4px #c1362fe6}.duel-btn.guard.held .lbl{opacity:.72}.duel-btn.tiny{color:var(--washi-dim);background:var(--washi-grain), linear-gradient(166deg, #e8e0d00e, #e8e0d003), #1d1815;box-shadow:inset 0 0 0 1px #e8e0d029,inset 0 0 0 2px #0a080766}.duel-btn.kuden{color:var(--washi-dim)}.duel-btn:active{background:var(--vermillion);color:#f6ece0;box-shadow:inset 0 0 0 2px #0a080780}.duel-btn.guard:active{background:var(--washi);color:var(--ink);box-shadow:inset 0 0 0 2px #14110f80,inset 0 -4px #c1362fe6}@media (height<=380px){.duel-frame{--duel-btn:48px;--duel-move-btn:50px;--duel-gap:6px;--duel-col-gap:8px;--duel-rail-pad:6px}.duel-col-label{height:16px;font-size:8px}.duel-col-label b{font-size:12px}.duel-hanko{width:22px;height:22px;font-size:13px}.duel-btn.tiny,.duel-btn.kuden,.duel-move-group .duel-btn.step,.duel-btn.heavy{height:44px}}@media (aspect-ratio<=1){.duel-frame{flex-direction:column}.duel-stage{order:0}.duel-rail-l{order:1}.duel-rail-r{order:2}.duel-rail{flex-flow:wrap;justify-content:center;width:100%}.duel-rail-head,.duel-rail-spine{display:none}.duel-move-group{width:calc(var(--duel-move-btn) * 2 + var(--duel-col-gap));flex:none}.duel-escape{border-bottom:0;flex-wrap:nowrap;width:auto;padding-bottom:0}.duel-escape>.duel-btn{width:var(--duel-btn);flex:none}.duel-btn.kuden{width:auto;min-width:64px}.duel-btn.heavy{width:auto;min-width:72px;height:var(--duel-btn)}.duel-lines{align-items:stretch;gap:var(--duel-gap);flex-direction:column}.duel-col{flex-direction:row;justify-content:center}.duel-col-label{height:auto}}.duel-finisher{z-index:30;background:linear-gradient(#0a080740,#0a0807b8);flex-direction:column;justify-content:flex-end;align-items:center;gap:20px;padding:0 3% 6%;display:flex;position:absolute;inset:0}.duel-finisher-line{font:600 22px var(--font-display);color:var(--washi);letter-spacing:.03em;text-align:center;text-shadow:0 2px 7px #000000e6}.duel-finisher-row{justify-content:space-between;gap:16px;width:100%;max-width:min(720px,64%);display:flex}.duel-finish-btn{cursor:pointer;clip-path:polygon(0 5px,6px 0,39% 3px,70% 0,calc(100% - 7px) 3px,100% 6px,calc(100% - 3px) 46%,100% calc(100% - 6px),calc(100% - 8px) 100%,55% calc(100% - 3px),7px 100%,0 calc(100% - 7px),3px 52%);border:0;border-radius:0;flex-direction:column;align-items:center;gap:5px;min-width:150px;padding:16px 26px;display:flex}.duel-finish-btn .gl{font:400 40px var(--font-display);line-height:1}.duel-finish-btn .nm{font:700 17px var(--font-display);letter-spacing:.18em}.duel-finish-btn .key{letter-spacing:.12em;opacity:.6;font:600 10px ui-monospace,Menlo,monospace}.duel-finish-btn.kill{background:var(--washi-grain), linear-gradient(166deg, #ffffff29, #0a08071f 70%), var(--vermillion);color:#f6ece0;box-shadow:inset 0 0 0 2px #0a080780}.duel-finish-btn.mercy{background:var(--washi-grain), linear-gradient(166deg, #fff3, #14110f12 70%), var(--washi);color:var(--ink);box-shadow:inset 0 0 0 2px #14110f80}@media (hover:none) and (pointer:coarse){.duel-finish-btn .key{display:none}}@media (height<=420px){.duel-finisher-line{font-size:17px}.duel-finish-btn{min-width:128px;padding:12px 20px}.duel-finish-btn .gl{font-size:32px}}.duel-result{z-index:40;background:#0a08078c;place-items:center;display:grid;position:absolute;inset:0}.duel-result .flavor p{margin:0 0 8px}.duel-kuden{z-index:25;background:#080605b8;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:0}.duel-kuden[hidden]{display:none}.duel-kuden-sheet{background:var(--washi-grain), linear-gradient(170deg, #e8e0d012, #e8e0d006), var(--ink-soft);border:1px solid var(--line-2);flex-direction:column;width:min(560px,100%);max-height:100%;padding:10px 14px 12px;display:flex;box-shadow:inset 0 0 0 1px #e8e0d00d}.duel-kuden-head{flex:none;align-items:center;gap:10px;margin-bottom:8px;display:flex}.duel-kuden-head h3{font:600 15px var(--font-display);letter-spacing:.04em}.duel-kuden-mark{width:26px;height:26px;font:400 15px var(--font-display);color:var(--vermillion-bright);border:2px solid #c1362f8c;place-items:center;display:grid}.duel-kuden-body{flex:auto;min-height:0;display:flex;position:relative}.duel-kuden-body:after{content:none}.duel-kuden-body.scrolls:after{content:"▾";pointer-events:none;height:30px;color:var(--washi-dim);text-align:center;background:linear-gradient(#1e1a1700,#1e1a17f7);font-size:13px;line-height:40px;position:absolute;inset:auto 0 0}.duel-kuden-body.scrolls{border-bottom:1px solid #e8e0d029}.duel-kuden-list{flex:auto;min-height:0;display:block;overflow:auto}@media (height<=460px) and (width>=640px){.duel-kuden-sheet{width:min(760px,100%)}.duel-kuden-list{grid-template-columns:1fr 1fr;align-content:start;column-gap:20px;display:grid}.duel-kuden-sheet .duel-kuden-list>div{padding:2px 0;font-size:12px;line-height:1.32}.duel-kuden-head{margin-bottom:4px}.duel-kuden-keys,.duel-kuden-touch{margin:6px 0}.duel-kuden-sheet{padding:8px 12px 10px}}@media (height<=360px) and (width>=640px){.duel-kuden-sheet .duel-kuden-list>div{padding:1px 0;line-height:1.24}.duel-kuden-head h3{font-size:14px}}.duel-kuden-list>div{border-top:1px solid #e8e0d017;gap:12px;padding:4px 0;font-size:12.5px;line-height:1.4;display:flex}.duel-kuden-list dt{font:400 14px var(--font-display);color:var(--washi);flex:0 0 68px}.duel-kuden-list dd{color:var(--washi-dim)}.duel-kuden-list b{color:var(--washi);font-weight:600}.duel-kuden-keys,.duel-kuden-touch{color:var(--washi-faint);flex:none;margin:10px 0 8px;font-size:11px;line-height:1.45}.duel-kuden-sheet>.ghost.small{flex:none;align-self:flex-start}.duel-kuden-touch{display:none}@media (hover:none) and (pointer:coarse){.duel-kuden-keys{display:none}.duel-kuden-touch{display:block}}.parley-modal{z-index:60;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#080605f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.parley-frame{flex-direction:column;align-items:center;gap:8px;width:min(100%,980px);height:100%;min-height:0;display:flex;position:relative}.parley-stage{border:1px solid var(--edge);background:#000;border-radius:4px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;line-height:0;display:flex;overflow:hidden;box-shadow:0 6px 24px #00000080}.parley-canvas{aspect-ratio:960/640;width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;margin:auto;display:block}.parley-hint{text-align:center;margin:0}@media (hover:none) and (pointer:coarse){.parley-hint{display:none}}.parley-approaches{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;padding:0 2px;display:grid}@media (width<=640px){.parley-approaches{grid-template-columns:repeat(2,minmax(0,1fr))}}.parley-btn{min-height:64px;color:var(--washi);border:1px solid var(--edge);cursor:pointer;touch-action:manipulation;text-align:center;background:#272220f2;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 10px;display:flex;position:relative}.parley-btn:disabled{opacity:.45;cursor:default}.parley-btn:not(:disabled):active{background:var(--vermillion);border-color:var(--vermillion-bright);color:var(--washi)}.parley-btn-key{color:var(--washi-dim);font-size:10px;position:absolute;top:4px;left:7px}@media (hover:none) and (pointer:coarse){.parley-btn-key{display:none}}.parley-btn-label{letter-spacing:.02em;font-size:15px;font-weight:700}.parley-btn-hint{color:var(--washi-dim);font-size:11px;line-height:1.25}.parley-btn:not(:disabled):active .parley-btn-hint{color:var(--washi)}.parley-result{z-index:5;background:#0a08078c;place-items:center;display:grid;position:absolute;inset:0}.parley-result .flavor p{margin:0 0 8px}.cutpurse-modal{z-index:60;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#080605f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cutpurse-frame{flex-direction:column;align-items:center;gap:8px;width:min(100%,980px);height:100%;min-height:0;display:flex;position:relative}.cutpurse-stage{border:1px solid var(--edge);background:#000;border-radius:4px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;line-height:0;display:flex;overflow:hidden;box-shadow:0 6px 24px #00000080}.cutpurse-canvas{aspect-ratio:960/640;width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;margin:auto;display:block}.cutpurse-hint{text-align:center;margin:0}@media (hover:none) and (pointer:coarse){.cutpurse-hint{display:none}}.cutpurse-tap-btn{width:100%;min-height:64px;color:var(--washi);border:1px solid var(--vermillion);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#272220f2;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 10px;display:flex}.cutpurse-tap-btn:disabled{opacity:.45;cursor:default;border-color:var(--edge)}.cutpurse-tap-btn:not(:disabled):active{background:var(--vermillion);border-color:var(--vermillion-bright)}.cutpurse-tap-glyph{font-size:20px;font-weight:700;line-height:1}.cutpurse-tap-label{letter-spacing:.12em;color:var(--washi-dim);font-size:12px;font-weight:700}.cutpurse-tap-btn:not(:disabled):active .cutpurse-tap-label{color:var(--washi)}.cutpurse-result{z-index:5;background:#0a08078c;place-items:center;display:grid;position:absolute;inset:0}.cutpurse-result .flavor p{margin:0 0 8px}.infil-modal{z-index:60;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#07060a;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.infil-frame{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative}.infil-stage{background:#000;flex:1;width:100%;min-height:0;line-height:0;overflow:hidden}.infil-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}.infil-hint{text-align:center;pointer-events:none;text-shadow:0 1px 3px #000c;margin:0;position:absolute;bottom:8px;left:0;right:0}.infil-pad{z-index:4;grid-template-areas:".up.""left down right";gap:6px;display:none;position:absolute;bottom:22px;left:18px}@media (hover:none) and (pointer:coarse){.infil-pad{display:grid}.infil-hint{display:none}}.infil-pad-btn{border:1px solid var(--edge);width:56px;height:56px;color:var(--washi-dim);touch-action:none;-webkit-user-select:none;user-select:none;background:#14110f8c;border-radius:10px;font-size:18px}.infil-pad-btn:active{color:var(--washi);background:#3c3228b3}.infil-pad-btn[data-inf-dir=up]{grid-area:up}.infil-pad-btn[data-inf-dir=left]{grid-area:left}.infil-pad-btn[data-inf-dir=down]{grid-area:down}.infil-pad-btn[data-inf-dir=right]{grid-area:right}.farm-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:8px 0 4px;display:grid}.farm-plot{text-align:center;background:#0a080759;border:1px solid #e8e0d024;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.farm-plot.fallow{opacity:.55;border-style:dashed}.farm-plot.ripe{border-color:var(--gold);background:#c9a2271f;box-shadow:inset 0 0 0 1px #c9a2274d}.farm-glyph{color:var(--washi);font-size:26px;line-height:1}.farm-plot.ripe .farm-glyph{color:var(--gold)}.farm-lbl{color:var(--washi-dim);font-size:12px}.farm-sub{color:var(--washi-faint);font-size:11px}.farm-plot.ripe .farm-sub{color:var(--gold);font-weight:600}.pantry-row{border-bottom:1px solid #e8e0d014;align-items:center;gap:10px;padding:6px 2px;display:flex}.pantry-name{color:var(--washi);flex:none}.pantry-eff{color:var(--washi-dim);flex:auto;font-size:12px}.pantry-row .ghost{flex:none}.buff-row{flex-wrap:wrap;gap:6px;margin:6px 0 2px;display:flex}.buff-chip{color:#b7e0a8;background:#7bbf6a29;border:1px solid #7bbf6a66;border-radius:999px;padding:3px 9px;font-size:12px}.court-meter{background:#0006;border-radius:4px;height:22px;margin:6px 0 14px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0009}.court-meter-fill{background:linear-gradient(90deg, var(--gold), #e6c14e);transition:width .25s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 10px #c9a22766}.court-meter-num{font-family:var(--font-mono);color:var(--washi);text-shadow:0 1px 2px #000c;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.court-hall{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:14px;display:grid}.court-card{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);border-left-width:3px;padding:9px 11px}.court-card.court-bloc-0{border-left-color:#5a7fb0}.court-card.court-bloc-1{border-left-color:#b06a5a}.court-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.court-name{font-family:var(--font-display);color:var(--washi);font-size:14px}.court-sway{color:var(--washi-faint);margin:3px 0 7px;font-size:11px}.court-sway .mono{color:var(--gold);letter-spacing:2px}.court-card-acts{gap:6px;display:flex}.court-card-acts button{flex:1;padding:5px 8px;font-size:12px}.court-mood{white-space:nowrap;border:1px solid var(--edge);font-size:10px;font-family:var(--font-body);border-radius:999px;padding:1px 7px}.court-mood.court-unknown{color:var(--washi-faint)}.court-mood.court-hostile{color:var(--vermillion-bright);background:#c1362f1f;border-color:#e0554a80}.court-mood.court-cool{color:#9fb4c9;border-color:#7896b466}.court-mood.court-neutral{color:var(--washi-dim)}.court-mood.court-warm{color:#e6c14e;background:#c9a22714;border-color:#c9a22766}.court-mood.court-ally{color:var(--jade);background:#7bbf6a1f;border-color:#7bbf6a80}.court-note{border-left:2px solid var(--gold);color:var(--washi-dim);background:#c9a2270f;margin-top:4px;padding:9px 11px;font-size:13px;font-style:italic}.court-result{text-align:center;padding:8px 0 4px}.court-result h3{font-family:var(--font-display);color:var(--gold);margin-bottom:6px;font-size:20px}.court-scene-modal{z-index:60;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));background:#080605f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.court-scene-frame{flex-direction:column;align-items:center;gap:8px;width:min(100%,980px);height:100%;min-height:0;display:flex;position:relative}.court-scene-stage{border:1px solid var(--edge);background:#000;border-radius:4px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;line-height:0;display:flex;overflow:hidden;box-shadow:0 6px 24px #00000080}.court-scene-canvas{aspect-ratio:960/640;width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;margin:auto;display:block}.court-scene-actions{flex-shrink:0;width:100%;max-width:980px}.court-scene-actions .court-hall{margin-bottom:8px}.court-scene-actions .actions{justify-content:center;margin-top:0}.court-scene-result{text-align:center;padding:4px 0}.court-scene-result h3{font-family:var(--font-display);color:var(--gold);margin-bottom:4px;font-size:20px}.xp-toasts{z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.xp-toast{background:linear-gradient(180deg, var(--ink-raised), var(--ink-soft));border:1px solid var(--line-2);border-radius:6px;min-width:190px;max-width:264px;padding:8px 12px 10px;animation:.32s cubic-bezier(.2,.8,.2,1) both xp-toast-in;box-shadow:0 6px 18px #00000073}.xp-toast-out{animation:.4s forwards xp-toast-out}.xp-toast-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:13px;display:flex}.xp-stat{color:var(--washi);letter-spacing:.04em;font-weight:600}.xp-amt{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.xp-bar{border:1px solid var(--line);background:#0006;border-radius:4px;height:7px;overflow:hidden}.xp-bar-fill{background:linear-gradient(90deg, var(--gold), #e6c65a);border-radius:4px;width:0;height:100%;transition:width .45s cubic-bezier(.3,.7,.2,1)}.xp-levelup{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-soft), 0 6px 22px #c9a22759;animation:.32s cubic-bezier(.2,.8,.2,1) both xp-toast-in,.6s .1s 2 xp-levelup-pulse}.xp-levelup .xp-bar-fill{background:linear-gradient(90deg, var(--vermillion), var(--gold))}.xp-levelup-tag{text-align:center;letter-spacing:.05em;color:var(--gold);text-transform:uppercase;margin-top:6px;font-size:12px;font-weight:700}@keyframes xp-toast-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes xp-toast-out{to{opacity:0;transform:translateY(-8px)}}@keyframes xp-levelup-pulse{50%{box-shadow:0 0 0 2px var(--gold), 0 8px 26px #c9a22799}}@media (prefers-reduced-motion:reduce){.xp-toast,.xp-toast-out,.xp-levelup{animation:none}.xp-bar-fill{transition:none}}.mainmenu{background:linear-gradient(180deg, #0a08079e, #0a0807d1), var(--menu-bg,none) center / cover no-repeat, radial-gradient(120% 90% at 50% 30%, var(--ink-soft), var(--ink));color:var(--washi);justify-content:center;align-items:center;padding:6vh 6vw;display:flex;position:fixed;inset:0}@media (orientation:portrait){.mainmenu{background:linear-gradient(180deg, #0a08078c, #0a0807d1), var(--menu-bg-portrait,var(--menu-bg,none)) center / cover no-repeat, radial-gradient(120% 90% at 50% 30%, var(--ink-soft), var(--ink))}}.splash{z-index:200;opacity:0;background:#000;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:fixed;inset:0}.splash.in{opacity:1}.splash.out{opacity:0}.splash-inner{flex-direction:column;align-items:center;gap:clamp(1.4rem,5vh,3.2rem);width:100%;padding:6vh 6vw;display:flex}.splash-wordmark{image-rendering:auto;filter:drop-shadow(0 4px 18px #0009);width:min(74vw,520px);height:auto}.splash-stage{width:min(88vw,460px);height:auto;image-rendering:pixelated}.mm-inner{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:460px;display:flex}.mm-crest{border:2px solid var(--vermillion);background:#14110f8c;border-radius:50%;place-items:center;width:96px;height:96px;margin-bottom:22px;display:grid;box-shadow:0 6px 30px #00000080}.mm-crest .kanji{color:var(--washi);font-size:42px;line-height:1}.mm-title{letter-spacing:.14em;color:var(--washi);text-shadow:0 3px 20px #000000b3;margin:0;font-size:clamp(44px,12vw,76px)}.mm-tag{color:var(--washi-dim);letter-spacing:.06em;margin:10px 0 34px;font-size:15px}.mm-btns{flex-direction:column;gap:12px;width:100%;max-width:300px;display:flex}.mm-btn{appearance:none;color:var(--washi);font:inherit;letter-spacing:.08em;cursor:pointer;background:#14110fa8;border:1px solid #e8e0d047;border-radius:10px;padding:15px 18px;font-size:17px;transition:transform 80ms,background .15s,border-color .15s}.mm-btn:hover:not(:disabled){border-color:var(--washi-dim);background:#272220e6}.mm-btn:active:not(:disabled){transform:translateY(1px)}.mm-btn.primary{border-color:var(--vermillion);background:#c1362f38}.mm-btn.primary:hover:not(:disabled){background:#c1362f57}.mm-btn:disabled{opacity:.4;cursor:default}.slot-list{flex-direction:column;gap:8px;max-height:60vh;margin-top:6px;display:flex;overflow-y:auto}.slot-div{letter-spacing:.12em;text-transform:uppercase;color:var(--washi-faint);margin:10px 2px 2px;font-size:12px}.slot-row{text-align:left;appearance:none;border:1px solid var(--line,#e8e0d024);background:var(--ink-soft);width:100%;color:var(--washi);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:11px 14px;transition:background .14s,border-color .14s;display:flex}.slot-row:hover{background:var(--ink-raised);border-color:var(--gold)}.slot-tag{letter-spacing:.08em;min-width:62px;color:var(--gold);text-transform:uppercase;flex:none;font-size:12px}.slot-info{flex-direction:column;gap:2px;min-width:0;display:flex}.slot-name{color:var(--washi);font-size:15px}.slot-name.empty{color:var(--washi-faint);font-style:italic}.slot-meta{color:var(--washi-dim);font-size:12px}.toast{background:var(--ink-raised);color:var(--washi);border:1px solid var(--gold);letter-spacing:.04em;z-index:9999;pointer-events:none;border-radius:999px;padding:11px 20px;font-size:14px;animation:.18s ease-out toast-in;position:fixed;bottom:12%;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #00000080}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.event-choice.ghost{opacity:.82}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.settings-tabs{border-bottom:1px solid var(--washi-faint);gap:.25rem;margin:0 0 .9rem;display:flex}.settings-tab{min-height:44px;color:var(--washi-dim,#b8ad97);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.5rem .4rem;font-size:.95rem}.settings-tab.active{color:var(--washi,#e8e0d0);border-bottom-color:var(--vermillion,#b8452f)}.settings-pane[hidden]{display:none}.settings-hint{color:var(--washi-dim,#b8ad97);margin:.6rem .2rem;font-size:.9rem;line-height:1.5}.bind-alt{color:var(--washi-dim,#8a8272);margin-left:.3rem;font-size:.78rem}.bind-chip{background:var(--ink-soft);min-width:64px;min-height:44px;color:var(--washi,#e8e0d0);border:1px solid var(--washi-faint);font:inherit;cursor:pointer;border-radius:0;padding:.35rem .7rem}.bind-chip.capturing{border-color:var(--vermillion,#b8452f);color:var(--vermillion,#b8452f)}.settings-audio{background:var(--ink-soft);border:1px solid var(--washi-faint);border-radius:0;flex-direction:column;gap:.55rem;margin:0 0 1rem;padding:.75rem .9rem;display:flex}.settings-audio .set-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-audio .set-label{letter-spacing:.02em;color:var(--washi);font-size:.95rem}.settings-audio input[type=range]{max-width:62%;accent-color:var(--vermillion);cursor:pointer;flex:auto}.settings-audio input[type=range]:disabled{opacity:.4;cursor:not-allowed}.settings-audio input[type=checkbox]{width:1.75rem;height:1.75rem;accent-color:var(--vermillion);cursor:pointer}.fps-meter{z-index:80;color:#8fd18f;letter-spacing:.02em;white-space:pre;text-align:right;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0000008c;border-radius:4px;max-width:96vw;padding:2px 6px;font:600 12px/1.3 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:fixed;bottom:6px;right:6px;overflow:hidden}.ident .who .nm,.member-name,.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.member-title .member-name{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box}.ln-step{flex-direction:column;align-items:center;line-height:1.1;display:inline-flex}.ln-step small{opacity:.7;font-size:10px}.ln-parents.ln-adoptive{border-top:1px dashed var(--ink-3,#8a7f70);padding-top:6px}.duel-btn.heavy{width:100%;height:46px;color:var(--vermillion-bright);flex:none;box-shadow:inset 0 0 0 1px #c1362f6b}.duel-btn.heavy.armed{background:var(--washi-grain), linear-gradient(166deg, #ffffff24, #0a08071a 70%), var(--vermillion);color:#f6ece0;box-shadow:inset 0 0 0 1px #0a080773}@media (hover:hover) and (pointer:fine){.duel-frame{--duel-btn:60px;--duel-move-btn:60px}.duel-move-group .duel-btn.step,.duel-btn.heavy,.duel-btn.tiny,.duel-btn.kuden{height:58px;font-size:20px}}
