/* Admin tools use the same blue and gold shell as player views. */
.admin-workspace{max-width:1100px;margin:0 auto}.admin-heading-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-card{border:1px solid #f2e8d4;border-radius:20px;background:#ffffffeb;padding:25px 28px;margin:18px 0;box-shadow:0 7px 28px #805b4205}.admin-card h2{font-size:var(--fs-lg);margin:0 0 19px;line-height:1.5}.admin-card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.admin-card-title h2{margin:0}.admin-copy,.admin-fold-body>p{color:var(--t-3);font-size:var(--fs-sm);line-height:1.9}.admin-footnote{font-size:var(--fs-xs);color:var(--t-3);line-height:1.8;margin:14px 0}.admin-candidate-head,.admin-candidate{display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(100px,1fr) 105px 14px;gap:16px;align-items:center}.admin-candidate-head{font-size:var(--fs-xs);color:var(--t-3);background:#faf6ee;padding:13px 15px;border-radius:10px 10px 0 0}.admin-candidate{width:100%;border:0;border-bottom:1px solid #f6eedf;background:none;color:var(--t-2);font-size:var(--fs-sm);text-align:left;min-height:77px;padding:14px 15px;cursor:pointer}.admin-candidate:hover{background:#fcf9f4}.admin-candidate-name{display:flex;align-items:center;gap:18px;font-weight:var(--fw-2)}.admin-mini-grid{width:35px;height:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;flex-shrink:0}.admin-mini-grid i{border:1px solid #e3d9ca;background:#f7f1e5;border-radius:2px}.admin-mini-grid i.selected{background:#2c4e98;border-color:#2c4e98}.admin-chevron{font-size:var(--fs-lg);color:var(--t-3)}.admin-candidate .badge{justify-self:start}.admin-more{margin-top:13px}.admin-more>summary{color:var(--t-link);font-size:var(--fs-sm);cursor:pointer;min-height:44px;padding:13px 0;line-height:1.5}.admin-more .admin-candidate{padding-left:15px}.admin-fold{padding:0;overflow:hidden}.admin-fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:19px 26px;min-height:63px;font-size:var(--fs-md);font-weight:var(--fw-2)}.admin-fold>summary::-webkit-details-marker{display:none}.admin-fold>summary>span{font-size:var(--fs-lg);color:var(--t-3);transition:transform .15s}.admin-fold[open]>summary>span{transform:rotate(180deg)}.admin-fold[open]>summary{border-bottom:1px solid #f6eede}.admin-fold-body{padding:12px 26px 23px}.admin-heat-scroll{overflow-x:auto;padding:8px 0}.admin-heatmap{width:100%;border-collapse:separate;border-spacing:5px;text-align:center;font-size:var(--fs-sm)}.admin-heatmap th{font-weight:var(--fw-2);color:var(--t-3);white-space:nowrap;padding:7px 2px;min-width:31px}.admin-heatmap td{background:rgba(40,127,194,var(--heat));border-radius:5px;height:35px;color:var(--t-2);min-width:31px}.admin-bars>div{display:grid;grid-template-columns:38px 1fr 50px;gap:14px;align-items:center;font-size:var(--fs-xs);color:var(--t-3);padding:7px 0}.admin-bars b{font-weight:var(--fw-2);text-align:right}.admin-bar{height:14px;border-radius:5px;background:#faf5ec;overflow:hidden}.admin-bar i{display:block;height:100%;background:#cbb89d;border-radius:5px}.admin-rule{border-top:1px solid #f6eede;margin-top:12px}.admin-rule>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:67px;font-size:var(--fs-sm);color:var(--t-2);list-style:none}.admin-rule>summary::-webkit-details-marker{display:none}.admin-rule>div{font-size:var(--fs-sm);color:var(--t-3);line-height:1.9;padding-bottom:10px}.admin-rule .badge{flex-shrink:0}.admin-stat-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #f7f1e4;color:var(--t-3);font-size:var(--fs-sm);line-height:1.7}.admin-stat-line b{color:var(--t-2);font-weight:var(--fw-2);text-align:right}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.admin-metrics>div{padding:17px;background:#fbf7f0;border-radius:12px;color:var(--t-3);font-size:var(--fs-xs)}.admin-metrics b{display:block;margin-top:7px;font-size:var(--fs-lg);font-weight:var(--fw-2);color:var(--t-link)}.admin-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.admin-invite{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.admin-invite code{padding:14px 19px;background:#faf7ef;border:1px dashed #ded2c1;border-radius:10px;color:var(--t-link);font-size:var(--fs-lg);font-weight:var(--fw-2);letter-spacing:2px;user-select:all;overflow-wrap:anywhere}.admin-search{display:flex;align-items:center;gap:14px;font-size:var(--fs-xs);color:var(--t-3);margin:20px 0}.admin-search input{flex:1;max-width:390px;min-width:0;border:1px solid #f0e4cb;border-radius:10px;background:#fdfaf6;padding:12px;color:var(--t-2);outline:none}.admin-search input:focus{border-color:#bfa987;box-shadow:0 0 0 2px #f6efe0}.admin-member{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid #f6efe1}.admin-member-name{flex:1;min-width:0}.admin-member-name strong{font-size:var(--fs-sm);color:var(--t-2);font-weight:var(--fw-2);overflow-wrap:anywhere;display:block}.admin-member-name small{font-size:var(--fs-xs);color:var(--t-3);display:block;margin-top:5px;line-height:1.5}.admin-member-name strong small{display:inline;font-weight:var(--fw-1)}.admin-member.is-deleted .portrait{filter:grayscale(.75);opacity:.65}.admin-member.is-deleted .admin-member-name strong{color:var(--t-3)}.admin-member>.button{flex-shrink:0}.admin-dialog .dialog-copy{overflow-wrap:anywhere}.admin-copy-code{padding:16px;border:1px dashed #e2d8ca;background:#fbf7f0;color:var(--t-link);text-align:center;font-size:var(--fs-lg);letter-spacing:2px;user-select:all;overflow-wrap:anywhere}.admin-sequence{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;margin:18px 0}.admin-sequence span{background:#faf6ed;color:var(--t-link);border:1px solid #f1e5ce;border-radius:6px;display:grid;place-items:center;height:38px;font-size:var(--fs-md)}.admin-sequence .unknown{background:#faf7ef;color:var(--t-3)}.admin-layer-list section{padding:12px 0;border-bottom:1px solid #f7f0e3}.admin-layer-list h3{font-size:var(--fs-sm);color:var(--t-2);margin:0 0 7px}.admin-layer-list p{font-size:var(--fs-xs);line-height:1.8;color:var(--t-3);margin:5px 0;overflow-wrap:anywhere}
@media(max-width:720px){.admin-card{padding:18px 15px;border-radius:15px;margin:14px 0}.admin-card h2{font-size:var(--fs-md)}.admin-copy,.admin-fold-body>p{font-size:var(--fs-xs)}.admin-footnote{font-size:var(--fs-xs)}.admin-candidate-head,.admin-candidate{grid-template-columns:minmax(118px,1.6fr) minmax(51px,.8fr) 70px;gap:7px;padding:12px 0;font-size:var(--fs-xs)}.admin-candidate-head{padding:11px 6px;font-size:var(--fs-xs)}.admin-candidate-name{gap:8px;font-size:var(--fs-xs)}.admin-mini-grid{width:26px;height:26px;gap:2px}.admin-candidate .admin-chevron{display:none}.admin-candidate .badge{font-size:var(--fs-xs);padding:5px}.admin-more .admin-candidate{padding-left:0}.admin-fold{padding:0}.admin-fold>summary{font-size:var(--fs-md);min-height:58px;padding:15px 17px}.admin-fold-body{padding:9px 15px 17px}.admin-heatmap{font-size:var(--fs-xs);border-spacing:3px}.admin-heatmap th,.admin-heatmap td{min-width:22px}.admin-heatmap td{height:30px}.admin-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.admin-metrics>div{font-size:var(--fs-xs);padding:13px}.admin-metrics b{font-size:var(--fs-lg)}.admin-stat-line{font-size:var(--fs-xs);gap:10px}.admin-rule>summary{font-size:var(--fs-xs);gap:8px}.admin-rule>div{font-size:var(--fs-xs)}.admin-invite{gap:8px}.admin-invite code{font-size:var(--fs-md);max-width:100%;padding:12px 14px}.admin-search{font-size:var(--fs-xs);gap:10px}.admin-search input{font-size:var(--fs-md);padding:10px;width:100%}.admin-member{gap:9px;flex-wrap:wrap;padding:16px 0}.admin-member .portrait{width:33px;height:33px}.admin-member-name strong{font-size:var(--fs-sm)}.admin-member-name small{font-size:var(--fs-xs)}.admin-member>.button{padding:8px 10px;min-height:38px;font-size:var(--fs-xs)}.admin-member>.badge{font-size:var(--fs-xs)}.admin-card-title{gap:9px}.admin-card-title .button{padding:8px 11px}.admin-more>summary{font-size:var(--fs-xs)}.admin-sequence span{height:32px;font-size:var(--fs-sm)}}
@media(prefers-reduced-motion:reduce){.admin-fold>summary>span{transition:none}}
