:root{--paper:#f4f1ea;--paper-raised:#fbf9f4;--ink:#1c1a17;--ink-soft:#5a554c;--line:#ddd6c9;--taken:#b23a32;--taken-deep:#8f2b25;--available:#2f7d54;--available-soft:#d7ebde;--gold:#c79a3a;--accent:#1f3a5f;--m0:#f4f1ea;--m1:#eef2ef;--m2:#f1eef4;--m3:#f3efe9;--m4:#edf1f3;--m5:#f4eef0;--radius:8px;--shadow:0 1px 2px rgba(28,26,23,.06),0 4px 16px rgba(28,26,23,.06)}[data-theme=dark]{--paper:#16181d;--paper-raised:#21242b;--ink:#e7e4dd;--ink-soft:#9a958c;--line:#353941;--taken:#d4534a;--taken-deep:#e2867f;--available:#4cae7d;--available-soft:#1f3a2c;--gold:#e0b450;--accent:#6a93c4;--m0:#16181d;--m1:#181d1b;--m2:#1b181f;--m3:#1d1b17;--m4:#171c1f;--m5:#1d181b;--shadow:0 1px 2px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.45)}[data-theme=dark] .day-cell.partial{background:linear-gradient(180deg,var(--available-soft),#3a2320);color:var(--taken-deep);border-color:#4a2e2a}[data-theme=dark] .macro-cell.partial{background:#4a2e2a}[data-theme=dark] .order-item.current{background:#3a2320;border-color:#5a322d}[data-theme=dark] .day-cell.holiday-day{box-shadow:0 0 0 2px #e0b450,0 0 10px rgba(224,180,80,.6);border-color:#e0b450}[data-theme=dark] .day-cell .holiday-tag{background:#e0b450;color:#2a2200}[data-theme=dark] .arrow-btn,[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea,[data-theme=dark] table.cap-table input{background:#2a2e36;color:var(--ink)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Spline Sans,system-ui,sans-serif;font-size:17px;-webkit-font-smoothing:antialiased}.display,h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em}a{color:var(--accent)}.container{max-width:1280px;margin:0 auto;padding:24px}.draft-layout{display:grid;grid-template-columns:1fr 220px;grid-gap:18px;gap:18px;align-items:start}.draft-main{min-width:0}.order-panel{position:-webkit-sticky;position:sticky;top:16px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);max-height:calc(100vh - 40px);overflow-y:auto}.order-panel h3{margin:0 0 10px;font-size:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.order-list{list-style:none;margin:0 0 4px;padding:4px;max-height:42vh;overflow-y:auto;border:1px solid var(--line);border-radius:6px}.order-item{display:flex;gap:8px;padding:4px 6px;font-size:15px;color:var(--ink);border-radius:5px;align-items:baseline}.order-item .order-num{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:26px;text-align:right}.order-item.past{opacity:.45}.order-item.past .order-name{text-decoration:line-through}.order-item.current{background:#fbeae8;border:1px solid #f0c7c1}.order-item.current .order-name,.order-item.current .order-num{color:var(--taken);font-weight:700}.order-item.round-break{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}.order-item .bought-tag{color:#7c3aed;font-weight:700;font-size:.92em}.holiday-table h3{font-size:16px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.holiday-list{list-style:none;margin:0;padding:0}.holiday-row{display:flex;align-items:baseline;gap:6px;padding:5px 4px;font-size:14px;border-bottom:1px solid var(--line)}.holiday-row:last-child{border-bottom:none}.holiday-star-sm{color:#f5b800;font-size:13px}.holiday-name{flex:1 1;font-weight:600}.holiday-date{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.holiday-date.weekend{font-style:italic}.imp-table .imp-status{font-size:14px;width:16px;text-align:center;flex-shrink:0}.imp-status.got{color:var(--available);font-weight:700}.imp-status.missed{color:var(--taken);font-weight:700}.imp-status.pending{color:#2f7df0;font-size:9px}.imp-status.info{color:var(--ink-soft)}.imp-row .holiday-name{color:var(--ink)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.modal-head h3{margin:0;font-size:20px}.imp-manage-list{list-style:none;margin:14px 0 0;padding:0}.imp-manage-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line);font-size:14px}.imp-manage-row:last-child{border-bottom:none}.imp-manage-row .imp-star{color:#2f7df0}.imp-manage-row .imp-mlabel{flex:1 1;font-weight:600}.imp-manage-row .imp-mdate{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:820px){.draft-layout{grid-template-columns:1fr}.order-panel{position:static;max-height:none;order:-1}}.order-edit-list{list-style:none;margin:0;padding:0}.order-edit-item{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:4px;background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;cursor:-webkit-grab;cursor:grab;font-size:14px}.order-edit-item.dragging{opacity:.5;border-style:dashed}.order-edit-item .drag-handle{color:var(--ink-soft);cursor:-webkit-grab;cursor:grab;font-size:16px}.order-edit-item .order-edit-num{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:22px}.order-edit-item .order-edit-name{flex:1 1;font-weight:600}.order-edit-arrows{display:flex;flex-direction:column;gap:1px}.arrow-btn{border:1px solid var(--line);background:#fff;border-radius:4px;font-size:9px;line-height:1;padding:2px 5px;cursor:pointer;color:var(--ink-soft)}.arrow-btn:disabled{opacity:.3;cursor:not-allowed}.arrow-btn:hover:not(:disabled){border-color:var(--ink-soft)}.lobby-list{display:flex;flex-direction:column;gap:10px}.lobby-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);transition:transform .08s ease,border-color .08s ease}.lobby-card:hover{transform:translateY(-1px);border-color:var(--accent)}.lobby-card-main{display:flex;flex-direction:column;gap:3px}.lobby-label{font-family:Fraunces,serif;font-size:18px;font-weight:600}.lobby-meta{font-size:14px;color:var(--ink-soft)}.lobby-onclock{display:block;margin-top:3px}.save-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:200;background:var(--available);color:#fff;font-weight:700;padding:10px 22px;border-radius:999px;box-shadow:0 4px 18px rgba(0,0,0,.25);animation:toastInOut 3.5s ease forwards;pointer-events:none}@keyframes toastInOut{0%{opacity:0;transform:translate(-50%,-10px)}8%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.roster-table{table-layout:fixed}table.cap-table.roster-table td input,table.cap-table.roster-table td select{width:100%;min-width:0;box-sizing:border-box}.roster-table td{padding-right:8px}table.cap-table.roster-table td:last-child{padding-right:0;text-align:center}table.cap-table.roster-table td:last-child button{width:auto;padding:4px 8px}.pool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.pool-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.pool-card h3{margin:0 0 10px;font-size:17px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);padding-bottom:8px}.pool-card .pool-holidays{font-family:Spline Sans,sans-serif;font-size:13px;font-weight:600;color:var(--gold)}.pool-list{list-style:none;margin:0;padding:0}.pool-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px;font-size:15px;border-bottom:1px solid var(--line)}.pool-row:last-child{border-bottom:none}.pool-row .pool-x{padding:0 8px;font-size:13px;line-height:1.6;color:var(--taken)}.pool-add{display:flex;gap:6px;margin-top:10px}.pool-add input{flex:1 1;min-width:0}.tier-chip{margin-left:6px;font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--line);color:var(--ink-soft);vertical-align:middle}.lobby-onclock strong{color:var(--ink)}.turn-banner .clock-elapsed{font-weight:700;opacity:.95;white-space:nowrap}.lobby-card-right{display:flex;align-items:center;gap:12px}.lobby-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.lobby-badge.you{background:var(--available);color:#fff}.lobby-badge.watch{background:var(--line);color:var(--ink-soft)}.lobby-arrow{font-size:20px;color:var(--accent)}@media print{.legend,.order-panel,.pick-panel,.tabs,.theme-toggle,.topbar,.turn-banner,button{display:none!important}body{background:#fff;color:#000}.container{max-width:none;padding:0}.people-grid{display:block}.person-card{page-break-inside:avoid;break-inside:avoid;box-shadow:none;border:1px solid #ccc;margin-bottom:10px}}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:20px}.topbar h1{font-size:26px;margin:0}.topbar .sub{color:var(--ink-soft);font-size:14px}.turn-banner{background:var(--accent);color:#fff;border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;box-shadow:var(--shadow)}.turn-banner.your-turn{background:var(--available)}.turn-banner .who{font-family:Fraunces,serif;font-size:18px}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:var(--paper-raised);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:15px;font-weight:500;color:var(--ink-soft);transition:all .12s ease}.tab:hover{border-color:var(--ink-soft)}.tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.week-row{display:grid;grid-template-columns:92px repeat(5,1fr);grid-gap:4px;gap:4px;margin-bottom:4px;align-items:stretch}.week-label{display:flex;flex-direction:column;justify-content:center;padding:6px 8px;font-size:13px;color:var(--ink-soft);border-radius:6px;position:relative}.week-label .wk-date{font-weight:600;color:var(--ink)}.holiday-star{position:absolute;top:2px;right:4px;color:var(--gold);font-size:15px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.day-cell{min-height:74px;border-radius:6px;padding:5px 7px;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;cursor:default;border:1px solid transparent;transition:transform .08s ease,box-shadow .08s ease;overflow:hidden}.day-cell .cap{opacity:.75;margin-top:auto}.day-cell .cap,.day-cell .names{font-size:12px;text-align:center;width:100%}.day-cell .names{line-height:1.3;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:1px}.day-cell .names .name-line{display:block;width:100%}.day-cell.full .cap{opacity:.9}.day-cell.available{background:var(--available-soft);color:var(--available);border-color:#bcdcc8}.day-cell.full{background:var(--taken);color:#fff}.day-cell.partial{background:linear-gradient(180deg,var(--available-soft),#f3dcd8);color:var(--taken-deep);border-color:#e3c4be}.day-cell.selectable{cursor:pointer}.day-cell.selectable:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.day-cell.selected{outline:3px solid var(--accent);outline-offset:-1px;box-shadow:inset 0 0 0 100px rgba(31,58,95,.12);font-weight:700}.day-cell.holiday-day{border:3px solid #ffd400;box-shadow:0 0 0 2px #ffd400,0 0 10px rgba(255,212,0,.7);z-index:1}.day-cell.holiday-day.selected{outline:2px solid var(--accent)}.day-cell .holiday-tag{font-size:11px;font-weight:700;color:#8a6d00;background:#ffd400;border-radius:3px;padding:1px 4px;margin-bottom:1px;line-height:1.2;text-align:center;width:100%}.day-cell.full .holiday-tag{color:#8a6d00}.day-cell.important-day{border:3px solid #2f7df0;box-shadow:0 0 0 2px #2f7df0,0 0 10px rgba(47,125,240,.6);z-index:1}.day-cell.important-day.holiday-day{box-shadow:0 0 0 2px #2f7df0,0 0 0 5px #ffd400}.day-cell .important-tag{font-size:11px;font-weight:700;color:#fff;background:#2f7df0;border-radius:3px;padding:1px 4px;margin-bottom:1px;line-height:1.2;text-align:center;width:100%}.day-cell.my-week,.day-cell.my-week.holiday-day,.day-cell.my-week.important-day{box-shadow:inset 0 0 0 3px #7c3aed}.day-cell.conflict{opacity:.4;cursor:not-allowed;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 10px)}.day-cell.dayhead{min-height:0;background:transparent;color:var(--ink-soft);font-weight:600;text-align:center;justify-content:center;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.month-band{border-radius:var(--radius);padding:10px;margin-bottom:10px}.month-band h3{margin:2px 6px 10px;font-size:16px}.macro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.macro-month{border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}.macro-month h3{font-size:14px;margin:0 0 8px}.macro-week{display:grid;grid-template-columns:54px repeat(5,1fr);grid-gap:2px;gap:2px;margin-bottom:2px}.macro-week .wl{font-size:10px;color:var(--ink-soft);display:flex;align-items:center}.macro-cell{height:20px;border-radius:3px;position:relative}.macro-cell.available{background:var(--available-soft)}.macro-cell.partial{background:#e9c9c3}.macro-cell.full{background:var(--taken)}.macro-cell.holiday{box-shadow:inset 0 0 0 2px #ffd400}.macro-cell.important{box-shadow:inset 0 0 0 2px #2f7df0}.macro-cell.holiday.important{box-shadow:inset 0 0 0 2px #ffd400,inset 0 0 0 4px #2f7df0}.macro-cell.mine{box-shadow:inset 0 0 0 2px #7c3aed}.macro-cell.mine.holiday{box-shadow:inset 0 0 0 2px #7c3aed,inset 0 0 0 4px #ffd400}.macro-cell.mine.important{box-shadow:inset 0 0 0 2px #7c3aed,inset 0 0 0 4px #2f7df0}.macro-cell .ministar{position:absolute;top:-5px;right:-2px;font-size:11px;color:#f5b800;text-shadow:0 0 2px rgba(0,0,0,.4);z-index:1}.macro-cell .ministar.blue{color:#2f7df0}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.person-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.person-card .nm{font-family:Fraunces,serif;font-size:17px;display:flex;justify-content:space-between;align-items:center}.person-card .tier-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--accent);color:#fff}.person-card .tier-badge.A{background:var(--ink-soft)}.person-card ol{margin:10px 0 0;padding-left:18px}.person-card li{font-size:14px;margin-bottom:4px}.person-card .split-tag{font-size:10px;color:var(--taken-deep);font-weight:700;margin-left:4px}.person-card .remaining{margin-top:8px;font-size:13px;color:var(--ink-soft)}.pick-panel{position:-webkit-sticky;position:sticky;top:16px;z-index:50;background:var(--paper-raised);background-color:var(--paper-raised);isolation:isolate;border:2px solid var(--accent);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:18px}.pick-panel .mode-toggle,.pick-panel h3,.pick-panel p{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pick-panel .btn{position:relative;z-index:1}.pick-panel h3{margin:0 0 8px}.btn{border:none;border-radius:6px;padding:10px 18px;cursor:pointer;font-weight:600;font-size:15px;font-family:Spline Sans,sans-serif}.btn-primary{background:var(--available);color:#fff}.btn-primary:disabled{background:#b9c4bd;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:var(--taken);color:#fff}.mode-toggle{display:flex;gap:6px;margin:8px 0}.error{color:var(--taken-deep);font-size:14px;margin-top:8px}.legend{display:flex;gap:16px;font-size:13px;color:var(--ink-soft);margin:6px 0 16px;flex-wrap:wrap}.legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:4px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--ink-soft)}.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-family:Spline Sans,sans-serif;font-size:15px;background:#fff}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1 1;min-width:160px}table.cap-table{width:100%;border-collapse:collapse;font-size:14px}table.cap-table td,table.cap-table th{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}table.cap-table input{width:64px}