:root{color-scheme:dark;--bg:#111715;--surface:#1b2520;--line:#354333;--text:#eee8d6;--muted:#a0ad9c;--accent:#c4dda3;--danger:#df9b8d;font-family:'Segoe UI',Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#243124 0,transparent 55%),var(--bg);color:var(--text);min-height:100dvh}button,input,select{font:inherit}button{min-height:46px;padding:12px 15px;border:1px solid #53664e;border-radius:9px;background:#2a392d;color:var(--text);cursor:pointer;touch-action:manipulation;box-shadow:0 2px 0 #0b100d66;transition:background .14s,border-color .14s,transform .08s,opacity .14s}button:hover{background:#354936;border-color:#78906f}button:active{transform:translateY(1px);box-shadow:inset 0 1px 2px #0006}button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}button[aria-busy=true]{opacity:.75}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.player-shell{width:min(100%,480px);padding:22px 18px max(24px,env(safe-area-inset-bottom));margin:auto}.player-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:28px}.player-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:22px;letter-spacing:-1px;color:var(--accent)}.player-brand span{font-size:9px;font-weight:550;letter-spacing:.14em;max-width:65px;line-height:1.5}.connection{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.connection:before{content:'';width:6px;height:6px;border-radius:50%;background:#d4b475}.connection[data-status=connected]:before{background:#abc890}.connection[data-status=offline]:before{background:#d99889}.hero-card{background:linear-gradient(125deg,#2e3b2970,transparent 70%),var(--surface);border:1px solid #43533a;border-radius:16px;padding:22px;box-shadow:0 12px 38px #0002}.hero-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.hero-heading>div:first-child{min-width:0}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:5px;overflow-wrap:anywhere}h1{margin:0;font-size:29px;line-height:1.12;font-weight:580;letter-spacing:-.7px;overflow-wrap:anywhere}.health-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:20px}.ac-badge{flex-shrink:0;border:1px solid #5e7050;border-radius:10px;padding:7px 12px;min-width:58px;text-align:center;display:flex;flex-direction:column;background:#202c21}.ac-badge span{font-size:10px;color:#b4c39f;letter-spacing:.1em}.ac-badge b{font-size:22px;font-weight:600}.hp-caption{display:flex;flex-direction:column;align-items:flex-start;font-size:10px;letter-spacing:.1em;color:var(--muted);gap:4px}.hp-caption #lifeState{letter-spacing:0;text-align:left}.hp-number{display:flex;align-items:baseline;gap:8px;margin:4px 0 15px;font-variant-numeric:tabular-nums}.hp-number b{font-size:66px;font-weight:480;letter-spacing:-3px;line-height:1.1}.hp-number>span{font-size:22px;color:var(--muted)}.hp-number>small{margin-left:auto;font-size:11px;color:#b6c79f}.hp-track{height:9px;border-radius:9px;background:#3b4535;overflow:hidden}.hp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8aa86a,#d4e8b2);border-radius:9px;transition:width .25s}.hero-card[data-life=dying] .hp-track i,.hero-card[data-life=dead] .hp-track i{background:var(--danger)}.hero-card[data-life=dying],.hero-card[data-life=dead]{border-color:#986359}.hero-card[data-life=dead] #lifeState,.hero-card[data-life=dying] #lifeState{color:#ecab9b}.hp-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.hp-actions button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12px;min-height:70px;font-weight:650;padding:10px 6px}.hp-actions button>span{font-size:23px;font-weight:500;line-height:1}.damage{background:#4a2e29;border-color:#a26458;color:#ffd2c6}.damage:hover{background:#5b3731;border-color:#c27a6c}.heal,.confirm-hp{background:var(--accent);border-color:#e0f2c6;color:#172417;font-weight:750}.heal:hover,.confirm-hp:hover{background:#d5edb7;border-color:#efffd9}.session-caption{text-align:center;margin-top:13px;font-size:10px;color:#99a88e}.effects-section{margin-top:29px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:18px;font-weight:550;letter-spacing:-.2px;margin:0}.counter{border:1px solid #465740;border-radius:20px;min-width:27px;text-align:center;padding:3px 7px;font-size:11px;color:var(--accent)}.section-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:7px 0 16px}.effects-list{display:flex;flex-direction:column;gap:10px}.player-effect{border:1px solid #3f5137;background:#1d281f;border-radius:11px;padding:16px}.player-effect[data-kind=check_disadvantage],.player-effect[data-tone=negative]{border-color:#634f40;background:#29241d}.effect-head{display:flex;align-items:center;gap:11px}.effect-symbol{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:#37482a;border-radius:8px;color:#d8eac3;font-size:18px}.effect-head strong{display:block;font-size:16px;font-weight:560;overflow-wrap:anywhere}.player-effect p{margin:8px 0;font-size:12px;line-height:1.55;color:#b4bfaa;overflow-wrap:anywhere}.effect-viewer{font-size:10px;color:#929f8b;overflow-wrap:anywhere}.player-effect button{width:100%;margin-top:13px;font-size:12px}.empty-effects{padding:24px 18px;text-align:center;border:1px dashed #3b4736;border-radius:10px;color:var(--muted);font-size:13px;line-height:1.7}.empty-effects span{display:block;font-size:22px;color:#8ba476;margin-bottom:4px}.recent-panel{margin-top:24px;border-top:1px solid #34412f;padding-top:6px}.recent-panel summary{cursor:pointer;padding:16px 0;font-size:12px;color:var(--muted);min-height:44px}.player-recent{font-size:12px;display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #303b2c}.player-recent span{min-width:0;overflow-wrap:anywhere}.player-recent small{font-size:10px;color:var(--muted);white-space:nowrap}.player-footer{display:flex;justify-content:space-between;align-items:center;padding:30px 0 8px;font-size:9px;color:#a5b596;letter-spacing:.12em}.player-footer span{letter-spacing:0;color:#7d8e74}.connection-notice,.action-result{border:1px solid #8b6b47;background:#30291d;border-radius:10px;padding:15px;margin:0 0 16px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.connection-notice strong{font-weight:600}.connection-notice p{color:#ccbc9f;margin:7px 0 12px;font-size:12px}.connection-notice button{font-size:12px;width:100%}.action-result{margin-top:16px;margin-bottom:0;background:#26331f;border-color:#6a8150}.action-result[data-status=error]{border-color:#906057;background:#352523}.death-marks{text-align:center;color:#e5a594;letter-spacing:.5em;font-size:19px;margin-top:12px}dialog{width:min(calc(100% - 28px),420px);border:1px solid #61764e;border-radius:16px;background:#1d291f;color:var(--text);padding:23px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#080e0ace;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.dialog-head button{min-width:44px;font-size:24px;background:none;padding:6px;border:0;box-shadow:none}dialog label{font-size:12px;color:var(--muted)}#hpValue{display:block;width:100%;text-align:center;font-size:52px;background:#111a12;color:var(--text);border:1px solid #647d4d;border-radius:10px;padding:12px;margin-top:8px;outline:none}#hpValue:focus{border-color:#c6dea6;box-shadow:0 0 0 2px #c6dea622}.quick-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.quick-values button{padding:9px}.confirm-hp{width:100%;min-height:50px}.two-buttons{display:flex;gap:8px}.two-buttons button{flex:1;min-width:0;font-size:12px}.two-buttons select,.two-buttons input{min-height:44px;min-width:0;border:1px solid #53664e;border-radius:9px;background:#18221b;color:var(--text);padding:8px}#effectConfirmText{font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted)}[hidden]{display:none!important}@media(max-width:370px){.player-shell{padding:18px 14px}.hero-card{padding:18px}h1{font-size:26px}.hp-number b{font-size:58px}.hp-actions{gap:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.player-effect p{white-space:pre-wrap}
