@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700;900&family=Nunito:wght@600;700;800;900&display=swap";:root{--bg:#f6efe2;--card:#fffcf4;--card2:#fdf8ec;--line:#e6d9c2;--line2:#f1e7d6;--sink:#e9ddc6;--ink:#2b2519;--ink2:#5b4f3b;--dim:#8a7a5e;--dim2:#9a8b70;--faint:#b0a48b;--orange:#de6f16;--orange-lo:#f09a3e;--orange-dk:#b4560f;--orange-bg:#fcebd8;--green:#5fb870;--green-dk:#2e7d4f;--green-bg:#e4f3e7;--red:#b4453a;--red-bg:#fbe9e6;--blue:#3a85c6;--grey:#c9bca3;--amber:#e0b24a;--chip:#f4ebda;--tabbg:#ede2ce;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent;margin:0;font-family:Noto Sans TC,Nunito,system-ui,sans-serif}button{touch-action:manipulation}a{color:var(--orange);text-decoration:none}a:hover{color:var(--orange-dk)}input,select,button,textarea{font-family:inherit}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}@keyframes toastin{0%{opacity:0;transform:translateY(6px)}to{opacity:1}}.page{background:radial-gradient(1200px 500px at 50% -200px, #fff7e6 0%, var(--bg) 60%);min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);background:#f6efe2db;position:sticky;top:0}.topbar-in{max-width:1440px;padding:14px max(28px, env(safe-area-inset-right)) 14px max(28px, env(safe-area-inset-left));flex-wrap:wrap;align-items:center;gap:28px;margin:0 auto;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand .mark{background:linear-gradient(180deg, var(--orange-lo), var(--orange));width:34px;height:34px;box-shadow:0 2px 0 var(--orange-dk), 0 4px 10px #de6f1659;color:#fff;border-radius:11px;place-items:center;font-family:Nunito,sans-serif;font-size:15px;font-weight:900;display:grid}.brand .name{font-family:Nunito,Noto Sans TC,sans-serif;font-size:18px;font-weight:900}.pills{background:var(--tabbg);border-radius:14px;gap:6px;padding:4px;display:flex}.pills.wide{width:max-content;padding:5px}.pill{color:#7d6e55;cursor:pointer;background:0 0;border:none;border-radius:11px;padding:9px 20px;font-size:13.5px;font-weight:600}.pill.on{background:var(--card);color:var(--ink);font-weight:700;box-shadow:0 2px 6px #46341424}.pill.sm{border-radius:9px;padding:7px 14px;font-size:12.5px}.pill.dark.on{background:var(--ink);color:#fff7e6}.userchip{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:500;display:flex}.userchip .sub{color:var(--dim2);font-size:12px;font-weight:400}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.dot.live{background:var(--green);animation:2.4s infinite pulseDot;box-shadow:0 0 0 3px #5fb87033}.dot.on{background:var(--green)}.dot.off{background:var(--grey)}.dot.idle{background:var(--amber)}.dot.sm{width:7px;height:7px}.container{max-width:1560px;padding:16px max(18px, env(safe-area-inset-right)) 22px max(18px, env(safe-area-inset-left));margin:0 auto}.btn{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 0 var(--line);color:var(--ink);cursor:pointer;border-radius:12px;padding:9px 15px;font-size:13px;font-weight:600}.btn:hover:not(:disabled){border-color:#f0b27a}.btn:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg, var(--orange-lo), var(--orange));box-shadow:0 3px 0 var(--orange-dk);color:#fff;border:none;font-weight:700}.btn.dark{background:var(--ink);color:#fff7e6;border:none;font-weight:700;box-shadow:0 3px #14110b}.btn.danger{color:var(--red);background:#fff1ee;border:1px solid #f2cfc8;font-weight:700;box-shadow:0 3px #f2cfc8}.btn.green{color:#fff;background:linear-gradient(#6fc47f,#4ea463);border:none;font-weight:700;box-shadow:0 3px #3d8850}.btn.xs{box-shadow:0 2px 0 var(--line);border-radius:9px;padding:5px 10px;font-size:12px}.chip{background:var(--chip);border:1px solid var(--sink);color:var(--ink2);cursor:pointer;white-space:nowrap;border-radius:11px;padding:8px 13px;font-size:12.5px;font-weight:600}.chip:hover:not(:disabled){background:#efe2cc}.chip:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=datetime-local],input[type=date],input[type=time],input:not([type]),select,textarea{color:var(--ink);background:#f2ece2;border:1px solid #0000;border-radius:13px;padding:11px 14px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:#a4977f;font-weight:400}input:hover,select:hover,textarea:hover{background:#eee7db}input:focus,select:focus,textarea:focus{border-color:var(--orange);background:#fffefa;outline:none;box-shadow:0 0 0 3px #de6f1626}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=checkbox]{accent-color:var(--orange)}.num{font-family:Nunito,sans-serif;font-weight:700}.card{background:var(--card);border:1px solid var(--line);box-shadow:0 3px 0 var(--sink);border-radius:20px}.card.pad{padding:18px 22px 20px}.card-title{align-items:center;gap:8px;margin-bottom:12px;font-size:14.5px;font-weight:800;display:flex}.card-title i{background:var(--orange);border-radius:4px;width:6px;height:16px;display:block}.card-title i.blue{background:var(--blue)}.card-title i.green{background:var(--green)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:16px;display:flex}.grow{flex:1}.muted{color:var(--dim)}.faint{color:var(--faint)}.h1{letter-spacing:.01em;font-size:26px;font-weight:900}.sub{color:var(--dim);margin-top:4px;font-size:13.5px}.wgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.wrows{flex-direction:column;gap:10px;display:flex}.wcard{background:var(--card);border:1px solid var(--line);text-align:left;box-shadow:0 3px 0 var(--sink), 0 10px 24px -18px #46341480;cursor:pointer;border-radius:20px;padding:14px;transition:transform .15s,border-color .15s}.wcard:hover{border-color:#f0b27a;transform:translateY(-2px)}.wcard .head{white-space:nowrap;padding:4px 6px 14px}.ch{letter-spacing:-.02em;color:var(--orange);flex-shrink:0;font-family:Nunito,Noto Sans TC,sans-serif;font-size:28px;font-weight:900;line-height:1}.xy{color:var(--dim2);flex-shrink:0;font-family:Nunito,sans-serif;font-size:12.5px;font-weight:700}.mapname{color:var(--ink);text-overflow:ellipsis;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.charname{color:var(--dim2);text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.thumb{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,#e4dac6 0 8px,#dcd1ba 8px 16px);border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb .ph{color:var(--dim);letter-spacing:.06em;font-family:ui-monospace,Menlo,monospace;font-size:11px}.wrow{text-align:left;background:var(--card);border:1px solid var(--line);width:100%;box-shadow:0 3px 0 var(--sink);cursor:pointer;white-space:nowrap;border-radius:16px;align-items:center;gap:16px;padding:10px 14px 10px 10px;transition:border-color .15s;display:flex}.wrow:hover{border-color:#f0b27a}.wrow .thumb{border-radius:11px;flex-shrink:0;width:132px}.detail{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}@media (width<=1100px){.detail{grid-template-columns:minmax(0,1fr)}}.stage{background:var(--ink);border:1px solid var(--line);box-shadow:0 3px 0 var(--sink), 0 20px 40px -30px #46341499;border-radius:14px;padding:4px}.screen{touch-action:manipulation;background:repeating-linear-gradient(135deg,#3a3226 0 10px,#332c21 10px 20px);border-radius:11px;outline:none;place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.screen video,.screen img{object-fit:contain;background:#000;width:100%;height:100%;display:block}.screen .ph{color:var(--dim2);letter-spacing:.08em;font-family:ui-monospace,Menlo,monospace;font-size:12px}.screen.armed{cursor:crosshair;box-shadow:inset 0 0 0 3px var(--orange);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.badges{pointer-events:none;gap:7px;display:flex;position:absolute;top:12px;left:12px}.badges span{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#efe5d2;text-shadow:0 1px 2px #00000080;background:#14100a9e;border-radius:9px;padding:5px 10px;font-size:11.5px;font-weight:700}.badges .fps{color:#ffd9a8;font-family:Nunito,sans-serif;font-weight:800}.badges .good{color:#bfe6c7}.badges .warn{color:#ffd9a8}.stage .bar{flex-wrap:wrap;align-items:center;gap:10px;padding:7px 8px 3px;display:flex}.stage .bar .hint{color:#cbbca0;min-width:0;font-size:12px}.tool{color:#efe5d2;cursor:pointer;white-space:nowrap;background:#ffffff12;border:none;border-radius:10px;padding:7px 13px;font-size:12.5px;font-weight:600}.tool:hover{background:#ffffff24}.tool.on{background:var(--orange);color:#fff}.stats{grid-template-columns:auto 1fr;gap:9px 16px;font-size:13px;display:grid}.stats .k{color:var(--dim)}.stats .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.switchrow{border-bottom:1px solid var(--line2);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:12px;width:100%;padding:11px 2px;display:flex}.switchrow:last-child{border-bottom:none}.switchrow .lbl{flex:1;font-size:13.5px;font-weight:500}.switchrow .hint{color:var(--dim2);font-family:Nunito,sans-serif;font-size:11.5px;font-weight:700}.track{box-sizing:border-box;background:#ddd1ba;border-radius:14px;flex-shrink:0;justify-content:flex-start;width:44px;height:25px;padding:3px;transition:background .18s;display:flex}.track.on{background:var(--green);justify-content:flex-end}.track i{background:#fff;border-radius:50%;width:19px;height:19px;display:block;box-shadow:0 1px 3px #00000040}.members{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1000px){.members{grid-template-columns:minmax(0,1fr)}}.mrow{border:none;border-top:1px solid var(--line2);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:12px 16px;display:flex}.mrow.on{background:#f7eedc}.mrow .email{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.mrow .sl{color:var(--dim2);margin-top:3px;font-size:11.5px}.mtime{flex-shrink:0;font-family:Nunito,sans-serif;font-size:12px;font-weight:800}.bigtime{letter-spacing:-.02em;font-family:Nunito,Noto Sans TC,sans-serif;font-size:40px;font-weight:900;line-height:1}.tag{white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:700}.tag.ok{color:var(--green-dk);background:var(--green-bg)}.tag.warn{color:var(--orange-dk);background:var(--orange-bg)}.tag.bad{color:var(--red);background:var(--red-bg)}.tag.flat{color:var(--dim);background:#f2e9d8}.pool{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px;display:grid}@media (width<=900px){.pool{grid-template-columns:minmax(0,1fr)}}.dropzone{background:#fffefa;border:2px dashed #ddcdae;border-radius:16px;min-height:104px;padding:14px;transition:background .15s,border-color .15s}.dropzone.over{border-color:var(--orange);background:#fcefd9}.freebox{border:1px solid var(--sink);background:var(--card2);border-radius:16px;padding:14px}.acct{background:var(--card);border:1px solid var(--sink);border-radius:12px;align-items:center;gap:8px;padding:8px 10px 8px 12px;font-size:13px;display:flex;box-shadow:0 2px #efe5d2}.acct.drag{cursor:grab;-webkit-user-select:none;user-select:none;border-style:dashed;border-color:#d8c8a8}.acct.dragging{opacity:.4}.acct .x{background:var(--chip);width:20px;height:20px;color:var(--red);cursor:pointer;border:none;border-radius:7px;place-items:center;font-size:13px;font-weight:700;display:grid}.acct .m{color:var(--dim2);font-family:Nunito,sans-serif;font-size:11.5px;font-weight:700}.statbox{background:var(--card);border:1px solid var(--line);box-shadow:0 3px 0 var(--sink);border-radius:16px;min-width:104px;padding:12px 18px}.statbox .n{font-family:Nunito,sans-serif;font-size:24px;font-weight:900;line-height:1}.statbox .k{color:var(--dim);margin-top:6px;font-size:12px}.notice{color:#8a6a32;background:#fdf3e2;border:1px solid #f0dfc0;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;display:flex}.tbl-head,.tbl-row{align-items:center;gap:12px;display:grid}.tbl-head{color:var(--dim);padding:0 22px 10px;font-size:12px}.tbl-row{border-top:1px solid var(--line2);padding:13px 22px;font-size:13.5px}.loginpage{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:#0b1020 url(/bg.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:relative}.loginpage:before{content:"";background:radial-gradient(#00000026 0%,#0000008c 100%);position:absolute;inset:0}.loginbox{background:var(--card);border-radius:18px;width:100%;max-width:400px;padding:28px 26px 24px;position:relative;box-shadow:0 18px 50px #00000073}.loginbox .logo{justify-content:center;margin-bottom:12px;display:flex}.loginbox h1{text-align:center;margin:0 0 2px;font-family:Nunito,Noto Sans TC,sans-serif;font-size:22px;font-weight:900}.loginbox .s{text-align:center;color:var(--dim);margin:0 0 20px;font-size:13px}.loginbox input{width:100%;margin-bottom:12px;padding:11px 13px;font-size:15px}.loginbox .go:disabled{opacity:.5;box-shadow:0 4px 0 var(--orange-dk);cursor:not-allowed}.loginbox .go{background:linear-gradient(180deg, var(--orange-lo), var(--orange));width:100%;box-shadow:0 4px 0 var(--orange-dk);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:6px;padding:12px;font-size:16px;font-weight:700}.loginbox .go:active:not(:disabled){box-shadow:0 2px 0 var(--orange-dk);transform:translateY(2px)}.loginbox .msg{color:#a33227;background:#fdecea;border:1px solid #f3c2bc;border-radius:10px;margin-bottom:14px;padding:9px 12px;font-size:13px}.loginbox .foot{text-align:center;color:var(--dim);margin:16px 0 0;font-size:13px}.backdrop{z-index:100;padding:calc(20px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));background:#2b251973;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:100%;max-height:100%;display:flex;box-shadow:0 24px 60px #46341459}.modal .modal-body{overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;padding:16px 20px 12px;font-size:15px;font-weight:800;display:flex}.modal-head .x{color:var(--dim);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.modal-body{padding:0 20px 20px;font-size:13.5px}.toasts{z-index:200;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;padding:10px 16px;font-size:13px;animation:.18s ease-out toastin;box-shadow:0 8px 24px #46341433}.toast.err{border-left-color:var(--red)}.log{background:var(--card2);border:1px solid var(--sink);white-space:pre-wrap;max-height:160px;color:var(--ink2);border-radius:12px;padding:10px;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:auto}.maplist{border:1px solid var(--line);background:var(--card);border-radius:12px;max-height:220px;overflow:auto;box-shadow:0 8px 24px #4634142e}.maplist button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;padding:7px 11px;font-size:13px;display:block}.maplist button:hover{background:var(--chip)}.maplist .region{color:var(--dim2);margin-left:6px;font-size:11px}.favlist{border:1px solid var(--line);border-radius:12px;max-height:46vh;overflow-y:auto}.favrow{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:8px;padding:9px 12px;display:flex}.favrow:last-child{border-bottom:none}.fav-name{font-size:14.5px;font-weight:800}.maplist.tall{max-height:46vh;overflow-y:auto}.maplist .grp{z-index:1;background:var(--card);border-bottom:1px solid var(--line);color:var(--dim);letter-spacing:.04em;padding:6px 12px;font-size:12px;font-weight:800;position:sticky;top:0}.pill .cnt{background:#0000001f;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.fld{flex-direction:column;gap:4px;display:flex}.fld>span{color:var(--dim);font-size:12.5px;font-weight:700}.fld>input{width:100%}.copyname{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-size:20px;font-weight:900;display:inline-flex}.copyname .ic{color:var(--dim);opacity:0;font-size:13px;transition:opacity .12s}.copyname:hover .ic,.copyname:focus-visible .ic{opacity:1}.copyname:hover{color:var(--orange-dk)}.keepme{cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;margin:2px 0 4px;display:grid}.keepme input{width:16px;height:16px;accent-color:var(--orange);cursor:pointer;margin:0}.keepme>span{font-size:13.5px;font-weight:700}.keepme>em{color:var(--dim);grid-column:2;font-size:12px;font-style:normal}.gobar{cursor:pointer;border:1px solid var(--line);background:var(--card);width:100%;box-shadow:0 2px 0 var(--sink);font:inherit;text-align:left;border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;transition:border-color .12s,transform 60ms;display:flex}.gobar:hover{border-color:var(--orange)}.gobar:active{box-shadow:none;transform:translateY(1px)}.gobar .mag{color:var(--orange);font-size:17px}.gobar .ph{color:var(--dim);flex:1;font-size:14px}.gobar .hint{color:var(--dim);background:#0000000d;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:800}.palette{flex-direction:column;display:flex}.pbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:4px;padding:4px 4px 12px;display:flex}.pbar .mag{color:var(--orange);font-size:20px}.pbar input{min-width:0;font:inherit;background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:18px;font-weight:700}.pbar input::placeholder{color:var(--dim);font-weight:400}.spin{border:2px solid var(--line);border-top-color:var(--orange);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.plist{max-height:46vh;margin:0 -4px;overflow-y:auto}.plist .grp{z-index:1;background:var(--card);color:var(--dim);letter-spacing:.06em;padding:8px 12px 4px;font-size:11.5px;font-weight:800;position:sticky;top:0}.prow{cursor:default;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.prow.on{background:var(--orange-lo,#fbe6d2)}.pname{font-size:15px;font-weight:800}.pid{color:var(--dim);font-variant-numeric:tabular-nums;font-size:12px}.pacts{opacity:0;gap:6px;transition:opacity .1s;display:flex}.prow.on .pacts{opacity:1}.pbtn{border:1px solid var(--line);background:var(--card);font:inherit;cursor:pointer;border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:700}.pbtn:hover{border-color:var(--orange);color:var(--orange-dk)}.pbtn.go{background:var(--orange);border-color:var(--orange-dk);color:#fff}.pbtn.go:hover{color:#fff}.pbtn.star.on{color:var(--orange);border-color:var(--orange)}.pempty{text-align:center;color:var(--dim);padding:34px 12px;font-size:14px}.pfoot{border-top:1px solid var(--line);color:var(--dim);margin-top:4px;padding-top:10px;font-size:11.5px}.pfoot kbd{border:1px solid var(--line);background:var(--card);min-width:18px;font:inherit;text-align:center;border-bottom-width:2px;border-radius:5px;margin:0 2px;padding:1px 5px;font-size:11px;display:inline-block}.warnbox{color:#7a4a10;background:#fdf1e0;border:1px solid #f0cfa0;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:12.5px;font-weight:700}.kv{border:1px solid var(--line);border-radius:10px;overflow:hidden}.kvrow{border-bottom:1px solid var(--line);background:var(--card);align-items:center;gap:10px;padding:8px 12px;display:flex}.kvrow:last-child{border-bottom:none}.kvrow .k{width:44px;color:var(--dim);flex:none;font-size:12.5px;font-weight:700}.kvrow .v{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:700}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.handover{border:1px solid var(--line);white-space:pre-wrap;max-height:30vh;color:var(--ink);background:#faf7f2;border-radius:10px;margin:12px 0 0;padding:12px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.7;overflow:auto}.picklist{border:1px solid var(--line);border-radius:10px;max-height:30vh;overflow-y:auto}.pickrow{border-bottom:1px solid var(--line);cursor:pointer;background:var(--card);align-items:center;gap:9px;padding:8px 12px;display:flex}.pickrow:last-child{border-bottom:none}.pickrow.on{background:var(--orange-lo,#fbe6d2)}.pickrow input{width:16px;height:16px;accent-color:var(--orange);margin:0}.pnow{color:var(--dim);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 4px 9px;font-size:12.5px;display:flex}.pnow b{color:var(--ink)}.pnow .pbtn{margin-left:auto}.fstar{color:var(--orange);font-size:12px}.pbtn.danger:hover{color:var(--red);border-color:var(--red)}.grantgrp{color:var(--dim);letter-spacing:.05em;margin-bottom:6px;font-size:11.5px;font-weight:800}.grantwrap{flex-wrap:wrap;gap:7px;display:flex}.grant{cursor:pointer;border:1px solid var(--line);background:var(--card);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font-size:13px;font-weight:700;display:inline-flex}.grant input{width:15px;height:15px;accent-color:var(--orange);cursor:pointer;margin:0}.grant.on{border-color:var(--orange);background:var(--orange-lo,#fbe6d2);color:var(--orange-dk)}.grant:has(input:disabled){opacity:.6;cursor:default}.chcard{border:1px solid var(--line);background:var(--card);box-shadow:0 3px 0 var(--sink);border-radius:14px;align-items:center;gap:14px;padding:12px 16px;transition:background .25s,border-color .25s;display:flex}.chnum{color:var(--orange-dk);font-variant-numeric:tabular-nums;font-family:Nunito,sans-serif;font-size:40px;font-weight:900;line-height:1}.chside{min-width:0}.chlabel{color:var(--dim);font-size:12.5px;font-weight:800}.chsub{color:var(--dim);overflow-wrap:anywhere;margin-top:3px;font-size:12.5px}.chcard.flash{background:var(--orange-lo,#fbe6d2);border-color:var(--orange)}.chcard.flash .chlabel{color:var(--orange-dk)}.chcard.flash .chnum{animation:.55s ease-out 3 chpulse}@keyframes chpulse{0%,to{transform:scale(1)}45%{transform:scale(1.12)}}.maint{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a1e22d1;place-content:center;gap:6px;display:grid;position:absolute;inset:0}.mtitle{color:#ffd9a8;letter-spacing:.08em;font-size:22px;font-weight:900}.msub{color:#a99c82;font-size:12.5px}.wmark{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.wmark span{white-space:nowrap;letter-spacing:.04em;color:#ffffff21;transform-origin:0 0;text-shadow:0 1px #0000001f;font-size:12px;font-weight:700;position:absolute;transform:rotate(-24deg)}.wmark.on-light span{color:#3c301c1a;text-shadow:none}.wmhost{position:relative}.pending{background:linear-gradient(180deg, #fffdf8, var(--card));border-color:#f0cfa0}.card-title i.warn{background:#e0a02a}.card-title .cnt{color:#fff;background:#e0a02a;border-radius:999px;margin-left:7px;padding:1px 8px;font-size:11.5px;font-weight:800}.btn.s{padding:6px 12px;font-size:12.5px}.mapname.busy{color:var(--orange-dk);font-weight:800}.stale{color:#7a5a18;background:#fdf4e3;border:1px solid #f0cfa0;border-radius:999px;margin-top:5px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-block}.gamepad{z-index:4;pointer-events:none;--gp-unit:min(54px, 21cqh);--gp-jump:min(96px, 38cqh);justify-content:space-between;align-items:flex-end;padding:14px;display:flex;position:absolute;inset:0}.gp-side{align-items:flex-end;display:flex}.gp-btn{pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff3e0;text-shadow:0 1px 3px #0000008c;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#14100a61;border:1px solid #fffaf252;place-items:center;font-family:Nunito,Noto Sans TC,sans-serif;font-weight:900;display:grid}.gp-btn.on{background:var(--orange);border-color:var(--orange-lo);color:#fff;box-shadow:0 0 0 3px #de6f1647}.gp-jump{width:var(--gp-jump);height:var(--gp-jump);letter-spacing:.08em;border-radius:50%;font-size:16px}.gp-dpad{grid-template-columns:repeat(3, var(--gp-unit));grid-template-rows:repeat(3, var(--gp-unit));gap:5px;display:grid}.gp-dpad .gp-btn{border-radius:14px;width:100%;height:100%;font-size:15px}.gp-u{grid-area:1/2}.gp-l{grid-area:2/1}.gp-r{grid-area:2/3}.gp-d{grid-area:3/2}@media (height<=440px){.gamepad{--gp-unit:min(44px, 21cqh);--gp-jump:min(74px, 38cqh);padding:10px}.gp-jump{font-size:14px}.gp-dpad{gap:4px}.gp-dpad .gp-btn{border-radius:12px;font-size:13px}}.stage.immersive{z-index:60;box-shadow:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000;border:none;border-radius:0;flex-direction:column;justify-content:center;margin:0;display:flex;position:fixed;inset:0}.stage.immersive .screen{border-radius:0}.stage.immersive .bar{flex:none}.stage.immersive .screen{width:100%;max-width:calc((100vh - 46px) * var(--ar,1.6));max-width:calc((100svh - 46px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--ar,1.6));flex:0 auto;margin:0 auto}@media (orientation:landscape) and (height<=620px){.stage .screen{max-width:calc((100vh - 150px) * var(--ar,1.6));max-width:calc((100svh - 150px) * var(--ar,1.6));margin:0 auto}.detail{gap:10px}.topbar-in{padding-top:8px;padding-bottom:8px}}.favlist,.maplist.tall,.plist{max-height:46dvh}.handover,.picklist{max-height:30dvh}@media (width<=780px){.pills{flex-wrap:wrap}.pill{padding:8px 14px}.pill.sm{padding:6px 11px;font-size:12px}.topbar-in{gap:12px}.brand .name{font-size:16px}.userchip{padding:6px 10px;font-size:12.5px}}@media (width<=640px){.container{padding-top:12px;padding-bottom:18px}.topbar-in{padding:10px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));gap:10px}.btn.s{padding:6px 10px}.h1{font-size:21px}.sub{font-size:12.5px}.card.pad{padding:14px 15px 16px}.detail{gap:12px}.wgrid{grid-template-columns:minmax(0,1fr);gap:12px}.wcard{border-radius:16px}.ch{font-size:24px}.wrow{border-radius:14px;gap:10px;padding:8px 10px}.wrow .thumb{width:96px}.tbl-head{display:none!important}.tbl-row{gap:5px;padding:12px 16px;grid-template-columns:1fr!important}.modal-head{padding:14px 16px 10px}.modal-body{padding:0 16px 16px}}@media (width<=420px){.wrow .xy{display:none}}@media (width<=860px){input,select,textarea,.loginbox input{font-size:16px}}
