body #allocation-launcher{position:fixed;right:68px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:4;width:112px;height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px solid var(--hud-edge);border-radius:24px;background:var(--hud-surface)!important;color:var(--hud-text)!important;font-size:13px;backdrop-filter:var(--hud-blur);-webkit-backdrop-filter:var(--hud-blur)}
body #allocation-launcher svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body #allocation-launcher[hidden],body.panel-open #allocation-launcher,body[data-petting=true] #allocation-launcher,body[data-tribute-ceremony=true] #allocation-launcher,body[data-scene=grove] #allocation-launcher{display:none}
body .panel.allocation-panel{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 116px);right:16px;top:76px;padding:22px;overscroll-behavior:contain}
.allocation-picker{font-family:var(--ui-font);font-size:14px;line-height:1.5;color:var(--ink)}
.allocation-picker .allocation-intro{font-size:15px;line-height:1.75;margin:0 0 20px;color:#625d55}
.allocation-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.allocation-top>span{font-size:13px;font-weight:600;text-align:right}
body .allocation-picker button{min-height:44px;border-radius:10px;padding:10px 12px;font-size:13px;backdrop-filter:none;-webkit-backdrop-filter:none}
body .allocation-picker button:disabled{cursor:default;opacity:.58}
.allocation-halls{display:grid;gap:9px}
body .allocation-picker .allocation-hall{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:13px 15px;text-align:left;background:#343a37eb!important;border-color:#ffffff65;border-radius:14px;min-height:94px}
body .allocation-picker .allocation-hall:hover:not(:disabled){background:#454b47!important}
.allocation-hall-art{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#e7d7bb24;color:#ebd8b6}
.allocation-hall-art[data-tone="2"]{background:#c7d9b326;color:#d9e8c3}.allocation-hall-art[data-tone="3"]{background:#adcfdc26;color:#c5e4ee}.allocation-hall-art[data-tone="4"]{background:#d0c6eb26;color:#e4d9fb}.allocation-hall-art[data-tone="5"]{background:#efc8c826;color:#f0ced3}
.allocation-hall-art svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.allocation-hall-copy{min-width:0;display:grid;gap:2px}.allocation-hall-copy>small{font-size:10px;color:#c4ccc4}.allocation-hall-copy>strong{font-size:16px;font-weight:600;letter-spacing:-.02em}.allocation-hall-copy>span{font-size:11px;color:#c4ccc4;word-break:keep-all}
.allocation-hall-count{display:grid;text-align:right;min-width:66px;gap:1px}.allocation-hall-count b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.allocation-hall-count small{font-size:10px;color:#cad0c8}.allocation-hall:disabled .allocation-hall-count b{font-size:12px}
.allocation-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 16px}.allocation-summary>strong{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.allocation-summary small{font-size:12px;margin-left:7px;color:#777169;font-weight:400}
.allocation-bank-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:20px}.allocation-bank-label>span{font-size:12px;font-weight:600}.allocation-bank-label select{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;background:#fffdf8;border:1px solid var(--edge);color:var(--ink);font-size:14px}
.allocation-seat-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13px}.allocation-seat-heading>span{font-size:12px;color:#777169}
.allocation-legend{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 13px;color:#777169;font-size:11px}.allocation-legend>span{display:flex;align-items:center;gap:5px}.allocation-legend i{width:12px;height:12px;border-radius:4px 4px 2px 2px;background:#55645a;border:1px solid #b9c7b9}.allocation-legend .selected{background:#eadab5;border-color:#b49a63}.allocation-legend .occupied{background:repeating-linear-gradient(135deg,#ddd8cd 0 3px,#eee9df 3px 5px);border-color:#cac3b5}
.allocation-seat-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:17px 10px 19px;border:1px solid #ffffff45;border-radius:15px;background:#272e2a;scrollbar-color:#929e91 #272e2a;touch-action:pan-x pan-y}
.allocation-seat-grid{display:grid;grid-template-columns:24px repeat(var(--seat-columns),minmax(44px,1fr));gap:8px;min-width:calc(24px + var(--seat-columns)*52px);align-items:center}
.allocation-row-label{font-size:10px;color:#b7c0b5;text-align:center;padding-right:3px}
body .allocation-picker button.allocation-seat{width:100%;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:12px 12px 5px 5px;border:1px solid #d7e0d080;border-bottom-width:3px;background:#536257!important;color:#edf0e7!important;font-size:12px;font-weight:600;text-shadow:none;box-shadow:none;font-variant-numeric:tabular-nums}
body .allocation-picker button.allocation-seat:hover:not(:disabled){background:#697d6d!important;border-color:#e6ecde}
body .allocation-picker button.allocation-seat[aria-pressed=true]{background:#e8d7b1!important;color:#302b22!important;border-color:#fff1d4;box-shadow:0 0 0 2px #e8d7b14d}
body .allocation-picker button.allocation-seat:disabled{background:repeating-linear-gradient(135deg,#434b44 0 4px,#3b443e 4px 6px)!important;border-color:#737e6e60;color:#9ca598!important;opacity:.7}
.allocation-scroll-hint{font-size:11px;color:#777169;text-align:center;margin:8px 0 17px}
.allocation-selection{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--edge)}
.allocation-selection>div{display:grid;gap:3px;min-width:0}.allocation-selection small{color:#777169;font-size:11px}.allocation-selection strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}
body .allocation-picker .allocation-selection button{padding:12px 17px;background:#3c4940!important;border-color:#6b7c6b;white-space:nowrap}
.allocation-note{font-size:12px;color:#777169;line-height:1.8;margin:15px 0 0}.allocation-message{text-align:center;padding:32px 12px;color:#625d55;font-size:14px;line-height:1.8}.allocation-message p{margin:0 0 15px}
.allocation-paused,.allocation-notice{padding:12px 14px;margin:0 0 16px;background:#eee5d4;border:1px solid #dfd0b9;border-radius:10px;color:#66523a;font-size:13px;line-height:1.7}
body .allocation-picker .allocation-refresh{width:100%;margin-top:14px;font-size:12px}
@media(max-width:600px){body .panel.allocation-panel{top:70px;left:10px;right:10px;width:auto;max-height:calc(100dvh - 90px);padding:18px 14px}.allocation-panel .panel-heading{margin-bottom:15px}.allocation-panel .panel-heading h2{font-size:22px}.allocation-picker .allocation-intro{font-size:13px;margin-bottom:16px}.allocation-hall-copy>strong{font-size:14px}.allocation-hall-copy>span{font-size:10px}.allocation-hall-count b{font-size:19px}body .allocation-picker .allocation-hall{padding:10px;gap:9px;grid-template-columns:36px 1fr auto;min-height:83px}.allocation-hall-art{width:34px;height:34px}.allocation-hall-art svg{width:23px;height:23px}.allocation-hall-count{min-width:57px}.allocation-top{align-items:flex-start;gap:8px}.allocation-top>span{font-size:12px;padding-top:10px}.allocation-top button{font-size:11px;padding:8px}.allocation-summary>strong{font-size:22px}.allocation-summary small{font-size:11px}.allocation-summary button{font-size:11px}.allocation-selection{grid-template-columns:1fr;gap:10px}.allocation-selection>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.allocation-selection strong{font-size:15px}.allocation-selection button{width:100%}.allocation-seat-scroll{margin:0 -3px}.allocation-legend{gap:10px;font-size:10px}}
