:root{--sign-occupied:#b3261e;--sign-vacant:#2e6b3a}.occupied{margin-top:16px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px}.occupied-mark{display:flex;align-items:center;gap:10px;margin:0 0 10px}.occupied-badge{width:36px;height:36px;flex:none}.occupied-park{margin:0;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--accent);line-height:1.2}.occupied-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.occupied-sign{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.occupied[data-sign=occupied] .occupied-sign{color:var(--sign-occupied)}.occupied[data-sign=vacant] .occupied-sign{color:var(--sign-vacant)}.occupied-sign-dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}.occupied-sub{font-size:.95rem;color:var(--muted);font-weight:700}.occupied[data-sign=occupied] .occupied-sub[data-free=yes]{color:var(--sign-vacant)}.occupied[data-sign=occupied] .occupied-sub[data-free=no]{color:var(--sign-occupied)}.occupied-open{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.occupied-row{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"who clock out" "line line out" "track track track";align-items:center;grid-column-gap:12px;column-gap:12px;grid-row-gap:2px;row-gap:2px;padding:8px 0;border-top:1px solid var(--line)}.occupied-row:first-child{border-top:0;padding-top:0}.occupied-who{grid-area:who;display:flex;flex-direction:column;min-width:0}.occupied-name{font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.occupied-two{display:inline-grid;place-items:center;min-width:44px;min-height:44px;margin:-12px -5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.occupied-two>span{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.02em;color:var(--card);background:var(--sign-occupied);border-radius:999px;padding:1px 7px;line-height:1.5}.occupied-two-off>span{color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.occupied-two:disabled{cursor:default}.occupied-floor{font-size:.95rem;font-weight:600;color:var(--ink)}.occupied-by{font-size:.78rem;color:var(--muted)}.occupied-clock{grid-area:clock;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:1.15rem;color:var(--ink)}.occupied-line{grid-area:line;font-size:.85rem;color:var(--muted)}.occupied-track{grid-area:track;margin-top:8px}.occupied-track-bar{height:6px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.occupied-track-fill{height:100%;background:var(--accent);border-radius:999px;transition:width 1s linear}.occupied-track-stages{display:flex;justify-content:space-between;margin-top:4px}.occupied-track-stage{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.occupied-track-stage[data-passed=yes]{color:var(--ink)}.occupied-track-stage[data-current=yes]{color:var(--accent);font-weight:800}.occupied-party{grid-area:line;justify-self:start;margin-top:4px;font:inherit;font-size:.85rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border:0;border-radius:999px;padding:10px 14px;min-height:44px;cursor:pointer}.occupied-party:disabled{opacity:.6;cursor:default}.occupied-party:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.occupied-out{grid-area:out;font:inherit;font-size:.85rem;font-weight:700;color:var(--accent);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);border-radius:999px;padding:10px 16px;min-height:44px;min-width:64px;cursor:pointer}.occupied-out:disabled{opacity:.6;cursor:default}.occupied-chip:focus-visible,.occupied-in:focus-visible,.occupied-out:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.occupied-in{margin:12px 0 0;display:inline-block;font:inherit;font-size:.9rem;font-weight:700;color:var(--card);background:var(--accent);border:0;border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer}.occupied-in:disabled{opacity:.6;cursor:default}.occupied-pick{margin:12px 0 0}.occupied-pick-q{margin:0 0 8px;font-size:.9rem;font-weight:700;color:var(--ink)}.occupied-chips{display:flex;flex-wrap:wrap;gap:8px}.occupied-chip{font:inherit;font-size:.9rem;font-weight:600;color:var(--ink);background:var(--accent-soft);border:1px solid transparent;border-radius:999px;padding:10px 14px;min-height:44px;cursor:pointer}.occupied-chip:disabled{cursor:default}.occupied-chip-quiet,.occupied-chip:disabled{color:var(--muted);background:transparent;border-color:var(--line)}.occupied-error{margin:10px 0 0;font-size:.9rem;color:var(--danger)}.occupied-standings{margin:14px 0 0}.occupied-table{width:100%;border-collapse:collapse;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.occupied-table td,.occupied-table th{padding:5px 0 5px 8px;text-align:right;border-top:1px solid var(--line);white-space:nowrap}.occupied-table thead th{border-top:0;padding-top:0;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.occupied-table .occupied-th-name{text-align:left;padding-left:0;font-weight:600;color:var(--ink)}.occupied-table td{color:var(--ink);font-weight:600}.occupied-table tbody tr:first-child td,.occupied-table tbody tr:first-child th{font-weight:800}.occupied-in-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sign-occupied);margin-left:6px;vertical-align:middle}.occupied-filter{margin:4px 0 8px}.occupied-filter .occupied-chip[aria-pressed=true]{background:var(--accent);color:var(--card);border-color:var(--accent)}.occupied-empty{margin:6px 0;font-size:.85rem;color:var(--muted)}.occupied-more{display:block;width:100%;min-height:44px;margin:2px 0 0;font:inherit;font-size:.85rem;font-weight:700;color:var(--accent);background:transparent;border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;padding:0}.occupied-record{margin:14px 0 0}.occupied-record-head{margin:0 0 4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--muted)}.occupied-done{list-style:none;margin:0;padding:0}.occupied-done-row{display:grid;grid-template-columns:1fr auto auto;grid-column-gap:12px;column-gap:12px;align-items:baseline;padding:6px 0;border-top:1px solid var(--line);font-size:.9rem}.occupied-done-row:first-child{border-top:0}.occupied-done-who{color:var(--ink);font-weight:600;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.occupied-done-when{flex-basis:100%;font-size:.78rem;font-weight:500;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.occupied-done-floor{color:var(--muted);font-size:.82rem}.occupied-done-time{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.occupied-score{margin:12px 0 0;font-size:.85rem;color:var(--muted);line-height:1.45}.occupied-piece-btn{font:inherit;font-size:.8rem;font-weight:700;color:var(--accent);background:transparent;border:0;padding:0;min-height:44px;margin:-10px 0;cursor:pointer;text-align:left}.occupied-floor.occupied-piece-btn{font-size:.95rem;font-weight:600;color:var(--ink)}.occupied-done-floor.occupied-piece-btn,.occupied-floor.occupied-piece-btn{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px}.occupied-done-floor.occupied-piece-btn{font-weight:500;color:var(--muted);font-size:.9rem}.sheet-card.piece-sheet{padding:0 0 max(16px,env(safe-area-inset-bottom));overflow-y:auto}.piece-art{line-height:0;border-bottom:1px solid var(--line);background:#fdfaf8;border-radius:16px 16px 0 0;overflow:hidden}.piece-art svg{width:100%;height:auto;max-height:min(52dvh,480px);display:block;margin:0 auto}.piece-placard{padding:14px 20px 0;color:var(--ink);font-family:ui-serif,Georgia,Times New Roman,serif}.piece-artist{margin:0;font-weight:700;font-size:1rem}.piece-title{margin:0;font-size:1rem;font-weight:400}.piece-line{margin:0;font-size:.92rem}.piece-credit{margin:2px 0 0;font-size:.8rem;color:var(--muted)}.piece-statement{margin:10px 0 0;font-size:.95rem;line-height:1.4}.piece-note-label{display:block;margin:14px 20px 4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--muted)}.piece-note{display:block;width:calc(100% - 40px);margin:0 20px;font:inherit;font-size:1rem;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);resize:vertical}.piece-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 20px 0}.piece-close,.piece-save,.piece-share,.piece-times-save{font:inherit;font-weight:700;min-height:44px;padding:0 16px;border-radius:999px;cursor:pointer}.piece-save,.piece-times-save{color:var(--card);background:var(--accent);border:0}.piece-save:disabled,.piece-times-save:disabled{opacity:.55;cursor:default}.piece-share{color:var(--accent);background:transparent;border:1.5px solid var(--accent)}.piece-close{color:var(--muted);background:transparent;border:1.5px solid var(--line);margin-left:auto}.piece-dated{margin:2px 0 0;font-size:.8rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.piece-times{margin:4px 0 0;padding:0;border:0;min-width:0}.piece-times-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 20px}.piece-time{display:grid;grid-gap:2px;gap:2px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--muted)}.piece-time input{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;font-weight:600;color:var(--ink);min-height:44px;padding:0 10px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.piece-times-save{margin-left:auto}.piece-remove-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 20px 0}.piece-remove{font:inherit;font-weight:700;min-height:44px;padding:0 16px;border-radius:999px;cursor:pointer;color:var(--sunset,#b3261e);background:transparent;border:1.5px solid}.piece-remove-yes{color:var(--card);background:var(--sunset,#b3261e);border-color:transparent}.piece-remove-q{font-size:.95rem;color:var(--ink);flex:1 0 100%}.piece-remove-row .occupied-error,.piece-times .occupied-error{flex:1 0 100%;margin:6px 20px 0}