:root{--color-primary: #0064e0;--color-primary-deep: #0457cb;--color-canvas: #ffffff;--color-surface: #f1f4f7;--color-ink-deep: #0a1317;--color-ink: #1c1e21;--color-charcoal: #444950;--color-steel: #5d6c7b;--color-hairline: #ced0d4;--color-hairline-soft: #dee3e9;--color-disabled: #bcc0c4;--color-success: #31a24c;--color-attention: #f2a918;--color-warning: #f7b928;--color-critical: #e41e3f;color:var(--color-ink);background:var(--color-surface);font-family:Optimistic VF,Montserrat,Helvetica,Arial,Noto Sans,sans-serif;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-height:44px;border:0;border-radius:100px;padding:12px 28px;cursor:pointer;font-size:14px;font-weight:700;line-height:1.43}button:disabled{background:var(--color-disabled);border-color:var(--color-disabled);color:var(--color-canvas);cursor:not-allowed}input{min-height:44px;min-width:0;border:1px solid var(--color-hairline);border-radius:8px;padding:0 12px;color:var(--color-ink);background:var(--color-canvas)}input:focus{border:2px solid #1876f2;outline:0}input:disabled{background:var(--color-surface);color:var(--color-steel)}.app-shell{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.topbar,.panel,.status-grid>div,.notice,.transaction{border:1px solid var(--color-hairline-soft);background:var(--color-canvas)}.topbar{display:flex;justify-content:space-between;gap:32px;align-items:center;border-radius:32px;padding:32px}.eyebrow{margin:0 0 8px;color:var(--color-steel);font-size:12px;font-weight:700;line-height:1.33}.topbar h1{margin:0;color:var(--color-ink-deep);font-size:clamp(36px,5vw,64px);font-weight:500;line-height:1.16}.lede{max-width:680px;margin:16px 0 0;color:var(--color-slate, #4b4c4f);font-size:18px;line-height:1.44}.wallet-box,.button-row,.panel-header,.transaction-heading,.progress-label{display:flex;gap:12px;align-items:center}.wallet-box{justify-content:flex-end;flex-wrap:wrap}.button-primary{background:var(--color-ink-deep);color:var(--color-canvas)}.button-secondary{background:transparent;border:2px solid var(--color-ink-deep);color:var(--color-ink-deep)}.notice{margin-top:16px;border-radius:16px;padding:14px 18px;color:var(--color-ink-deep)}.notice-warning{border-color:#f2a91873;background:#f7b9282e}.badge{display:inline-flex;min-height:24px;align-items:center;justify-content:center;border-radius:100px;padding:4px 10px;color:var(--color-canvas);font-size:12px;font-weight:700;line-height:1.33;white-space:nowrap}.badge-neutral,.badge-preparing,.badge-submitted,.badge-pending{background:var(--color-attention)}.badge-success,.badge-ended,.badge-confirmed{background:var(--color-success)}.badge-warning,.badge-active{background:var(--color-primary)}.badge-participation-waiting,.badge-participation-single{background:var(--color-attention)}.badge-participation-recommended{background:var(--color-success)}.badge-participation-aboveRecommended,.badge-critical,.badge-failed{background:var(--color-critical)}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0}.status-grid>div{min-width:0;border-radius:16px;padding:18px}.status-grid span,.hint,.empty,.reason-list,.candidate-state,.result-chip{color:var(--color-steel);font-size:14px;line-height:1.43}.status-grid strong{display:block;margin-top:6px;overflow-wrap:anywhere;color:var(--color-ink-deep);font-size:16px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.content-grid.single-column{grid-template-columns:1fr}.panel{min-width:0;border-radius:24px;padding:24px;margin-bottom:16px}.panel-header{justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.panel h2{margin:0;color:var(--color-ink-deep);font-size:24px;font-weight:500;line-height:1.25}.candidate-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.candidate-form label{grid-column:1 / -1;color:var(--color-steel);font-size:14px}.button-row{margin-top:16px;flex-wrap:wrap}.progress-block{margin-top:18px}.participation{display:grid;gap:8px;margin-bottom:16px}.participation p{margin:0;color:var(--color-steel);font-size:14px;line-height:1.43}.progress-label{justify-content:space-between;margin-bottom:8px}progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:100px;background:var(--color-surface)}progress::-webkit-progress-bar{background:var(--color-surface)}progress::-webkit-progress-value,progress::-moz-progress-bar{background:var(--color-primary)}.reason-list{display:grid;gap:6px;margin:16px 0 0;padding-left:20px}.candidate-list{display:grid;gap:12px;list-style:none;margin:0 0 16px;padding:0}.candidate-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.radio-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;border:1px solid rgba(10,19,23,.12);border-radius:8px;padding:16px 20px;background:var(--color-canvas)}.radio-option.selected{border:2px solid #0143b5}.radio-option strong,.results li{overflow-wrap:anywhere}.candidate-index{color:var(--color-ink-deep);font-size:14px;font-weight:700}.candidate-state,.result-chip{white-space:nowrap}.transaction{display:grid;gap:8px;border-radius:16px;padding:18px}.transaction-heading{justify-content:space-between}.transaction-id{display:block;max-width:100%;overflow-wrap:anywhere;border-radius:8px;background:var(--color-surface);padding:10px 12px;color:var(--color-ink-deep);font-size:12px}.retry-guidance{color:var(--color-critical);font-weight:700}.results ul{display:grid;gap:8px;padding-left:20px}@media (max-width: 1023px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (max-width: 767px){.app-shell{width:min(100% - 24px,640px);padding:16px 0 32px}.topbar,.status-grid{grid-template-columns:1fr;display:grid}.topbar{border-radius:24px;padding:24px}.topbar h1{font-size:36px}.wallet-box,.button-row{align-items:stretch;flex-direction:column}.status-grid{gap:12px}.candidate-form,.candidate-list li,.radio-option{grid-template-columns:1fr}.candidate-state,.result-chip{white-space:normal}}@media (min-width: 1360px){.app-shell{width:min(1360px,calc(100% - 64px))}.status-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
