.tsuma-shell {
    --tsuma-coral: #ff6f91;
    --tsuma-pink: #f2a6ff;
    --tsuma-violet: #9b8cff;
    --tsuma-blue: #73d5ff;
    --tsuma-mint: #61e6bd;
    --tsuma-gold: #ffc96b;
    --tsuma-surface: rgba(15, 20, 37, .88);
    --tsuma-surface-2: rgba(22, 28, 49, .78);
    --tsuma-border: rgba(182, 171, 255, .14);
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 1720px;
    margin: 0 auto;
    padding: 4px 4px 56px;
}

.tsuma-shell::before,
.tsuma-shell::after {
    position: fixed;
    z-index: -1;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    content: "";
    filter: blur(110px);
    pointer-events: none;
    opacity: .12;
}

.tsuma-shell::before { top: 5vh; right: 4vw; background: var(--tsuma-coral); }
.tsuma-shell::after { bottom: 0; left: 18vw; background: var(--tsuma-violet); }

.tsuma-hero {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    margin-bottom: 22px;
    padding: 30px 34px;
    border: 1px solid rgba(196, 179, 255, .17);
    border-radius: 26px;
    background:
        radial-gradient(circle at 88% 22%, rgba(255, 111, 145, .22), transparent 28%),
        linear-gradient(128deg, rgba(32, 27, 60, .96), rgba(12, 18, 34, .96) 58%, rgba(24, 30, 52, .94));
    box-shadow: 0 28px 75px rgba(3, 7, 18, .32), inset 0 1px rgba(255,255,255,.04);
}

.tsuma-hero::after {
    position: absolute;
    right: -68px;
    bottom: -130px;
    width: 360px;
    height: 360px;
    border: 48px solid rgba(255,255,255,.025);
    border-radius: 50%;
    content: "";
}

.tsuma-hero-content { position: relative; z-index: 1; max-width: 810px; }
.tsuma-hero-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.tsuma-hero-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.tsuma-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 11px; color: #f4b7ff; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.tsuma-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--tsuma-coral); box-shadow: 0 0 18px var(--tsuma-coral); }
.tsuma-hero-title { margin: 0; color: #fff; font-size: clamp(2rem, 3vw, 3.15rem); font-weight: 760; letter-spacing: -.045em; line-height: 1.02; }
.tsuma-hero-copy { max-width: 720px; margin: 13px 0 0; color: #aeb8cd; font-size: .97rem; line-height: 1.62; }
.tsuma-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.tsuma-hero-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 5px 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #cbd4e7; background: rgba(255,255,255,.045); font-size: .76rem; }
.tsuma-hero-pill strong { color: #fff; font-weight: 700; }

.tsuma-panel {
    border: 1px solid var(--tsuma-border);
    border-radius: 20px;
    background: linear-gradient(155deg, rgba(21, 27, 47, .9), rgba(11, 16, 30, .94));
    box-shadow: 0 18px 48px rgba(3, 7, 16, .22), inset 0 1px rgba(255,255,255,.025);
}

.tsuma-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 15px; }
.tsuma-panel-title { display: flex; align-items: center; gap: 12px; }
.tsuma-panel-icon { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(160,145,255,.18); border-radius: 12px; color: #c7bdff; background: rgba(139,124,255,.09); }
.tsuma-panel-title h2, .tsuma-panel-title h3 { margin: 0; color: #f4f6fb; font-size: 1rem; font-weight: 720; }
.tsuma-panel-title p { margin: 3px 0 0; color: #7f8aa2; font-size: .76rem; }
.tsuma-panel-body { padding: 5px 22px 22px; }

.tsuma-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.tsuma-stat-card { position: relative; min-height: 126px; overflow: hidden; padding: 18px 19px; border: 1px solid var(--tsuma-border); border-radius: 18px; background: rgba(16,22,40,.87); }
.tsuma-stat-card::after { position: absolute; right: -18px; bottom: -28px; width: 90px; height: 90px; border-radius: 50%; content: ""; background: var(--stat-color, var(--tsuma-violet)); filter: blur(32px); opacity: .13; }
.tsuma-stat-top { display: flex; justify-content: space-between; color: #8c98af; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.tsuma-stat-icon { color: var(--stat-color, var(--tsuma-violet)); }
.tsuma-stat-value { margin-top: 13px; color: #fff; font-size: 1.62rem; font-weight: 760; letter-spacing: -.035em; }
.tsuma-stat-note { margin-top: 4px; color: #727f98; font-size: .72rem; }

.tsuma-metrics-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, .8fr); gap: 16px; margin-bottom: 16px; }
.tsuma-rank-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tsuma-chart-legend { display: flex; gap: 11px; flex-wrap: wrap; color: #7f8ba2; font-size: .65rem; }
.tsuma-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.tsuma-chart-legend i { width: 7px; height: 7px; border-radius: 2px; }
.tsuma-chart-legend .commands, .tsuma-chart-bars .commands { background: #73d5ff; }
.tsuma-chart-legend .claims, .tsuma-chart-bars .claims { background: #f2a6ff; }
.tsuma-chart-legend .trades, .tsuma-chart-bars .trades { background: #ffc96b; }
.tsuma-chart-wrap { padding: 0 17px 18px; }
.tsuma-chart-grid { display: flex; align-items: stretch; gap: clamp(4px, .7vw, 11px); height: 250px; padding: 18px 8px 0; border-top: 1px solid rgba(255,255,255,.045); background: repeating-linear-gradient(to bottom, transparent 0, transparent 59px, rgba(255,255,255,.035) 60px); }
.tsuma-chart-column { display: grid; flex: 1 1 0; min-width: 8px; grid-template-rows: minmax(0, 1fr) 24px; gap: 6px; }
.tsuma-chart-bars { display: flex; align-items: flex-end; justify-content: center; gap: clamp(1px, .2vw, 4px); min-height: 0; }
.tsuma-chart-bars span { width: min(8px, 30%); min-height: 3px; border-radius: 4px 4px 1px 1px; opacity: .82; transition: height .25s ease; }
.tsuma-chart-column:hover .tsuma-chart-bars span { opacity: 1; filter: brightness(1.15); }
.tsuma-chart-label { overflow: hidden; color: #66738a; font-size: .58rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-economy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 0 17px 18px; border: 1px solid rgba(255,255,255,.05); border-radius: 14px; background: rgba(255,255,255,.05); }
.tsuma-economy-cell { display: flex; min-height: 86px; padding: 13px; flex-direction: column; justify-content: center; background: #11172a; }
.tsuma-economy-cell span { color: #7b879f; font-size: .65rem; }
.tsuma-economy-cell strong { margin-top: 5px; color: #fff; font-size: 1.12rem; }
.tsuma-economy-cell small { margin-top: 2px; color: #59667d; font-size: .61rem; }
.tsuma-event-pulse { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 17px; margin-bottom: 16px; padding: 20px 22px; background: radial-gradient(circle at 0 50%, rgba(255,111,145,.12), transparent 34%), linear-gradient(145deg, rgba(26,24,47,.94), rgba(12,18,32,.95)); }
.tsuma-event-pulse-mark { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.05); font-size: 1.45rem; }
.tsuma-event-pulse h2 { margin: -7px 0 3px; color: #f5f6fa; font-size: 1rem; }
.tsuma-event-pulse p { margin: 0; color: #8995aa; font-size: .76rem; }
.tsuma-rank-list { display: grid; gap: 7px; }
.tsuma-rank-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 11px; min-height: 48px; padding: 7px 9px; border-radius: 12px; background: rgba(255,255,255,.026); }
.tsuma-rank-index, .tsuma-rank-image { display: grid; width: 32px; height: 32px; place-items: center; overflow: hidden; border-radius: 10px; color: #8e9ab0; background: rgba(255,255,255,.05); font-size: .72rem; font-weight: 800; }
.tsuma-rank-image img { width: 100%; height: 100%; object-fit: cover; }
.tsuma-rank-label { min-width: 0; color: #dbe1ed; font-size: .82rem; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-rank-meta { margin-top: 2px; color: #6f7c94; font-size: .67rem; }
.tsuma-rank-value { color: #fff; font-size: .82rem; font-weight: 760; }
.tsuma-rank-bar { grid-column: 2 / 4; height: 3px; overflow: hidden; margin-top: -5px; border-radius: 999px; background: rgba(255,255,255,.045); }
.tsuma-rank-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tsuma-violet), var(--tsuma-coral)); }

.tsuma-workspace { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 16px; align-items: start; }
.tsuma-library { position: sticky; top: 18px; max-height: calc(100vh - 120px); overflow: hidden; }
.tsuma-library-scroll { display: grid; gap: 8px; max-height: calc(100vh - 270px); padding: 4px 12px 14px; overflow: auto; }
.tsuma-library-item { width: 100%; padding: 13px; border: 1px solid transparent; border-radius: 14px; color: inherit; text-align: left; background: rgba(255,255,255,.025); transition: .18s ease; }
.tsuma-library-item:hover { border-color: rgba(177,161,255,.16); transform: translateY(-1px); background: rgba(255,255,255,.04); }
.tsuma-library-item.selected { border-color: color-mix(in srgb, var(--item-color, #9b8cff) 45%, transparent); background: color-mix(in srgb, var(--item-color, #9b8cff) 10%, rgba(255,255,255,.02)); box-shadow: inset 3px 0 var(--item-color, #9b8cff); }
.tsuma-library-name { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #e8ebf4; font-size: .82rem; font-weight: 720; }
.tsuma-library-meta { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: #728097; font-size: .68rem; }
.tsuma-status-dot { width: 6px; height: 6px; border-radius: 50%; background: #68758b; }
.tsuma-status-dot.live { background: var(--tsuma-mint); box-shadow: 0 0 10px rgba(97,230,189,.55); }

.tsuma-editor { min-width: 0; }
.tsuma-editor-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 17px; margin-bottom: 13px; }
.tsuma-editor-toolbar-left, .tsuma-editor-toolbar-right { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.tsuma-unsaved { display: inline-flex; align-items: center; gap: 7px; color: #ffc9d7; font-size: .72rem; }
.tsuma-unsaved::before { width: 6px; height: 6px; border-radius: 50%; content: ""; background: var(--tsuma-coral); }

.tsuma-designer-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 16px; align-items: start; }
.tsuma-form-section { padding: 20px; }
.tsuma-section-kicker { margin-bottom: 14px; color: #8d99b0; font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tsuma-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tsuma-form-span { grid-column: 1 / -1; }

.tsuma-floor-tabs { display: flex; align-items: center; gap: 8px; padding: 12px; overflow-x: auto; }
.tsuma-floor-tab { flex: 0 0 auto; min-width: 78px; padding: 10px 12px; border: 1px solid transparent; border-radius: 12px; color: #8591a8; background: rgba(255,255,255,.025); text-align: left; }
.tsuma-floor-tab strong { display: block; color: #dce2ee; font-size: .78rem; }
.tsuma-floor-tab small { display: block; margin-top: 2px; font-size: .62rem; }
.tsuma-floor-tab.selected { border-color: rgba(156,140,255,.3); color: #c9c1ff; background: rgba(139,124,255,.1); }

.tsuma-scene-board { display: grid; gap: 10px; }
.tsuma-scene-tabs, .tsuma-preview-modes { display: flex; gap: 6px; margin-bottom: 14px; overflow-x: auto; }
.tsuma-scene-tabs button, .tsuma-preview-modes button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; color: #7f8ca4; background: rgba(255,255,255,.025); font-size: .69rem; white-space: nowrap; }
.tsuma-scene-tabs button span { display: grid; min-width: 18px; height: 18px; padding: 0 4px; place-items: center; border-radius: 6px; color: #8e9ab0; background: rgba(255,255,255,.06); font-size: .58rem; }
.tsuma-scene-tabs button.selected, .tsuma-preview-modes button.selected { border-color: rgba(155,140,255,.25); color: #d4ceff; background: rgba(155,140,255,.1); }
.tsuma-preview-modes { padding: 0 16px; }
.tsuma-slider-label { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 0; color: #8c98ad; font-size: .72rem; }
.tsuma-slider-label strong { color: #e7ebf4; }
.tsuma-scene-card { position: relative; padding: 14px; border: 1px solid rgba(255,255,255,.065); border-radius: 14px; background: rgba(255,255,255,.023); }
.tsuma-scene-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.tsuma-scene-number { color: #8d99af; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.tsuma-discord-preview { position: sticky; top: 18px; overflow: hidden; }
.tsuma-preview-image { width: 100%; max-height: 235px; object-fit: cover; background: #0a0f1c; }
.tsuma-preview-placeholder { display: grid; min-height: 175px; place-items: center; color: #536077; background: radial-gradient(circle, rgba(139,124,255,.08), transparent 62%); }
.tsuma-discord-card { margin: 16px; padding: 15px 16px; border-left: 4px solid var(--preview-accent, #9b8cff); border-radius: 4px 12px 12px 4px; background: #2b2d31; }
.tsuma-discord-author { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; color: #b5bac1; font-size: .73rem; }
.tsuma-discord-avatar { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, var(--tsuma-violet), var(--tsuma-coral)); font-size: .6rem; font-weight: 900; }
.tsuma-discord-title { color: #f2f3f5; font-size: .9rem; font-weight: 700; }
.tsuma-discord-copy { margin-top: 8px; color: #dbdee1; font-size: .79rem; line-height: 1.52; white-space: pre-line; }
.tsuma-discord-footer { margin-top: 12px; color: #949ba4; font-size: .66rem; }

.tsuma-event-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 16px; align-items: start; }
.tsuma-timeline { position: sticky; top: 18px; }
.tsuma-timeline-list { display: grid; gap: 2px; padding: 2px 13px 16px; }
.tsuma-timeline-item { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; width: 100%; padding: 12px 10px; border: 0; border-radius: 13px; color: inherit; text-align: left; background: transparent; }
.tsuma-timeline-item:hover, .tsuma-timeline-item.selected { background: rgba(255,255,255,.04); }
.tsuma-timeline-line { position: relative; display: flex; justify-content: center; }
.tsuma-timeline-line::after { position: absolute; top: 19px; bottom: -21px; width: 1px; content: ""; background: rgba(255,255,255,.075); }
.tsuma-timeline-item:last-child .tsuma-timeline-line::after { display: none; }
.tsuma-timeline-node { z-index: 1; width: 10px; height: 10px; margin-top: 4px; border: 2px solid #131a2b; border-radius: 50%; background: #68748b; box-shadow: 0 0 0 2px #68748b; }
.tsuma-timeline-node.live { background: var(--tsuma-mint); box-shadow: 0 0 0 2px var(--tsuma-mint), 0 0 14px rgba(97,230,189,.45); }
.tsuma-timeline-node.scheduled { background: var(--tsuma-violet); box-shadow: 0 0 0 2px var(--tsuma-violet); }
.tsuma-timeline-name { color: #e4e8f1; font-size: .82rem; font-weight: 720; }
.tsuma-timeline-date { margin-top: 4px; color: #728097; font-size: .67rem; }

.tsuma-event-preview { position: relative; min-height: 230px; overflow: hidden; border: 1px solid var(--tsuma-border); border-radius: 20px; background: #11182a; }
.tsuma-event-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.tsuma-event-preview::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(10,15,28,.98), rgba(10,15,28,.72) 60%, rgba(10,15,28,.3)); }
.tsuma-event-preview-content { position: relative; z-index: 1; max-width: 560px; padding: 28px; }
.tsuma-event-preview-content h2 { margin: 0; color: #fff; font-size: 1.65rem; letter-spacing: -.025em; }
.tsuma-event-preview-content p { margin: 9px 0 0; color: #aab4c7; font-size: .82rem; line-height: 1.55; }
.tsuma-event-emoji { display: grid; width: 46px; height: 46px; place-items: center; margin-bottom: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.07); font-size: 1.35rem; }
.tsuma-event-designer-stack { display: grid; gap: 14px; }
.tsuma-duration-callout { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 11px; border-radius: 10px; color: #9ca8bd; background: rgba(255,255,255,.035); font-size: .72rem; }

.tsuma-maintenance-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 16px; align-items: start; }
.tsuma-task-catalog { position: sticky; top: 18px; }
.tsuma-task-card { margin: 0 12px 12px; padding: 15px; border: 1px solid rgba(255,201,107,.18); border-radius: 15px; background: linear-gradient(145deg, rgba(255,201,107,.08), rgba(255,255,255,.02)); }
.tsuma-task-card-icon { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 12px; border-radius: 12px; color: var(--tsuma-gold); background: rgba(255,201,107,.1); }
.tsuma-task-card h3 { margin: 0; color: #f0f2f7; font-size: .85rem; }
.tsuma-task-card p { margin: 6px 0 0; color: #7c899f; font-size: .7rem; line-height: 1.5; }
.tsuma-task-card-muted { border-color: rgba(255,255,255,.06); opacity: .58; filter: saturate(.45); }
.tsuma-preflight-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; padding: 0 20px 18px; }
.tsuma-preflight-card { padding: 13px; border: 1px solid rgba(255,255,255,.06); border-radius: 13px; background: rgba(255,255,255,.025); }
.tsuma-preflight-card strong { display: block; color: #fff; font-size: 1.25rem; }
.tsuma-preflight-card span { color: #7c899f; font-size: .67rem; }
.tsuma-preview-table { width: 100%; border-collapse: collapse; }
.tsuma-preview-table th { padding: 10px 12px; color: #738097; font-size: .63rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.06); }
.tsuma-preview-table td { padding: 11px 12px; color: #cfd6e4; font-size: .76rem; border-bottom: 1px solid rgba(255,255,255,.045); }
.tsuma-preview-table tr:last-child td { border: 0; }
.tsuma-status-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: .62rem; font-weight: 800; }
.tsuma-status-badge.ready, .tsuma-status-badge.succeeded { color: #8ff2d3; background: rgba(97,230,189,.11); }
.tsuma-status-badge.linked { color: #bfc5d0; background: rgba(255,255,255,.06); }
.tsuma-status-badge.warning { color: #ffd58c; background: rgba(255,201,107,.11); }
.tsuma-status-badge.failed { color: #ff9db2; background: rgba(255,111,145,.11); }
.tsuma-sql-box { max-height: 330px; padding: 17px; overflow: auto; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; color: #aab6ca; background: #090e1a; font: .72rem/1.55 "Cascadia Code", Consolas, monospace; white-space: pre; }
.tsuma-maintenance-filter { display: flex; align-items: center; gap: 6px; padding: 0 20px 12px; color: #68758c; font-size: .66rem; }
.tsuma-maintenance-filter button { padding: 5px 9px; border: 1px solid rgba(255,255,255,.06); border-radius: 8px; color: #7f8ba1; background: rgba(255,255,255,.025); font-size: .66rem; }
.tsuma-maintenance-filter button.selected { border-color: rgba(255,201,107,.22); color: #ffd58c; background: rgba(255,201,107,.08); }
.tsuma-maintenance-filter span { margin-left: auto; }
.tsuma-resolver-progress { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(97,230,189,.14); border-radius: 999px; color: #7f8ba1; background: rgba(97,230,189,.05); font-size: .68rem; }
.tsuma-resolver-progress strong { color: var(--tsuma-mint); }
.tsuma-resolver-stack { display: grid; gap: 10px; padding: 0 18px 18px; }
.tsuma-resolver-case { display: grid; grid-template-columns: minmax(190px,.65fr) 28px minmax(0,1.35fr); align-items: center; gap: 13px; padding: 14px; border: 1px solid rgba(255,201,107,.11); border-radius: 16px; background: rgba(255,255,255,.022); transition: border-color .18s ease, background .18s ease; }
.tsuma-resolver-case.resolved { border-color: rgba(97,230,189,.18); background: linear-gradient(120deg, rgba(97,230,189,.045), rgba(255,255,255,.018)); }
.tsuma-resolver-event { display: flex; align-items: center; gap: 11px; min-width: 0; }
.tsuma-character-portrait { display: grid; flex: 0 0 auto; width: 58px; height: 68px; overflow: hidden; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; color: #6f7c93; background: radial-gradient(circle, rgba(155,140,255,.14), rgba(255,255,255,.03)); }
.tsuma-character-portrait img { width: 100%; height: 100%; object-fit: cover; }
.tsuma-resolver-copy, .tsuma-candidate-copy { display: flex; min-width: 0; flex-direction: column; }
.tsuma-resolver-kicker { margin-bottom: 3px; color: #ffbfce !important; font-size: .57rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tsuma-resolver-copy strong, .tsuma-candidate-copy strong { overflow: hidden; color: #edf0f6; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-resolver-copy span, .tsuma-candidate-copy span { overflow: hidden; margin-top: 3px; color: #9ba7ba; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-resolver-copy small, .tsuma-candidate-copy small { margin-top: 4px; color: #66738a; font-size: .6rem; }
.tsuma-resolver-arrow { color: #65728a; text-align: center; }
.tsuma-candidate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.tsuma-candidate-card { position: relative; display: grid; min-width: 0; grid-template-columns: 48px minmax(0,1fr) 20px; align-items: center; gap: 9px; padding: 9px; border: 1px solid rgba(255,255,255,.065); border-radius: 13px; color: inherit; text-align: left; background: rgba(255,255,255,.025); transition: .16s ease; }
.tsuma-candidate-card:hover { border-color: rgba(155,140,255,.24); transform: translateY(-1px); background: rgba(155,140,255,.055); }
.tsuma-candidate-card.selected { border-color: rgba(97,230,189,.34); background: rgba(97,230,189,.075); box-shadow: inset 3px 0 var(--tsuma-mint); }
.tsuma-candidate-card .tsuma-character-portrait { width: 48px; height: 56px; border-radius: 10px; }
.tsuma-candidate-state { color: #647187; }
.tsuma-candidate-card.selected .tsuma-candidate-state { color: var(--tsuma-mint); }
.tsuma-current-link { position: absolute; top: 5px; right: 7px; padding: 2px 5px; border-radius: 999px; color: #b5bdd0; background: rgba(255,255,255,.08); font-size: .5rem; font-weight: 750; }
.tsuma-sql-disclosure { padding: 16px 18px; }
.tsuma-sql-disclosure summary { display: flex; align-items: center; gap: 9px; color: #a5b0c3; cursor: pointer; font-size: .76rem; font-weight: 700; list-style: none; }
.tsuma-sql-disclosure[open] summary { margin-bottom: 15px; }
.tsuma-run-history { padding: 0 18px 18px; }
.tsuma-run-row { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 11px; min-height: 62px; padding: 9px 5px; border-bottom: 1px solid rgba(255,255,255,.05); }
.tsuma-run-row:last-child { border-bottom: 0; }
.tsuma-run-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 10px; color: #ff9db2; background: rgba(255,111,145,.09); }
.tsuma-run-icon.succeeded { color: #8ff2d3; background: rgba(97,230,189,.09); }
.tsuma-run-row strong { display: block; color: #d9dfeb; font-size: .77rem; }
.tsuma-run-row small { display: block; margin-top: 3px; color: #6f7b92; font-size: .65rem; }
.tsuma-run-meta { text-align: right; }
.tsuma-empty { display: grid; min-height: 210px; padding: 28px; place-items: center; color: #738097; text-align: center; }

/* Tsuma handling */
.tsuma-character-shell { max-width: 1780px; }
.tsuma-character-hero { background: radial-gradient(circle at 84% 12%, rgba(115,213,255,.2), transparent 25%), radial-gradient(circle at 100% 100%, rgba(255,111,145,.15), transparent 32%), linear-gradient(128deg, rgba(29,25,57,.98), rgba(11,18,33,.97) 56%, rgba(19,34,49,.96)); }
.tsuma-character-stat-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin-bottom: 16px; }
.tsuma-character-stat { position: relative; min-height: 112px; overflow: hidden; padding: 17px; border: 1px solid var(--tsuma-border); border-radius: 17px; background: linear-gradient(150deg,rgba(22,29,49,.93),rgba(12,18,32,.96)); }
.tsuma-character-stat::after { position: absolute; right: -25px; bottom: -38px; width: 95px; height: 95px; border-radius: 50%; content: ""; background: var(--stat-accent,#9b8cff); filter: blur(28px); opacity: .18; }
.tsuma-character-stat > * { position: relative; z-index: 1; display: block; }
.tsuma-character-stat span { color: #8d99ae; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tsuma-character-stat strong { margin-top: 10px; color: #fff; font-size: 1.55rem; letter-spacing: -.04em; }
.tsuma-character-stat small { margin-top: 3px; overflow: hidden; color: #66738a; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-character-stat.is-normal { --stat-accent: #73d5ff; }.tsuma-character-stat.is-event { --stat-accent: #f2a6ff; }.tsuma-character-stat.is-badge { --stat-accent: #ffc96b; }.tsuma-character-stat.is-live,.tsuma-character-stat.is-ready { --stat-accent: #61e6bd; }.tsuma-character-stat.is-attention { --stat-accent: #ff6f91; }.tsuma-character-stat.is-community { --stat-accent: #9b8cff; }

.tsuma-catalog-filter-panel { display: grid; grid-template-columns: minmax(260px,1fr) auto; align-items: center; gap: 12px; margin-bottom: 14px; padding: 14px; }
.tsuma-catalog-selects { display: grid; grid-template-columns: repeat(3,170px); gap: 9px; }
.tsuma-character-main-layout { display: grid; grid-template-columns: 345px minmax(0,1fr); align-items: start; gap: 15px; }
.tsuma-catalog-rail { position: sticky; top: 16px; overflow: hidden; }
.tsuma-catalog-rail-header { display: flex; min-height: 66px; align-items: center; justify-content: space-between; padding: 15px 16px 11px; border-bottom: 1px solid rgba(255,255,255,.05); }
.tsuma-catalog-rail-header div { display: flex; flex-direction: column; }.tsuma-catalog-rail-header span { color: #727f96; font-size: .59rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.tsuma-catalog-rail-header strong { margin-top: 3px; color: #e8ecf4; font-size: .82rem; }
.tsuma-catalog-cards { display: grid; align-content: start; gap: 4px; max-height: calc(100vh - 225px); min-height: 360px; padding: 9px; overflow-y: auto; }
.tsuma-catalog-card { position: relative; display: grid; min-width: 0; grid-template-columns: 62px minmax(0,1fr); gap: 11px; padding: 8px; border: 1px solid transparent; border-radius: 14px; color: inherit; text-align: left; background: transparent; transition: background .17s ease,border-color .17s ease,transform .17s ease; }
.tsuma-catalog-card:hover { border-color: rgba(255,255,255,.07); background: rgba(255,255,255,.035); transform: translateX(2px); }.tsuma-catalog-card.is-selected { border-color: rgba(155,140,255,.25); background: linear-gradient(105deg,rgba(155,140,255,.12),rgba(115,213,255,.035)); box-shadow: inset 3px 0 #9b8cff; }
.tsuma-character-art { display: grid; width: 100%; height: 100%; min-height: 0; overflow: hidden; place-items: center; object-fit: cover; color: #5e6b82; background: radial-gradient(circle at 45% 30%,rgba(155,140,255,.14),rgba(255,255,255,.025)); }
.tsuma-character-art-empty { font-size: .8rem; }.tsuma-catalog-card > .tsuma-character-art { width: 62px; height: 74px; border: 1px solid rgba(255,255,255,.07); border-radius: 11px; }
.tsuma-catalog-card-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; }.tsuma-catalog-card-copy > strong { overflow: hidden; margin: 4px 0 2px; color: #e7ebf3; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }.tsuma-catalog-card-copy > small { overflow: hidden; color: #748198; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.tsuma-catalog-card-topline,.tsuma-catalog-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; }.tsuma-catalog-card-topline em { padding: 2px 6px; border-radius: 999px; color: #9edfff; background: rgba(115,213,255,.09); font-size: .49rem; font-style: normal; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.tsuma-catalog-card-topline em.is-event { color: #f7baff; background: rgba(242,166,255,.1); }.tsuma-catalog-card-topline em.is-badge { color: #ffd58d; background: rgba(255,201,107,.1); }.tsuma-catalog-card-topline small,.tsuma-catalog-card-meta small { color: #606d83; font-size: .55rem; }.tsuma-catalog-card-meta { justify-content: flex-start; margin-top: 6px; }
.tsuma-catalog-warning { position: absolute; top: 8px; right: 7px; color: #ffc96b; }.tsuma-catalog-pagination { display: flex; justify-content: center; padding: 9px; border-top: 1px solid rgba(255,255,255,.05); }.tsuma-catalog-empty { display: grid; min-height: 300px; place-content: center; justify-items: center; color: #56647b; text-align: center; }.tsuma-catalog-empty strong { margin-top: 9px; color: #aeb8c9; font-size: .8rem; }.tsuma-catalog-empty span { margin-top: 4px; font-size: .65rem; }

.tsuma-character-main { min-width: 0; }.tsuma-character-toolbar { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; padding: 10px 14px; }.tsuma-character-toolbar > div { display: flex; align-items: center; gap: 10px; }.tsuma-character-workspace { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 13px; }.tsuma-character-editor-stack,.tsuma-character-aside { display: grid; gap: 13px; }.tsuma-character-aside { position: sticky; top: 16px; }
.tsuma-character-section { padding: 21px; }.tsuma-character-section > header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }.tsuma-character-section > header > div { min-width: 0; }.tsuma-character-section > header span:not(.tsuma-character-section-icon) { display: block; color: #9c8cff; font-size: .56rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.tsuma-character-section > header h2 { margin: 3px 0 0; color: #f3f5f9; font-size: 1rem; }.tsuma-character-section > header p { margin: 4px 0 0; color: #76839a; font-size: .68rem; line-height: 1.5; }
.tsuma-character-section-icon { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(155,140,255,.18); border-radius: 12px; color: #bfb6ff; background: rgba(155,140,255,.08); }.tsuma-character-section-icon.is-coral { color: #ff9db2; background: rgba(255,111,145,.08); }.tsuma-character-section-icon.is-blue { color: #9fe5ff; background: rgba(115,213,255,.08); }.tsuma-character-section-icon.is-pink { color: #f7baff; background: rgba(242,166,255,.08); }.tsuma-character-section-icon.is-mint { color: #8ef1d1; background: rgba(97,230,189,.08); }
.tsuma-character-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }.tsuma-character-form-span { grid-column: 1/-1; }.tsuma-field-note { margin: 5px 0 0; color: #657289; font-size: .63rem; }.tsuma-character-option { display: grid; min-width: 330px; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 9px; }.tsuma-character-option .tsuma-character-art { width: 38px; height: 46px; border-radius: 8px; }.tsuma-character-option span { min-width: 0; }.tsuma-character-option strong,.tsuma-character-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.tsuma-character-option small { color: #748197; font-size: .64rem; }
.tsuma-behavior-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }.tsuma-behavior-option { display: flex; min-height: 105px; align-items: flex-start; justify-content: space-between; gap: 7px; padding: 13px; border: 1px solid rgba(255,255,255,.06); border-radius: 14px; background: rgba(255,255,255,.022); }.tsuma-behavior-option.is-on { border-color: rgba(97,230,189,.14); background: linear-gradient(140deg,rgba(97,230,189,.05),rgba(255,255,255,.018)); }.tsuma-behavior-option > span { display: flex; min-width: 0; flex-direction: column; }.tsuma-behavior-option svg { color: #79869d; }.tsuma-behavior-option strong { margin-top: 9px; color: #dfe4ee; font-size: .72rem; }.tsuma-behavior-option small { margin-top: 4px; color: #69768d; font-size: .59rem; line-height: 1.35; }
.tsuma-first-edition { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.05); }.tsuma-first-edition > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }.tsuma-first-edition strong { color: #dfe4ed; font-size: .72rem; }.tsuma-first-edition span { color: #68758c; font-size: .6rem; }.tsuma-first-edition-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; margin-top: 11px; }.tsuma-first-edition-grid button { display: flex; min-height: 76px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.06); border-radius: 11px; color: #77849a; background: rgba(255,255,255,.022); }.tsuma-first-edition-grid button.is-claimed { border-color: rgba(255,201,107,.2); color: #ffd58d; background: rgba(255,201,107,.07); }.tsuma-first-edition-grid button small { color: #657187; font-size: .49rem; }.tsuma-first-edition-grid button strong { margin: 3px 0; color: inherit; font-size: 1rem; }.tsuma-first-edition-grid button span { color: inherit; font-size: .5rem; }

.tsuma-series-picker { max-width: 640px; }.tsuma-series-list { display: grid; gap: 7px; margin-top: 13px; }.tsuma-series-token { display: grid; grid-template-columns: 30px minmax(0,1fr) auto 32px; align-items: center; gap: 9px; min-height: 52px; padding: 7px 8px; border: 1px solid rgba(255,255,255,.055); border-radius: 12px; background: rgba(255,255,255,.022); }.tsuma-series-order { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; color: #9edfff; background: rgba(115,213,255,.09); font-size: .62rem; font-weight: 800; }.tsuma-series-token strong,.tsuma-series-token small { display: block; }.tsuma-series-token strong { color: #dce2ec; font-size: .72rem; }.tsuma-series-token small { margin-top: 2px; color: #68758c; font-size: .58rem; }.tsuma-series-token em,.tsuma-series-option em { padding: 3px 7px; border-radius: 999px; color: #f6baff; background: rgba(242,166,255,.09); font-size: .52rem; font-style: normal; }.tsuma-series-empty { display: flex; align-items: center; gap: 8px; padding: 12px; border: 1px dashed rgba(255,255,255,.08); border-radius: 11px; color: #69768c; font-size: .66rem; }.tsuma-series-option { display: flex; min-width: 350px; align-items: center; justify-content: space-between; gap: 14px; }.tsuma-series-option strong,.tsuma-series-option small { display: block; }.tsuma-series-option small { color: #718098; font-size: .62rem; }
.tsuma-image-add-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 9px; }.tsuma-image-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 15px; }.tsuma-image-card { overflow: hidden; border: 1px solid rgba(255,255,255,.065); border-radius: 15px; background: rgba(255,255,255,.02); }.tsuma-image-card.is-default { border-color: rgba(255,201,107,.23); box-shadow: inset 0 0 0 1px rgba(255,201,107,.05); }.tsuma-image-preview { position: relative; height: 210px; margin-bottom: 11px; overflow: hidden; background: #090e1a; }.tsuma-image-preview .tsuma-character-art { object-position: center 20%; }.tsuma-image-preview > span { position: absolute; top: 9px; left: 9px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 999px; color: #ffe1a8; background: rgba(12,16,27,.8); font-size: .56rem; font-weight: 800; backdrop-filter: blur(6px); }.tsuma-image-card > .mud-input-control { padding: 0 11px; }.tsuma-image-actions { display: grid; grid-template-columns: auto 1fr repeat(3,32px); align-items: center; gap: 2px; padding: 8px; }.tsuma-image-empty { display: grid; min-height: 180px; margin-top: 14px; place-content: center; justify-items: center; border: 1px dashed rgba(255,255,255,.08); border-radius: 14px; color: #5d6b82; text-align: center; }.tsuma-image-empty strong { margin-top: 8px; color: #aeb8c9; font-size: .75rem; }.tsuma-image-empty span { margin-top: 3px; font-size: .6rem; }

.tsuma-character-preview { overflow: hidden; }.tsuma-preview-stage { position: relative; min-height: 390px; overflow: hidden; background: #090e19; }.tsuma-preview-art { position: absolute; inset: 0; }.tsuma-preview-art .tsuma-character-art { object-position: center 18%; }.tsuma-preview-gradient { position: absolute; inset: 0; background: linear-gradient(to bottom,rgba(8,12,22,.02) 25%,rgba(8,12,22,.3) 50%,rgba(8,12,22,.98) 95%),linear-gradient(110deg,rgba(155,140,255,.12),transparent 45%); }.tsuma-preview-stage.is-event .tsuma-preview-gradient { background: linear-gradient(to bottom,transparent 20%,rgba(20,8,26,.4) 55%,rgba(12,8,20,.98) 95%),linear-gradient(110deg,rgba(242,166,255,.16),transparent 48%); }.tsuma-preview-stage.is-badge .tsuma-preview-gradient { background: linear-gradient(to bottom,transparent 20%,rgba(30,20,4,.35) 55%,rgba(16,12,6,.98) 95%),linear-gradient(110deg,rgba(255,201,107,.16),transparent 48%); }.tsuma-preview-kind { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; align-items: center; justify-content: space-between; }.tsuma-preview-kind span,.tsuma-preview-kind small { padding: 5px 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #e2e7f0; background: rgba(9,13,23,.58); font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; backdrop-filter: blur(8px); }.tsuma-preview-copy { position: absolute; right: 20px; bottom: 20px; left: 20px; }.tsuma-preview-copy > span { color: #b8aefe; font-size: .56rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.tsuma-preview-copy h2 { margin: 5px 0 0; color: #fff; font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.08; }.tsuma-preview-copy p { margin: 7px 0 0; color: #a9b3c5; font-size: .67rem; line-height: 1.48; }.tsuma-preview-facts { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }.tsuma-preview-facts div { padding: 11px; text-align: center; }.tsuma-preview-facts div+div { border-left: 1px solid rgba(255,255,255,.05); }.tsuma-preview-facts span,.tsuma-preview-facts strong { display: block; }.tsuma-preview-facts span { color: #68758c; font-size: .52rem; text-transform: uppercase; }.tsuma-preview-facts strong { margin-top: 3px; color: #edf0f5; font-size: .8rem; }.tsuma-preview-state { display: flex; gap: 5px; flex-wrap: wrap; padding: 12px; }.tsuma-preview-state span { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border-radius: 8px; color: #ff9db2; background: rgba(255,111,145,.07); font-size: .55rem; }.tsuma-preview-state span.is-on { color: #8ff1d1; background: rgba(97,230,189,.07); }
.tsuma-character-impact { display: flex; align-items: flex-start; gap: 11px; padding: 15px; }.tsuma-character-impact strong { color: #dfe4ed; font-size: .73rem; }.tsuma-character-impact p { margin: 4px 0 0; color: #6f7c92; font-size: .61rem; line-height: 1.5; }.tsuma-badge-grant { padding: 17px; }.tsuma-badge-grant h3 { margin: 5px 0 0; color: #edf0f5; font-size: .92rem; }.tsuma-badge-grant p { margin: 6px 0 14px; color: #748197; font-size: .65rem; line-height: 1.5; }.tsuma-badge-grant .mud-button-root { margin-top: 10px; }.tsuma-character-welcome { display: grid; min-height: 520px; place-content: center; justify-items: center; padding: 40px; color: #627087; text-align: center; }.tsuma-character-welcome > svg { font-size: 3rem; }.tsuma-character-welcome h2 { margin: 8px 0 0; color: #e8ecf3; font-size: 1.15rem; }.tsuma-character-welcome p { max-width: 420px; margin: 8px 0 0; color: #748197; font-size: .72rem; line-height: 1.55; }

.tsuma-event-batch { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); align-items: start; gap: 14px; }.tsuma-event-batch-compose { padding: 22px; }.tsuma-event-batch-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.tsuma-event-batch-header h2 { margin: 4px 0 0; color: #f3f5f9; font-size: 1.25rem; }.tsuma-event-batch-header p { max-width: 690px; margin: 7px 0 0; color: #76839a; font-size: .7rem; line-height: 1.55; }.tsuma-event-batch-switches { display: flex; gap: 18px; flex-wrap: wrap; margin: 15px 0; padding: 11px 13px; border: 1px solid rgba(255,255,255,.055); border-radius: 12px; background: rgba(255,255,255,.02); }.tsuma-event-batch-preview { position: sticky; top: 16px; overflow: hidden; }.tsuma-event-batch-preview-head { display: flex; align-items: center; justify-content: space-between; min-height: 67px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.05); }.tsuma-event-batch-preview-head div span,.tsuma-event-batch-preview-head div strong { display: block; }.tsuma-event-batch-preview-head div span { color: #758298; font-size: .58rem; text-transform: uppercase; }.tsuma-event-batch-preview-head div strong { margin-top: 3px; color: #e8ecf3; font-size: .85rem; }.tsuma-event-batch-preview-head > span { padding: 4px 8px; border-radius: 999px; color: #ffbdcc; background: rgba(255,111,145,.08); font-size: .55rem; font-weight: 800; }.tsuma-event-batch-preview-head > span.is-ready { color: #8ff1d1; background: rgba(97,230,189,.08); }.tsuma-event-batch-preview > .mud-alert { margin-inline: 12px; }.tsuma-event-batch-rows { max-height: 540px; padding: 7px 10px; overflow-y: auto; }.tsuma-event-batch-rows article { display: grid; grid-template-columns: 26px minmax(0,1fr) 20px; align-items: center; gap: 8px; padding: 9px 5px; border-bottom: 1px solid rgba(255,255,255,.045); }.tsuma-event-batch-rows article > svg { color: #61e6bd; }.tsuma-event-batch-rows article.has-error > svg,.tsuma-event-batch-rows article.has-error em { color: #ff819e; }.tsuma-event-batch-row-number { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; color: #78859b; background: rgba(255,255,255,.04); font-size: .56rem; }.tsuma-event-batch-rows strong,.tsuma-event-batch-rows small,.tsuma-event-batch-rows em { display: block; }.tsuma-event-batch-rows strong { overflow: hidden; color: #dae0ea; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.tsuma-event-batch-rows small { margin-top: 2px; color: #657289; font-size: .56rem; }.tsuma-event-batch-rows em { margin-top: 3px; font-size: .53rem; font-style: normal; }.tsuma-event-batch-rows > p { color: #68758c; font-size: .6rem; text-align: center; }.tsuma-event-batch-footer { padding: 13px; border-top: 1px solid rgba(255,255,255,.05); }.tsuma-event-batch-footer p { margin: 0 0 9px; color: #68758c; font-size: .58rem; text-align: center; }

@media (max-width: 1280px) {
    .tsuma-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tsuma-rank-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tsuma-designer-grid { grid-template-columns: 1fr; }
    .tsuma-discord-preview { position: static; }
    .tsuma-resolver-case { grid-template-columns: 1fr; }
    .tsuma-resolver-arrow { transform: rotate(90deg); }
    .tsuma-character-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tsuma-character-workspace { grid-template-columns: minmax(0,1fr) 285px; }
    .tsuma-image-grid,.tsuma-behavior-grid { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
    .tsuma-workspace, .tsuma-event-layout, .tsuma-maintenance-layout, .tsuma-metrics-grid { grid-template-columns: 1fr; }
    .tsuma-library, .tsuma-timeline, .tsuma-task-catalog { position: static; max-height: none; }
    .tsuma-library-scroll { max-height: 310px; }
    .tsuma-hero-row { flex-direction: column; }
    .tsuma-hero-actions { justify-content: flex-start; }
    .tsuma-character-main-layout,.tsuma-character-workspace,.tsuma-event-batch { grid-template-columns: 1fr; }
    .tsuma-catalog-rail,.tsuma-character-aside,.tsuma-event-batch-preview { position: static; }
    .tsuma-catalog-cards { max-height: 430px; min-height: 0; }
    .tsuma-character-aside { grid-row: 1; }.tsuma-preview-stage { min-height: 340px; }
    .tsuma-catalog-filter-panel { grid-template-columns: 1fr; }.tsuma-catalog-selects { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 650px) {
    .tsuma-shell { padding-inline: 0; }
    .tsuma-hero { padding: 24px 21px; border-radius: 20px; }
    .tsuma-stat-grid, .tsuma-rank-grid, .tsuma-form-grid, .tsuma-preflight-grid { grid-template-columns: 1fr; }
    .tsuma-panel-header { align-items: flex-start; }
    .tsuma-editor-toolbar { align-items: flex-start; flex-direction: column; }
    .tsuma-preview-table { min-width: 680px; }
    .tsuma-candidate-grid { grid-template-columns: 1fr; }
    .tsuma-character-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tsuma-catalog-selects,.tsuma-character-form-grid { grid-template-columns: 1fr; }.tsuma-character-form-span { grid-column: auto; }
    .tsuma-character-toolbar { align-items: flex-start; flex-direction: column; }.tsuma-character-toolbar > div:last-child { width: 100%; justify-content: flex-end; }
    .tsuma-first-edition > div:first-child { align-items: flex-start; flex-direction: column; gap: 4px; }.tsuma-first-edition-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .tsuma-image-add-row { grid-template-columns: 1fr; }.tsuma-image-grid { grid-template-columns: 1fr; }.tsuma-character-section { padding: 17px; }
    .tsuma-series-token { grid-template-columns: 30px minmax(0,1fr) 32px; }.tsuma-series-token em { display: none; }
    .tsuma-event-batch-switches { flex-direction: column; gap: 3px; }
}
