:root{color-scheme:light;--paper:#f7f1df;--card:#fffdf7;--ink:#332b22;--muted:#6f665a;--line:#d8c9ac;--maple:#c75c2b;--maple-dark:#8f3d1d;--forest:#4e694f;--active:#dceaf0;--active-line:#6b99aa;--ready:#dcebd8;--ready-line:#779e6c;--empty:#f1eee6;--danger:#a64232;--ad:160px}
*{box-sizing:border-box;min-width:0}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:"Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif;overflow-x:hidden}body{background-image:linear-gradient(#ffffff38 1px,transparent 1px),linear-gradient(90deg,#ffffff30 1px,transparent 1px);background-size:24px 24px}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 13px;color:var(--ink);background:#fffaf0;cursor:pointer;text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s}button:hover,.button:hover{background:#fff4db;border-color:#bda87f;box-shadow:0 3px 0 #d4c39f}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d67a4688;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--maple);border-color:var(--maple-dark);color:#fff;font-weight:800}.primary:hover{background:var(--maple-dark)}.secondary{background:var(--forest);border-color:#344a36;color:#fff}.ghost{background:transparent}.muted{color:var(--muted)}.error{min-height:1.5em;color:var(--danger)}[hidden]{display:none!important}
.center-shell{min-height:calc(100vh - 100px);display:grid;place-items:center;padding:28px calc(var(--ad) + 30px)}.auth-card,.team-card{width:min(880px,100%);padding:30px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px #59482d20,0 3px 0 #d7c7a7}.auth-card{width:min(430px,100%);display:grid;gap:12px;text-align:center}.auth-card .button{width:100%}.auth-card h1{margin:2px 0;font-size:28px}.brand-emblem{width:112px;height:112px;margin:auto;border-radius:18px}.security-note{font-size:13px;color:var(--muted);line-height:1.55}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.team-list{display:grid;gap:8px;margin:18px 0}.team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fffaf0}.role-chip,.summary-chip{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fffaf0;color:var(--muted);font-size:13px}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card{display:grid;gap:9px;padding:17px;border:1px solid var(--line);border-radius:10px;background:#fbf6e9}.form-card h2{margin:0 0 4px;font-size:18px}input,select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbb996;border-radius:7px;padding:9px 11px}
.login-actions{display:grid;gap:9px}.google{color:#382f27;background:#fff;border-color:#bdb5a6}.support-note{margin:0;color:var(--muted);font-size:13px}.policy-links{font-size:13px}.policy-links a{color:#765a35}.danger-button{color:#fff;background:#a33c2d;border-color:#7f2c22}.danger-button:hover{background:#8d3125}
.policy-page{width:min(760px,100%);margin:32px auto;padding:30px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 28px #59482d18}.policy-page h1{margin-top:0}.policy-page h2{margin-top:26px;font-size:19px}.policy-page p,.policy-page li{line-height:1.75}.policy-page a{color:#765a35}
.admin-page{width:min(1180px,calc(100% - 32px));margin:28px auto 120px}.admin-panel{margin-top:18px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:12px}.admin-summary{padding:14px;background:#fffaf0;border:1px solid var(--line);border-radius:9px}.admin-row{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #e5dbc6}.admin-row>span:first-child,.admin-row>strong:first-child{margin-right:auto}.admin-row input{width:90px}.dialog-card label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.dialog-card input[type=checkbox]{width:auto;min-height:auto}
.app-shell{min-height:100vh;padding:0 calc(var(--ad) + 18px) 100px}.topbar{position:sticky;top:0;z-index:5;min-height:64px;display:flex;align-items:center;gap:16px;padding:10px 18px;background:#fffaf0ed;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark.small{width:38px;height:38px;border:1px solid var(--line);border-radius:8px}.current-team{display:grid;font-size:13px}.connection{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:14px}.dot{width:9px;height:9px;border-radius:50%;background:#c9933b}.dot.online{background:#568b55}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{padding:18px 12px;border-right:1px solid var(--line);background:#f2ead7}.sidebar label{display:block;margin:0 4px 7px;color:var(--muted);font-size:14px}.boss-list{display:grid;gap:7px;margin-top:12px;max-height:calc(100vh - 150px);overflow:auto}.boss-list>button{width:100%;justify-content:flex-start;gap:10px;text-align:left;background:#fffaf0;border-color:transparent;white-space:normal}.boss-list>button img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated}.boss-list>button span{display:grid;gap:2px}.boss-list>button small{color:var(--muted);font-size:11px}.boss-list>button.active{background:#fff;border-color:var(--maple);box-shadow:inset 4px 0 var(--maple)}.content{padding:20px;max-width:1500px;width:100%;margin:auto}.boss-summary{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);background:#fffaf0;border-radius:12px;box-shadow:0 3px 0 #decead}.boss-portrait{width:88px;height:88px;object-fit:contain;image-rendering:pixelated}.boss-heading{margin-right:auto}.boss-summary h1{margin:2px 0 5px;font-size:30px}.eyebrow{color:var(--maple-dark);font-size:12px;font-weight:800;letter-spacing:.12em}.drop-panel{margin:14px 0;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.drop-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.drop-heading h2{margin:2px 0 0;font-size:19px}.drop-meta{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px}.drop-meta a{color:var(--maple-dark)}.drop-list{display:flex;gap:8px;margin:12px 0 0;padding:0 0 5px;overflow-x:auto;list-style:none;scrollbar-color:#bca77e transparent}.drop-list li{flex:0 0 112px;display:grid;grid-template-rows:48px auto;place-items:center;gap:5px;min-height:92px;padding:8px;border:1px solid #e1d6bf;border-radius:8px;background:#fbf7ec;text-align:center;font-size:12px;line-height:1.3}.drop-list img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 10px}.filter{min-height:36px;padding:6px 12px;background:#fffaf0}.filter.active{background:var(--forest);border-color:#354e39;color:#fff;box-shadow:none}.channel-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.channel-card{padding:9px;border:1px solid #cfc6b4;border-left-width:4px;border-radius:8px;background:var(--empty)}.channel-card.active{border-color:var(--active-line);background:var(--active)}.channel-card.ready{border-color:var(--ready-line);background:var(--ready)}.timer{display:block;margin:7px 0;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}.channel-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:7px}.channel-actions button{min-height:32px;padding:4px;white-space:normal;font-size:12px}.kill-button{background:#fff}.clear-button{color:var(--danger);background:#fff8f5}
.ad-rail{position:fixed;top:0;bottom:90px;z-index:2;width:var(--ad);display:grid;place-items:center;padding:12px;background:#eee5d2;color:#827866;font-size:12px}.ad-rail>div,.ad-bottom>div{width:100%;min-height:250px;display:grid;place-items:center;border:1px dashed #b9aa8d;border-radius:8px}.ad-left{left:0;border-right:1px solid var(--line)}.ad-right{right:0;border-left:1px solid var(--line)}.ad-bottom{position:fixed;left:0;right:0;bottom:0;z-index:8;height:90px;padding:8px max(12px,calc(var(--ad) + 18px));background:#eee5d2f5;border-top:1px solid var(--line)}.ad-bottom>div{min-height:72px}.dialog-card{display:grid;gap:10px}dialog{width:min(460px,calc(100% - 28px));padding:22px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px}dialog::backdrop{background:#332b2266}.result-box{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:#335d65}.toast{position:fixed;right:calc(var(--ad) + 18px);bottom:108px;z-index:10;max-width:min(420px,calc(100% - 32px));padding:10px 14px;color:#fff;background:#46382c;border-radius:8px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s}.toast.visible{opacity:1;transform:none}
@media(max-width:1600px){.channel-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1180px){:root{--ad:0px}.ad-rail{display:none}.app-shell{padding-inline:0}.center-shell{padding-inline:24px}.ad-bottom{padding-inline:12px}.toast{right:16px}}@media(max-width:980px){.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.connection span:last-child{display:none}}@media(max-width:760px){.topbar{flex-wrap:wrap;gap:8px}.brand{flex:1}.current-team{order:3;width:100%}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px}.boss-list{display:flex;max-height:none;overflow:auto}.boss-list>button{flex:0 0 170px}.content{padding:12px}.onboarding-grid{grid-template-columns:1fr}.team-row{align-items:flex-start;flex-direction:column}.boss-portrait{width:70px;height:70px}}@media(max-width:600px){.connection{display:none}.channel-grid{grid-template-columns:1fr}.boss-summary{align-items:flex-start;flex-wrap:wrap}.boss-heading{width:calc(100% - 90px)}.summary-chip{width:100%;text-align:center}.center-shell{padding:14px}.auth-card,.team-card{padding:20px}.auth-card h1{font-size:25px}.ad-bottom{height:82px}.ad-bottom>div{min-height:64px}.app-shell{padding-bottom:92px}.drop-list li{flex-basis:100px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
