:root{--bg:#f4f5f7;--bg-glow:#fff;--panel:#fff;--panel-2:#f0f2f5;--line:#d5d9e0;--text:#1c2026;--muted:#5d6673;--track:#aab1bd;--current:#e6eefb;--portrait-a:#e1e6ee;--portrait-b:#cdd5e1;--accent:#2563eb;--accent-ink:#fff;--danger:#d13438;--good:#1f8f55;--d-yellow:#e0a800;--d-green:#2e9e4f;--d-blue:#2f8fe0;--d-red:#d83a3f;--d-purple:#7c4dde;--d-black:#262a33;--d-white:#fff;--sym-good:#4cd08a;--sym-bad:#ff7b7b;--sym-triumph:#f2c230;--sym-despair:#ff4d4d;--sym-dark-bg:#d9dce3;--sym-dark-border:#8b93a8;--radius:14px;--gap:12px;--tap:44px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--bg:#0f1115;--bg-glow:#1a1d24;--panel:#181b21;--panel-2:#20242c;--line:#333945;--text:#eceef2;--muted:#9aa3b2;--track:#55606f;--current:#26334d;--portrait-a:#2b3342;--portrait-b:#1a1f29;--accent:#6ea8ff;--accent-ink:#0b1220;--danger:#ff6b6b;--good:#4cd08a;--d-black:#3a3f4b;--d-white:#f4f4f8}[data-theme=coruscant]{--bg:#0e1424;--bg-glow:#1d2744;--panel:#151d33;--panel-2:#1d2744;--line:#2d3b63;--text:#e8edf8;--muted:#9db0d4;--track:#4a5c88;--current:#24335c;--portrait-a:#2a3a66;--portrait-b:#151d33;--accent:#3da9fc;--accent-ink:#04131f;--danger:#ff7b7b;--good:#4cd08a;--d-black:#3a4258}[data-theme=tatooine]{--bg:#f6ead4;--bg-glow:#fff6e4;--panel:#fff6e4;--panel-2:#f0dfbd;--line:#d9c294;--text:#3a2a12;--muted:#6e5a38;--track:#b8a070;--current:#f3e3c0;--portrait-a:#ead7ae;--portrait-b:#d9c294;--accent:#b4571d;--accent-ink:#fff}[data-theme=endor]{--bg:#eaf1e4;--bg-glow:#f7fbf3;--panel:#f7fbf3;--panel-2:#dce8d2;--line:#b8cda8;--text:#1d2b17;--muted:#4d6144;--track:#8fa87e;--current:#e0ecd6;--portrait-a:#d2e2c4;--portrait-b:#b8cda8;--accent:#2f7a3a;--accent-ink:#fff}[data-theme=mustafar]{--bg:#1a0e0b;--bg-glow:#331d14;--panel:#26150f;--panel-2:#331d14;--line:#5a3022;--text:#f6e6dd;--muted:#c9a595;--track:#86523d;--current:#43251a;--portrait-a:#4a2a1d;--portrait-b:#26150f;--accent:#ff6a2b;--accent-ink:#1a0900;--danger:#ff7b6b;--good:#8be0a4;--d-black:#4a3a36}[data-theme=hoth]{--bg:#eaf3fa;--bg-glow:#fff;--panel:#fff;--panel-2:#dcebf6;--line:#bcd3e5;--text:#10263a;--muted:#4a647c;--track:#8fb0c9;--current:#e3f0fa;--portrait-a:#d3e5f3;--portrait-b:#bcd3e5;--accent:#0e7fc0;--accent-ink:#fff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:16px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.entry-page{background:radial-gradient(ellipse at 50% 0%, var(--bg-glow), var(--bg) 65%);place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;width:100%;max-width:380px;padding:32px 24px}.card .logo{width:84px;height:84px;margin:0 auto 8px;display:block}.card h1{letter-spacing:.08em;margin:0 0 4px;font-size:2.4rem}.card .tag{color:var(--muted);margin:0 0 24px;font-size:.95rem}.card label{text-align:left;color:var(--muted);margin:14px 0 6px;font-size:.85rem;display:block}.card input{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-height:48px;padding:10px 14px;font-size:1.05rem}.card button{width:100%;min-height:50px;color:var(--accent-ink);background:var(--accent);border:0;border-radius:10px;margin-top:22px;font-size:1.1rem;font-weight:700}.card button:hover{filter:brightness(1.1)}.card .foot{color:var(--muted);margin-top:28px;font-size:.85rem;line-height:1.5}.app{flex-direction:column;height:100vh;display:flex}.topbar{padding:8px var(--gap);background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brand{letter-spacing:.08em;font-weight:800}.who{color:var(--muted);margin-right:auto;font-size:.9rem}.btn{min-height:var(--tap);min-width:var(--tap);border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:0 14px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{color:var(--danger)}.btn.sm{min-width:36px;min-height:36px;padding:0 10px;font-size:.9rem}.menu{position:relative}.menu-list{z-index:20;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;min-width:190px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0}.menu.open .menu-list{display:block}.menu-list button{text-align:left;width:100%;min-height:var(--tap);background:0 0;border:0;border-radius:8px;padding:0 12px;display:block}.menu-list button:hover{background:var(--panel)}.menu-list .danger{color:var(--danger)}.main{gap:var(--gap);min-height:0;padding:var(--gap);flex:1;grid-template-rows:minmax(0,auto) minmax(0,1fr);grid-template-columns:minmax(340px,1.1fr) minmax(300px,1fr) minmax(300px,1fr);display:grid}#col-dice,#col-log{grid-row:1/3}#col-party{grid-area:1/3;max-height:62vh}#col-chat{grid-area:2/3}.col{gap:var(--gap);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.panel.grow-panel{flex:1}.feedback-backdrop{z-index:1000;background:#000a;width:100%;height:100%;position:fixed;top:0;left:0;overflow:auto}.feedback-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:min(440px,100vw - 24px);margin:10vh auto 24px;padding:14px}.feedback-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.feedback-head h2{margin:0;font-size:1.1rem}.feedback-box label{color:var(--muted);margin:10px 0 6px;font-size:.85rem;display:block}.feedback-box textarea,.feedback-box input{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 12px}.feedback-box input{min-height:var(--tap)}.feedback-box form button{min-height:var(--tap);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:10px;margin-top:10px;padding:0 14px;font-weight:600}.feedback-box .feedback-note{color:var(--muted);margin:8px 0 0;font-size:.9rem}.panel h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem;display:flex}.panel h2 .grow{letter-spacing:normal;text-transform:none;color:var(--text);gap:6px;margin-left:auto;display:flex}.tabbar{display:none}.empty{color:var(--muted);font-size:.9rem}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.token{border:2px solid var(--line);border-radius:50%;place-items:center;width:40px;height:40px;padding:0;font-weight:800;display:grid}.token.light,.token.dark{background:0 0;border:0}.token img{width:40px;height:40px;display:block}.pp{vertical-align:-.1em;border-radius:50%;width:.8em;height:.8em;display:inline-block}.pp.l{background:#fff;border:1.5px solid #20232b}.pp.n{background:#000;border:1.5px solid #9aa6c8}.token.pc{color:#fff;background:#1f6fd1;font-size:.75rem}.token.npc{color:#fff;background:#a33a3a;font-size:.75rem}.token.past{opacity:.55}.initslot{position:relative}.initslot .bonus{gap:1px;display:flex;position:absolute;top:-8px;left:0}.pip{border:1px solid #0006;border-radius:3px;width:11px;height:11px;display:inline-block}.pip.blue{background:var(--d-blue)}.pip.black{background:var(--d-black)}.pip.upgrade{background:var(--d-yellow)}.pip.downgrade{background:var(--d-purple)}.repeat{color:var(--muted);padding:0 4px;font-size:1.4rem}.round{margin-left:auto;font-weight:700}.pool{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.die{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;grid-template-columns:54px 1fr;align-items:center;gap:4px 8px;padding:6px;display:grid}.die.on{border-color:var(--accent)}.face{background:0 0;border:0;border-radius:10px;width:54px;height:54px;padding:0}.face svg{width:100%;height:100%;display:block}input.face{border:1px solid var(--line);background:var(--bg);text-align:center;font-weight:800}.shape{--facet:#fff}.shape .out{stroke:var(--edge,none);stroke-width:2.2px;stroke-linejoin:round}.shape.yellow{fill:var(--d-yellow)}.shape.green{fill:var(--d-green)}.shape.blue{fill:var(--d-blue)}.shape.red{fill:var(--d-red)}.shape.purple{fill:var(--d-purple)}.shape.black{fill:var(--d-black)}.shape.white{fill:var(--d-white);--edge:#0b0b0f;--facet:#0b0b0f}.shape .facet{fill:none;stroke:var(--facet);stroke-opacity:.75;stroke-width:1.7px;stroke-linejoin:round;stroke-linecap:round}.shape .facet.soft{stroke-opacity:.5}.pool.symbols{border-bottom:1px dashed var(--line);margin-bottom:10px;padding-bottom:10px}.pick{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.pick .field{width:auto;min-height:var(--tap)}.ctl{text-align:center;grid-template-columns:36px 1fr 36px;align-items:center;display:grid}.ctl button{border:1px solid var(--line);background:var(--bg);border-radius:8px;min-height:36px;font-size:1.1rem}.ctl .n{font-size:1.5rem;font-weight:800}.dname{color:var(--muted);grid-column:1/-1;font-size:.75rem}.glyph{background:var(--bg);border:1px solid var(--line);border-radius:10px;place-items:center;width:54px;height:54px;font-size:1.5rem;font-weight:800;display:grid}.actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.actions .roll{grid-column:1/-1;min-height:56px;font-size:1.25rem}.field{width:100%;min-height:var(--tap);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px}.switch{min-height:var(--tap);cursor:pointer;align-items:center;gap:8px;display:inline-flex;position:relative}.switch input{opacity:0;position:absolute}.switch .track{background:var(--track);border-radius:13px;width:46px;height:26px;transition:background .2s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .2s;position:absolute;top:3px;left:3px}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{left:23px}.switch input:focus-visible+.track{outline:3px solid var(--accent);outline-offset:2px}.special{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:none}.special.open{display:flex}.special .field{width:120px}.special .break{flex-basis:100%}.log{flex-direction:column;gap:8px;display:flex}.entry{background:var(--panel-2);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;padding:10px 44px 10px 12px;line-height:1.5;position:relative}.entry.divider{text-align:center;color:var(--muted);white-space:nowrap;border-style:dashed;overflow:hidden}.entry .body{cursor:pointer}.entry img.diceface,.msg img.diceface{vertical-align:middle;width:44px;height:44px;margin:2px 1px}.entry span[title]{color:#111318;background:#c4c6cb;border:1px solid #8f93a0;border-radius:22px;margin-top:4px;padding:4px 12px;display:inline-block}.glyph .symart{width:40px;height:40px}.entry span[title] img.diceface{width:52px;height:52px}.entry img.diceface[src$="/darkside.png"]{background:var(--sym-dark-bg);border:1px solid var(--sym-dark-border);border-radius:8px}.entry p{margin:6px 0 0}.x{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;position:absolute;top:4px;right:4px}.x:hover{color:var(--danger)}.tinydie{vertical-align:middle;width:18px;height:18px;display:inline-block}.char-top{grid-template-columns:76px 1fr;align-items:center;gap:12px;display:grid}.portrait{background:linear-gradient(135deg, var(--portrait-a), var(--portrait-b));border:1px solid var(--line);border-radius:14px;width:76px;height:76px;padding:0;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.cname{font-size:1.4rem;font-weight:800}.soak{color:var(--muted,inherit);font-size:.9rem}.soak b{font-size:1.1rem}.usepool{margin-top:6px}.incap{color:var(--danger);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;font-weight:800}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.stat{background:var(--panel-2);border:1px solid var(--line);text-align:center;border-radius:12px;padding:8px}.stat .v{font-size:1.4rem;font-weight:800}.stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.stat input{text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;min-height:36px;margin-top:4px}.stats .btn{grid-column:1/-1}.bar{background:var(--bg);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.bar.w i{background:var(--danger)}.bar.none{visibility:hidden}.party{border-collapse:collapse;width:100%;font-size:.92rem}.party th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:4px 6px;font-size:.72rem}.party td{border-top:1px solid var(--line);cursor:pointer;padding:4px 6px}.party tr.cur td{background:var(--current)}.party td button{text-align:left;background:0 0;border:0;min-height:36px;padding:0 2px;font-weight:600}.party td img{vertical-align:middle;width:15px;height:15px}.chatform{gap:8px;margin-bottom:10px;display:flex}.chatform .field{flex:1}.msg{background:var(--panel-2);overflow-wrap:anywhere;border-radius:10px;margin-bottom:6px;padding:8px 40px 8px 10px;position:relative}.msg .x{top:0;right:0}.dice.rerollselect{cursor:pointer;background-repeat:no-repeat;background-size:contain;border-radius:10px;width:50px;height:50px;margin:4px;display:inline-block;position:relative}.dice.repeatselect{width:26px;height:26px;position:absolute;bottom:-6px;right:-6px}@media (width<=960px){.main{grid-template-rows:none;grid-template-columns:1fr;padding:8px 8px 76px;overflow-y:auto}#col-dice,#col-log,#col-party,#col-chat{grid-area:auto/1;max-height:none}.col{display:none;overflow:visible}.col.show{display:flex}.tabbar{z-index:10;background:var(--panel);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:62px;color:var(--muted);background:0 0;border:0;font-size:.85rem;font-weight:600}.tabbar button[aria-selected=true]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.who{display:none}.brand{margin-right:auto}}@media (width<=420px){.pool{grid-template-columns:repeat(2,1fr)}.die{grid-template-columns:46px 1fr}.face,.glyph{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.mm-popup{z-index:1000;width:100%;height:100%;font-family:var(--font);background:#000a;display:none;position:fixed;top:0;left:0;overflow:auto}.mm-popup--visible{display:block}.mm-popup__box{width:100%;max-width:min(440px,100vw - 24px);color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin:10vh auto 24px;position:relative;overflow:hidden}.mm-popup__box--reroll,.mm-popup__box--rerollselect,.mm-popup__box--ReRoll{max-width:min(620px,100vw - 24px)}.mm-popup__close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;font-size:0;position:absolute;top:12px;right:12px}.mm-popup__close:before{content:"✕";font-size:1rem}.mm-popup__close:hover{color:var(--danger)}.mm-popup__box__header{padding:20px 56px 0 20px}.mm-popup__box__header__title{margin:0;font-size:1.2rem;font-weight:700}.mm-popup__box__body{color:var(--muted);padding:8px 20px 0;line-height:1.4}.mm-popup__box__body p{margin:0 0 6px}.mm-popup__box__body label{color:var(--muted);margin:10px 0 4px;font-size:.8rem;display:block}.mm-popup__input{width:100%;min-height:var(--tap);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 12px;display:block}.mm-popup__box__footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 20px 20px;display:flex}.mm-popup__box__footer__left-space,.mm-popup__box__footer__right-space{flex-wrap:wrap;gap:8px;display:flex}.mm-popup__btn{min-height:var(--tap);border:1px solid var(--line);background:var(--panel-2);min-width:90px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:0 14px;font-weight:600}.mm-popup__btn:hover{border-color:var(--accent)}.mm-popup__btn--success{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.mm-popup__btn--danger{color:var(--danger)}.mm-popup__btn--bonus{border-left:6px solid var(--d-blue)}.mm-popup__btn--setback{border-left:6px solid var(--d-black)}.mm-popup__btn--upgrade{border-left:6px solid var(--d-yellow)}.mm-popup__btn--downgrade{border-left:6px solid var(--d-purple)}.mm-popup__btn--ReRoll{min-width:170px}@media (width<=420px){.mm-popup__box{margin-top:12px}.mm-popup__box__footer__left-space,.mm-popup__box__footer__right-space,.mm-popup__btn{width:100%}}
