:root{--bg: #14120f;--card: #1a1712;--brass: #b08d57;--brass-light: #d3b27c;--brass-dim: rgba(176, 141, 87, .28);--gold: var(--brass);--gold-dim: var(--brass-dim);--text: #fbf6ec;--muted: rgba(251, 246, 236, .55);--danger: #ef4444;--success: #81c784;--border: #2a241c;--font-display: "Lora", Georgia, serif;--font-body: "Poppins", system-ui, sans-serif}@media(prefers-color-scheme:light){:root{--bg: #fbf6ec;--card: #fffef9;--brass: #b08d57;--brass-light: #a8873f;--brass-dim: rgba(176, 141, 87, .35);--gold: var(--brass);--gold-dim: var(--brass-dim);--text: #2a251f;--muted: rgba(42, 37, 31, .55);--border: #e5dcc8;--danger: #c62828;--success: #2e7d32}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.kiosk-screen{min-height:100vh;display:flex;flex-direction:column;padding:1.5rem}.kiosk-screen-center{justify-content:center;align-items:center;text-align:center}.kiosk-title{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--brass);font-size:1.75rem;margin:0 0 .5rem}.kiosk-title-hero{font-size:clamp(2.5rem,6vw,4rem);color:var(--text);margin:.25rem 0 .75rem}.kiosk-sub{color:var(--muted);font-size:.95rem;margin:0 0 1.5rem}.kiosk-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.kiosk-btn{background:var(--brass);color:var(--bg);border:none;border-radius:12px;padding:1rem 1.5rem;font-weight:600;font-size:1.05rem;transition:background .15s ease}.kiosk-btn:hover:not(:disabled){background:var(--brass-light)}.kiosk-btn:disabled{opacity:.5;cursor:not-allowed}.kiosk-btn-outline{background:transparent;color:var(--brass);border:1px solid var(--brass-dim);border-radius:12px;padding:1rem 1.5rem;font-weight:600;font-size:1.05rem}.kiosk-btn-outline:hover:not(:disabled){border-color:var(--brass)}.kiosk-card{background:var(--card);border:1px solid var(--brass-dim);border-radius:16px;padding:1.25rem}.kiosk-setup-link{position:absolute;top:1.25rem;right:1.25rem;font-size:.85rem;color:var(--brass);background:none;border:none;text-decoration:underline;text-underline-offset:3px}.kiosk-warn-mark{width:64px;height:64px;border-radius:50%;border:2px solid var(--brass);color:var(--brass);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;margin:0 auto 1rem}.kiosk-success-mark{width:88px;height:88px;border-radius:50%;background:#b08d5726;border:2px solid var(--brass);color:var(--brass);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem}.kiosk-session-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--brass-dim);margin-bottom:1rem}.kiosk-session-body{display:grid;grid-template-columns:1fr;gap:1.25rem;flex:1;min-height:0}@media(min-width:900px){.kiosk-session-body{grid-template-columns:1.2fr .8fr;align-items:start}}.kiosk-session-footer{display:flex;gap:1rem;padding-top:1rem;margin-top:auto;border-top:1px solid var(--brass-dim)}.kiosk-section-label{color:var(--brass);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .6rem;font-weight:600}.kiosk-review-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.kiosk-review-card{width:100%;max-width:520px;background:var(--card);border:1px solid var(--brass-dim);border-radius:20px;padding:2rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.product-tile{background:var(--card);border:1px solid var(--brass-dim);border-radius:12px;padding:.85rem;text-align:left;color:inherit;min-height:72px;transition:border-color .15s ease}.product-tile:hover{border-color:var(--brass)}.usage-list{display:flex;flex-direction:column;gap:.5rem}.usage-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem;background:var(--card);border-radius:10px;border:1px solid var(--brass-dim)}.usage-empty{border:1px dashed var(--brass-dim);border-radius:12px;padding:1.25rem;color:var(--muted);text-align:center}.timer{font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--brass);text-align:center;font-family:var(--font-display)}.field{width:100%;padding:.75rem;border-radius:10px;border:1px solid var(--brass-dim);background:var(--card);color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-box{background:var(--card);border:1px solid var(--brass-dim);border-radius:20px;padding:2rem;max-width:400px;width:100%;text-align:center}.barcode-hidden{position:absolute;left:-9999px;opacity:0}.qty-btn{background:transparent;color:var(--brass);border:1px solid var(--brass-dim);border-radius:6px;padding:4px 10px}@property --ring-c{syntax: "<color>"; inherits: true; initial-value: #38bdf8;}.kiosk-ambient-frame{position:relative;width:100%;min-height:100vh;min-height:100dvh;padding:9px;background:#05070c;overflow:hidden}.kiosk-ambient-frame:before,.kiosk-ambient-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:9px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,transparent 250deg,rgba(37,99,235,.5) 275deg,#38bdf8 300deg,#e0f2fe 315deg,#38bdf8 330deg,rgba(37,99,235,.5) 355deg,transparent 360deg);animation:kiosk-rotate-border 3.2s linear infinite}.kiosk-ambient-frame:before{filter:drop-shadow(0 0 3px #e0f2fe) drop-shadow(0 0 10px #38bdf8);z-index:2}.kiosk-ambient-frame:after{filter:blur(10px) saturate(150%);opacity:.8;z-index:1}.kiosk-ambient-frame:has(.kiosk-ambient-stage--lite):after{filter:blur(6px) saturate(140%);opacity:.7}.kiosk-ambient-frame:has(.kiosk-ambient-stage--reduce):before,.kiosk-ambient-frame:has(.kiosk-ambient-stage--reduce):after{animation:none}@keyframes kiosk-rotate-border{to{transform:rotate(360deg)}}.kiosk-ambient-stage{position:relative;z-index:3;--ring-c: #38bdf8;animation:kiosk-ring-color-cycle 14s ease-in-out infinite;width:100%;min-height:calc(100vh - 18px);min-height:calc(100dvh - 18px);background:radial-gradient(ellipse at 50% 30%,rgba(59,130,246,.06),transparent 55%),linear-gradient(180deg,#f7faff,#eef2f9 55%,#e7edf7);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:7vh 1.25rem 6vh;-webkit-user-select:none;user-select:none;overflow:hidden;color:#1e293b}.kiosk-ambient-stage--reduce{animation:none}@keyframes kiosk-ring-color-cycle{0%,20%{--ring-c: #38bdf8}35%,50%{--ring-c: #c9a84c}65%{--ring-c: #b3805a}80%{--ring-c: #6b8e5a}to{--ring-c: #38bdf8}}.kiosk-ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(59,130,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 70%);pointer-events:none}.kiosk-ambient-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.kiosk-ambient-particle{position:absolute;bottom:-10px;width:3px;height:3px;background:color-mix(in srgb,var(--ring-c) 45%,transparent);border-radius:50%;animation:kiosk-particle-drift linear infinite}@keyframes kiosk-particle-drift{0%{transform:translateY(0) translate(0);opacity:0}10%,90%{opacity:1}to{transform:translateY(-110vh) translate(var(--dx, 0px));opacity:0}}.kiosk-ambient-wordmark{text-align:center;z-index:2}.kiosk-ambient-name{font-family:"Playfair Display",var(--font-display),Georgia,serif;font-weight:500;font-size:clamp(1.6rem,4vw,2.125rem);color:#1e293b;letter-spacing:.5px}.kiosk-ambient-name em{font-style:normal;color:var(--ring-c, #2f6fed);transition:color .3s}.kiosk-ambient-room{margin-top:6px;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:#1e293b66}.kiosk-ambient-ring-wrap{position:relative;width:min(340px,72vw);height:min(340px,72vw);display:flex;align-items:center;justify-content:center;z-index:2}.kiosk-ambient-ring-breath{position:absolute;width:100%;height:100%;border-radius:50%;border:1.5px solid var(--ring-c);opacity:.55;box-shadow:0 0 34px color-mix(in srgb,var(--ring-c) 55%,transparent);animation:kiosk-ring-breathe 3.6s ease-in-out infinite}.kiosk-ambient-ring-breath--b2{width:82%;height:82%;animation-delay:-1.8s;opacity:.7}.kiosk-ambient-stage--reduce .kiosk-ambient-ring-breath{animation:none;opacity:.65}@keyframes kiosk-ring-breathe{0%,to{transform:scale(.96);opacity:.4}50%{transform:scale(1.02);opacity:.9}}.kiosk-ambient-ring-core{position:relative;width:62%;height:62%;border-radius:50%;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--ring-c) 22%,transparent),transparent 70%);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ring-c);box-shadow:0 0 46px color-mix(in srgb,var(--ring-c) 55%,transparent),inset 0 0 26px color-mix(in srgb,var(--ring-c) 20%,transparent);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}.kiosk-ambient-ring-icon{width:40px;height:40px;opacity:.95;z-index:1}.kiosk-ambient-ring-icon svg{width:100%;height:100%}.kiosk-ambient-ring-icon path,.kiosk-ambient-ring-icon rect,.kiosk-ambient-ring-icon circle{stroke:var(--ring-c);transition:stroke .3s}.kiosk-ambient-sweep{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;opacity:0;pointer-events:none}.kiosk-ambient-sweep:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,var(--ring-c) 4%,transparent 12%);filter:drop-shadow(0 0 8px var(--ring-c))}.kiosk-ambient-stage--scanning .kiosk-ambient-sweep{opacity:1;animation:kiosk-spin 1.1s linear infinite}.kiosk-ambient-stage--scanning .kiosk-ambient-ring-breath{animation-play-state:paused;opacity:.65}.kiosk-ambient-stage--scanning .kiosk-ambient-ring-core{transform:scale(.94);box-shadow:0 0 60px color-mix(in srgb,var(--ring-c) 70%,transparent),inset 0 0 30px color-mix(in srgb,var(--ring-c) 25%,transparent)}@keyframes kiosk-spin{to{transform:rotate(360deg)}}.kiosk-ambient-stage--welcome{--ring-c: #38bdf8;animation:none}.kiosk-ambient-stage--welcome .kiosk-ambient-ring-core{border-color:#2f6fed;background:radial-gradient(circle at 50% 45%,#3b82f633,#3b82f608 70%);box-shadow:0 0 54px #3b82f666,inset 0 0 26px #3b82f626;transform:scale(1.02)}.kiosk-ambient-stage--welcome .kiosk-ambient-name em{color:#2f6fed}.kiosk-ambient-stage--no_match{--ring-c: #94a3b8;animation:none}.kiosk-ambient-stage--no_match .kiosk-ambient-ring-breath{animation:none;opacity:.45;box-shadow:0 0 24px #94a3b859}.kiosk-ambient-stage--no_match .kiosk-ambient-ring-core{border-color:#94a3b8;background:radial-gradient(circle at 50% 45%,rgba(148,163,184,.18),transparent 70%);box-shadow:0 0 36px #94a3b859,inset 0 0 20px #94a3b81f}.kiosk-ambient-stage--warn{--ring-c: #d97706;animation:none}.kiosk-ambient-stage--warn .kiosk-ambient-ring-breath{animation:kiosk-warn-pulse 1.4s ease-in-out infinite;border-color:#d97706;box-shadow:0 0 28px #d9770666}.kiosk-ambient-stage--warn .kiosk-ambient-ring-core{border-color:#b45309;background:radial-gradient(circle at 50% 45%,rgba(217,119,6,.2),transparent 70%);box-shadow:0 0 44px #d9770666,inset 0 0 22px #d977061f}@keyframes kiosk-warn-pulse{0%,to{transform:scale(.97);opacity:.5}50%{transform:scale(1.03);opacity:.85}}.kiosk-ambient-status{z-index:2;text-align:center;min-height:60px;max-width:420px;width:100%}.kiosk-ambient-line1{font-size:1.0625rem;color:#1e293b;letter-spacing:.3px;font-weight:500}.kiosk-ambient-line2{margin-top:8px;font-size:.8125rem;color:#1e293b73;letter-spacing:.5px;line-height:1.45}.kiosk-ambient-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1.25rem}.kiosk-ambient-actions .kiosk-btn{background:#1e293b;color:#f8fafc}.kiosk-ambient-actions .kiosk-btn-outline{background:transparent;color:#1e293b;border-color:#1e293b40}.kiosk-ambient-setup{position:absolute;top:1rem;right:1rem;z-index:4;font-size:.8rem;color:#1e293b73;background:none;border:none;text-decoration:underline;text-underline-offset:3px}.kiosk-ambient-bottom{z-index:2;display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:360px}.kiosk-ambient-qr-btn{background:transparent;border:1px solid rgba(30,41,59,.18);color:#1e293b8c;border-radius:999px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:500;letter-spacing:.02em}.kiosk-ambient-qr-btn:disabled{opacity:.5}.kiosk-ambient-video{width:100%;max-width:280px;border-radius:12px;display:block;margin:.5rem auto 0;border:1px solid rgba(30,41,59,.12)}.kiosk-ambient-dev{margin-top:.5rem;width:100%;max-width:320px}.kiosk-ambient-dev .field{background:#ffffffb3;color:#1e293b;border-color:#1e293b26}
