:root{color:#292b32;font-synthesis:none;text-rendering:optimizelegibility;--ink:#292b32;--muted:#8e8d94;--line:#e5e1db;--orange:#ef9855;--silver:#b9c3c9;--cyan:#76cbd1;background:#f5f4f1;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:radial-gradient(circle at 8% 4%,#fff0dc 0,#0000 28%),radial-gradient(circle at 92% 92%,#e2f1f0 0,#0000 27%),#f5f4f1;min-width:320px;overflow:hidden}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,[role=button]:focus-visible{outline-offset:2px;outline:3px solid #ef985561}.app-shell{grid-template-rows:calc(66px + env(safe-area-inset-top)) minmax(0, 1fr);width:min(780px,100%);height:100dvh;margin:0 auto;display:grid;overflow:hidden}.topbar{z-index:20;padding:env(safe-area-inset-top) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf9f6e6;border-bottom:1px solid #e1dcd4d1;grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand__icon{object-fit:contain;filter:drop-shadow(0 5px 8px #3c373221);flex:none;width:54px;height:54px}.brand>span{flex-direction:column;min-width:0;display:flex}.brand strong{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900;overflow:hidden}.brand small{color:var(--muted);margin-top:1px;font-size:9px;font-weight:700}.sync-pill{color:#527565;background:#f2fbf7;border:1px solid #dbeae2;border-radius:999px;align-items:center;gap:6px;height:36px;padding:0 10px;font-size:10px;display:flex}.sync-pill>span{background:#58bf8d;border-radius:50%;width:7px;height:7px}.sync-pill--offline,.sync-pill--error{color:#a36d62;background:#fff5f2;border-color:#f0deda}.reset-button{color:#6d6c73;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:5px;min-width:46px;height:46px;padding:0 12px;font-size:10px;font-weight:800;display:flex}.team-list{min-height:0;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.team-card{cursor:pointer;touch-action:manipulation;background:#fffffff0;border:1px solid #e5e1da;border-radius:18px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:7px;transition:scale .15s,border-color .15s;display:grid;overflow:hidden;box-shadow:0 7px 19px #4840370f}.team-card:active{scale:.985}.team-card.is-self{background:linear-gradient(135deg,#fff4c8,#fff 70%);border-color:#dfbd52}.team-card__header{justify-content:space-between;align-items:center;gap:6px;min-height:37px;padding:0 4px 5px;display:flex}.team-card__number{align-items:baseline;gap:5px;display:flex}.team-card__number small{color:#9a999f;font-size:8px;font-weight:800}.team-card__number strong{font-size:24px;line-height:1}.team-card.is-self .team-card__number small,.team-card.is-self .team-card__number strong{color:#98700f}.team-card__status{color:#a09da1;font-size:9px;font-weight:800}.team-card__members{grid-template-rows:repeat(3,minmax(0,1fr));gap:5px;min-height:0;display:grid}.member-name{color:#49484d;border:1px solid color-mix(in srgb, var(--role-color) 44%, #e3dfd9);background:color-mix(in srgb, var(--role-color) 10%, white);cursor:pointer;touch-action:manipulation;border-radius:12px;justify-content:center;align-items:center;gap:5px;width:100%;min-width:0;min-height:38px;padding:5px 7px;display:flex}.member-name.is-empty{color:#aaa7a2;background:#faf9f7;border-style:dashed}.member-name__role{background:var(--role-color);border-radius:7px;flex:none;place-items:center;width:20px;height:20px;font-size:8px;font-weight:850;display:grid}.member-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;overflow:hidden}.member-name.is-empty>span{font-size:12px;font-weight:700}.member-name.is-dead{color:#8e8b8c;background:#e8e5e1;border-color:#c9c5c1;text-decoration:line-through}.member-name.is-dead svg{color:#7b6965}.team-card__ours{color:#8d6916;background:#ffeeadad;border:1px solid #e5c45b;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:0;display:flex}.team-card__ours strong{font-size:12px}.team-card__ours small{color:#aa8b42;font-size:8px}.modal-backdrop{z-index:50;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#453f3957;align-items:end;display:grid;position:fixed;inset:0}.team-picker{width:min(780px,100%);max-height:calc(100dvh - env(safe-area-inset-top));background:#fbfaf8;border:1px solid #e4ded6;border-radius:24px 24px 0 0;grid-template-rows:auto minmax(0,1fr) auto;justify-self:center;display:grid;overflow:hidden;box-shadow:0 -18px 60px #372f2833}.team-picker__header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 48px;align-items:center;gap:12px;padding:10px 12px;display:grid}.team-picker__header small{color:#d27d3c;font-size:9px;font-weight:800}.team-picker__header h2{margin:1px 0 0;font-size:20px}.team-picker__header>span{color:var(--orange);font-size:15px;font-weight:850}.team-picker__header>button{color:#77767c;cursor:pointer;background:#efede9;border:0;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.picker-content{min-height:0;padding:10px 12px;overflow-y:auto}.self-choice{text-align:left;cursor:pointer;background:#fff6d4;border:1px solid #e5d291;border-radius:17px;grid-template-columns:48px 1fr 30px;align-items:center;gap:9px;width:100%;min-height:64px;padding:7px 10px 7px 7px;display:grid}.self-choice.is-selected{background:#ffeb9e;border-color:#d8ad29}.self-choice__mark{color:#8b6818;background:#ffe28a;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.self-choice>span:nth-child(2){flex-direction:column;display:flex}.self-choice strong{font-size:12px}.self-choice small{color:#a28b55;margin-top:3px;font-size:9px}.self-choice__check{color:#fff;border:2px solid #e3ca82;border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.self-choice.is-selected .self-choice__check{background:#c99510;border-color:#c99510}.all-operators{flex-direction:column;gap:11px;min-height:0;margin-top:11px;display:flex}.operator-group h3{color:#67666c;align-items:center;gap:6px;margin:0 0 6px;font-size:11px;display:flex}.operator-group h3 svg{color:var(--role-color)}.operator-group__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.operator-group__grid button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e1db;border-radius:14px;flex-direction:column;justify-content:center;min-width:0;min-height:55px;padding:7px 36px 7px 11px;display:flex;position:relative}.operator-group__grid strong{font-size:12px}.operator-group__grid small{color:#aaa7ad;margin-top:2px;font-size:8px}.operator-group__grid button>span{border:2px solid #e0dcd6;border-radius:8px;place-items:center;width:24px;height:24px;display:grid;position:absolute;right:9px}.operator-group__grid button.is-selected{border-color:var(--role-color);background:color-mix(in srgb, var(--role-color) 13%, white)}.operator-group__grid button.is-selected>span{color:#fff;border-color:var(--role-color);background:var(--role-color)}.operator-group__grid button:disabled{opacity:.42;cursor:default}.team-picker__footer{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#faf8f4;grid-template-columns:1fr 78px minmax(126px,164px);align-items:center;gap:7px;display:grid}.team-picker__footer>span{color:#99979c;font-size:9px}.secondary-button,.primary-button{cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:46px;font-size:11px;font-weight:800;display:flex}.secondary-button{background:#fff;border:1px solid #e1ddd6}.primary-button{color:#fff;background:linear-gradient(145deg,#ffad66,#f3944e);border:1px solid #ed9250;box-shadow:0 7px 16px #e6843b33}.modal-backdrop--center{place-items:center;padding:14px}.confirm-dialog{background:#fff;border-radius:24px;grid-template-columns:58px 1fr;gap:14px;width:min(430px,100%);padding:20px;display:grid;box-shadow:0 25px 70px #41383033}.confirm-dialog__icon{color:#ee8f4c;background:#fff0e2;border-radius:18px;place-items:center;width:54px;height:54px;display:grid}.confirm-dialog h2{margin:2px 0 4px;font-size:19px}.confirm-dialog p{color:#8d8b91;margin:0;font-size:11px;line-height:1.6}.confirm-dialog__actions{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:9px;display:grid}.confirm-dialog__actions button{cursor:pointer;background:#f8f6f3;border:1px solid #e4e0da;border-radius:14px;min-height:48px;font-weight:800}.confirm-dialog__actions .is-danger{color:#fff;background:#ef8c75;border-color:#ef8c75}@media (max-width:480px){.app-shell{grid-template-rows:calc(62px + env(safe-area-inset-top)) minmax(0, 1fr)}.brand{gap:7px}.brand__icon{width:50px;height:50px}.brand strong{font-size:16px}.sync-pill strong,.reset-button span{display:none}.sync-pill{justify-content:center;width:38px;min-width:38px;padding:0}.reset-button{width:44px;min-width:44px;height:44px;padding:0}.team-list{gap:6px;padding:6px}.team-card{border-radius:16px;padding:6px}.team-card__header{min-height:32px;padding-bottom:4px}.team-card__number strong{font-size:21px}.team-card__members{gap:4px}.member-name{min-height:34px;padding:3px 5px}.member-name__role{border-radius:6px;width:17px;height:17px}.member-name strong{font-size:13px}.team-card__ours strong{font-size:11px}.team-picker__footer{grid-template-columns:72px minmax(122px,1fr)}.team-picker__footer>span{display:none}}@media (min-width:620px){.operator-group__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (orientation:landscape) and (max-height:500px){.app-shell{grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0, 1fr);width:min(1100px,100%)}.brand__icon{width:48px;height:48px}.team-list{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.team-picker{border-radius:0;width:min(1000px,100%);height:100dvh}.picker-content{padding-top:7px}.all-operators{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}}
