:root{--text-strong:#1e2432;--text-muted:#5f6776;--border:#dfe3ea;--accent:#2f6fed;--sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;font-family:var(--sans);color:var(--text-strong);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-color:#fff}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#4285f414,#0000 40%),linear-gradient(#fff,#f7f9fc);min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{font-weight:700}button,input{font-family:inherit}.app{flex-direction:column;gap:28px;width:min(1100px,92vw);margin:0 auto;padding:48px 0 72px;display:flex}.app__header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.app__header h1{margin:0;font-size:clamp(28px,4vw,44px)}.controls{border:1px solid var(--border);background:#fff;border-radius:16px;gap:16px;padding:20px 22px;display:grid;box-shadow:0 10px 24px #1518220d}.controls__form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.controls__field{color:var(--text-muted);gap:6px;font-size:14px;display:grid}.controls__label{font-weight:600}.controls__field input{border:1px solid var(--border);height:44px;font-size:16px;font-family:var(--sans);background:#fff;border-radius:10px;outline:none;padding:0 12px;transition:border-color .2s,box-shadow .2s}.controls__field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #4285f426}.controls__actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid var(--border);height:44px;color:var(--text-strong);cursor:pointer;background:#fff;border-radius:999px;padding:0 18px;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 18px #1353bf1f}.btn--primary{background:var(--accent);color:#fff;border-color:#0000}.btn--ghost{background:0 0}.status{color:var(--text-muted);align-items:baseline;gap:10px;font-size:14px;display:flex}.status strong{color:var(--text-strong);font-size:18px}.queue{gap:10px;display:grid}.queue__labels{color:var(--text-muted);justify-content:space-between;font-size:13px;display:flex}.queue__label{color:#2e3a59;background:#f1f4ff;border-radius:999px;padding:4px 10px;font-weight:600}.queue__lane{border:2px dashed var(--border);background:linear-gradient(90deg,#4285f414,#4285f400),repeating-linear-gradient(90deg,#4285f40f 0 1px,#0000 1px 32px);border-radius:18px;align-items:center;gap:12px;min-height:110px;padding:18px;display:flex;overflow-x:auto}.queue__empty{color:var(--text-muted);font-size:16px;font-weight:600}.ticket{border:1px solid var(--border);min-width:130px;color:var(--text-strong);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;transition:transform .2s,border-color .2s;display:inline-flex;box-shadow:0 6px 14px #11131a14}.ticket__dot{background:#9fb7ff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 6px #9fb7ff40}.ticket--front{border-color:#49a078;transform:translateY(-4px)}.ticket--front .ticket__dot{background:#49a078;box-shadow:0 0 0 6px #49a07833}.ticket--back{border-style:solid}.ticket--peek{border-color:#f4b740;box-shadow:0 10px 22px #f4b74033}.ticket--peek .ticket__dot{background:#f4b740;box-shadow:0 0 0 6px #f4b74038}@media (width<=720px){.controls__form{grid-template-columns:1fr}.btn{width:100%}.controls__actions{flex-direction:column}}
