*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{color:#111;touch-action:manipulation;background:#f4f4f4;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.5}button{font:inherit;color:inherit;appearance:none;cursor:pointer}button:disabled{cursor:default}a{color:#0b7fa8}.small{color:#555;font-size:12px}.page{max-width:600px;min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom));background:#fff;margin:0 auto}.header{color:#fff;background:#111;padding:16px 16px 12px}.header h1{margin:2px 0;font-size:22px;line-height:1.3}.header-sub{opacity:.8;font-size:12px}.intro{border-bottom:1px solid #ddd;flex-direction:column;gap:8px;padding:14px 16px;font-size:14px;display:flex}.notes{color:#444;padding-left:1.2em;font-size:12px}.part{border-bottom:8px solid #f4f4f4}.part-head{align-items:baseline;gap:8px;padding:14px 16px 2px;display:flex}.part-label{color:#fff;background:#111;border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:14px;font-weight:700}.part-name{font-size:16px;line-height:1.35}.part-rule{color:#555;padding:0 16px 8px;font-size:12px}.part-count.full{color:#c00;font-weight:700}.row{border-top:1px solid #eee;justify-content:space-between;align-items:center;min-height:56px;padding:6px 12px 6px 16px;display:flex}.member-row{border-left:12px solid var(--member);background:color-mix(in srgb, var(--member) 8%, #fff);padding-left:12px}.member-row.selected{background:color-mix(in srgb, var(--member) 25%, #fff)}.row-name{font-size:18px;font-weight:700;line-height:1.2}.counter{align-items:center;gap:4px;display:flex}.counter button{background:#fff;border:1px solid #888;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.counter svg{display:block}.counter button:disabled{color:#ccc;background:#f8f8f8;border-color:#ddd}.count{text-align:center;font-variant-numeric:tabular-nums;width:36px;font-size:24px;font-weight:700}.clear{text-align:center;padding:16px}.clear-button{color:#555;background:#fff;border:1px solid #aaa;border-radius:6px;padding:8px 16px;font-size:13px}.clear-button.armed{color:#fff;background:#c00;border-color:#c00}.clear-button:disabled{opacity:.4}.footer{max-width:600px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:2px solid #111;align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000014}.footer-total{flex-direction:column;flex:1;font-size:14px;line-height:1.2;display:flex}.footer-cards{font-size:22px}.footer-price{font-variant-numeric:tabular-nums;font-size:24px}.staff-button{color:#fff;background:#d6004f;border:none;border-radius:8px;flex-shrink:0;padding:14px 20px;font-size:18px;font-weight:700}.staff-button:disabled{background:#ccc}.staff{background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.staff-rotated{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto;transform:rotate(180deg)}.staff-total{text-align:center;border:4px solid #111;border-radius:12px;margin-top:auto;padding:8px}.staff-product{font-size:22px;font-weight:700}.staff-cards{font-size:36px;line-height:1.1}.staff-cards b{font-size:72px}.staff-price{font-variant-numeric:tabular-nums;font-size:36px;font-weight:700}.staff-part{border-top:3px solid #111;padding-top:8px}.staff-part-head{align-items:center;gap:10px;display:flex}.staff-part-label{color:#fff;background:#111;border-radius:6px;padding:0 10px;font-size:26px;font-weight:700}.staff-part-name{flex:1;font-size:22px;font-weight:700;line-height:1.2}.staff-part-tickets{font-size:44px;font-weight:700;line-height:1}.staff-part-tickets small{font-size:20px}.staff-part-note{color:#444;font-size:16px}.staff-member{border-left:20px solid var(--member);background:color-mix(in srgb, var(--member) 20%, #fff);justify-content:space-between;align-items:center;margin-top:6px;padding:2px 12px;font-size:30px;font-weight:700;display:flex}.staff-member-tickets{font-size:36px}.staff-footer{color:#888;text-align:center;font-size:12px}.back-button{padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:#eee;border:none;border-top:1px solid #ccc;flex-shrink:0;font-size:16px}
