:root{color-scheme:dark;font-family:DM Sans,sans-serif;background:#111318;color:#fff}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#111318;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh;width:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:1rem}.app.home,.app.home .top-bar{color:#111318}.app.home .wordmark,.app.home .session-badge,.app.home .help-btn,.app.home .settings-btn{color:#111318;border-color:#0000001f;background:#0000000a}.app.home .help-btn:hover,.app.home .settings-btn:hover{background:#00000014}.app.home .start-ring,.app.home .reset-ring{border-color:#0000001f;background:#00000005}.app.home .start-ring .main-label,.app.home .reset-ring .main-label,.app.home .idle-title{color:#111318}.app.home .start-ring .sub-label,.app.home .reset-ring .sub-label{color:#00c853}.app.home .idle-title{letter-spacing:.3em}.app.home .home-logo{filter:none}.top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.8rem}.wordmark{font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:#ffffffe6}.top-controls{display:flex;align-items:center;gap:.85rem}.session-badge{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffffe6}.help-btn,.settings-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#ffffffe6;display:flex;align-items:center;justify-content:center}.settings-btn{position:fixed;right:1rem;bottom:1rem;z-index:220}.help-btn:active,.settings-btn:active{background:#ffffff26}.screen-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;max-width:420px}.idle-title,.complete-label,.settings-title{font-family:Cormorant Garamond,serif}.home-logo{width:min(240px,60vw);max-width:280px;height:auto;display:block;margin-bottom:1rem}.idle-title{font-size:1.1rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:#ffffffe6;margin-bottom:1rem;text-align:center}.start-ring,.reset-ring{width:200px;height:200px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);background:#ffffff08;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;transition:transform .25s ease,background .25s ease}.action-row{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.pause-btn,.stop-btn{min-width:160px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#6900a8;color:#ffffffe6;padding:.95rem 1.35rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.stop-btn{background:#ffffff14}.app.home .pause-btn,.app.home .stop-btn{border-color:#0003;background:#111318;color:#fff}.app.home .stop-btn{background:#00000014}.pause-btn:active,.stop-btn:active,.start-ring:active,.reset-ring:active{transform:scale(.96);background:#ffffff14}.start-ring .main-label,.reset-ring .main-label{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:400;letter-spacing:.08em;color:#ffffffd9}.start-ring .sub-label,.reset-ring .sub-label{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:#ffffffe6}.lamp-indicator{position:absolute;bottom:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.4rem;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#000000e6}.lamp-dot{width:6px;height:6px;border-radius:50%;background:#00000026;transition:background .4s}.lamp-dot.ok{background:#00c853}.runningScreen{width:100%;height:100%}.stage-row label{font-family:Cormorant Garamond,serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-align:center;line-height:1}.stage-name{font-family:Cormorant Garamond,serif;text-transform:uppercase;font-size:clamp(2.4rem,16vw,4rem)}.stage-time{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;margin-top:1.2rem;font-weight:300;color:#ffffffe6}.arc-wrapper{position:relative;width:80px;height:80px}.arc-wrapper svg{width:100%;height:100%;transform:rotate(-90deg)}.arc-bg{fill:none;stroke:#ffffff1f;stroke-width:2}.arc-fill{fill:none;stroke:#fff9;stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .5s}.arc-fill.dark{stroke:#0006}.stage-dots{position:relative;display:flex;gap:10px;align-items:center}.stage-settings{display:grid;gap:.75rem}.stage-grid-head,.stage-row{display:grid;grid-template-columns:1.5fr .9fr .9fr;gap:.9rem;align-items:center}.stage-grid-head{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#111111d9;padding:.85rem 1rem;border-radius:16px;background:#1111110a}.stage-row{padding:.95rem 1rem;border-radius:18px;background:#f7f8f9;border:1px solid rgba(17,17,17,.12)}.stage-row:nth-child(odd){background:#f2f4f6}.stage-label{display:flex;flex-direction:column;gap:.35rem}.stage-title{font-size:.95rem;font-weight:600;color:#111111f2;letter-spacing:.01em}.tc-slider-label{font-size:.6rem;letter-spacing:.12em;width:10px;color:#111111e6}.stage-meta{font-size:.75rem;color:#111111e6}.stage-row input[type=number]{width:100%;min-width:0;background:#fff;border:1px solid rgba(17,17,17,.15);border-radius:12px;padding:.8rem .9rem;color:#111318}.stage-row input[type=number]:focus{outline:none;border-color:#00c853bf;box-shadow:0 0 0 3px #00c8531f}.color-input-wrapper{display:flex;align-items:center;gap:.75rem}.color-input-wrapper input[type=color]{width:100%;height:44px;padding:0;border-radius:14px;border:1px solid rgba(17,17,17,.2);background:#fff}.stage-circle-swatch{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 0 0 1px #ffffff14}.dot{width:7px;height:7px;border-radius:50%;background:#fff3;transition:all .4s ease}.dot.active{background:#ffffffe6;transform:scale(1.3)}.dot.done{background:#ffffff73}.dot.dark{background:#00000026}.dot.dark.active{background:#0000008c}.dot.dark.done{background:#0000004d}.lamp-toast{position:absolute;top:4.5rem;left:50%;transform:translate(-50%);background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:.4rem 1rem;font-size:.65rem;letter-spacing:.12em;color:#fffc;text-transform:uppercase}.lamp-toast.dark{background:#fff3;color:#00000073;border-color:#0000001a}.complete-label{font-size:2.2rem;font-weight:300;letter-spacing:.06em;color:#ffffffd9;margin-bottom:.5rem}.complete-sub{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:#ffffff4d;margin-bottom:3.5rem}.reset-ring{width:160px;height:160px}.auto-reset-count{font-size:.65rem;letter-spacing:.2em;color:#ffffff40;margin-top:2rem;text-transform:uppercase}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;padding:1rem}.panel-card,.help-card{width:min(100%,520px);max-height:min(95vh,900px);background:#fff;border:1px solid rgba(17,17,17,.08);border-radius:24px;padding:1.8rem;display:grid;gap:1rem;overflow:hidden;box-shadow:0 20px 80px #11111114}.panel-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;margin-bottom:.5rem}.panel-logo-large{width:90px;max-width:100px}.panel-labels{display:flex;flex-direction:column;gap:.35rem;align-items:center}.panel-card,.help-card{overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.settings-title,.help-card .settings-title{font-size:1.85rem;font-weight:500;letter-spacing:.04em;color:#111318;margin-bottom:0}.settings-heading-left{display:flex;align-items:center;gap:1rem}.panel-logo{width:100px;height:auto;display:block}.settings-heading{display:flex;flex-direction:column;gap:1rem}.settings-tabs{display:flex;gap:.65rem;flex-wrap:wrap}.tab-button{border:1px solid #111318;border-radius:999px;padding:.65rem 1rem;background:#1111110a;color:#111318;transition:background .2s ease,color .2s ease,border-color .2s ease}.tab-button.active{background:#e7f6e8;border-color:#111318;color:#111318}.tab-button:hover{background:#00c85314}.settings-sub{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#00c853;margin-bottom:1rem}.field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.45rem}.field label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#111111d9}.field input{width:100%;min-height:44px;padding:.85rem 1rem;background:#fff;border:1px solid #111318;border-radius:14px;color:#111318}.field input:focus{outline:none;border-color:#00c853bf;box-shadow:0 0 0 3px #00c8531f}.hint{margin-top:.3rem;font-size:.62rem;color:#111111b3;line-height:1.5}.settings-section{margin-top:1.2rem}.btn-row{display:flex;gap:.75rem;margin-top:1.2rem;flex-wrap:wrap;justify-content:stretch}.btn-save,.btn-test,.btn-cancel,.btn-load-devices,.tc-send-btn,.tc-btn{border-radius:50px;border:1px solid rgba(17,17,17,.2);padding:.85rem 1.35rem;color:#111318;min-width:110px;background:#f4f6f5;flex:1}.save-status{color:#111111b3;font-size:.78rem;margin-top:.4rem;text-align:center}.btn-save,.tc-send-btn{flex:1}.btn-test,.btn-cancel{min-width:120px}.btn-load-devices{width:100%;border:1px solid rgba(17,17,17,.15);background:#f4f6f5;color:#111318;transition:background .2s ease,border-color .2s ease}.btn-load-devices:hover,.btn-save:hover,.btn-test:hover,.btn-cancel:hover,.tc-send-btn:hover,.tc-btn:hover{background:#00c8531f}.btn-save{background:#00c853;color:#111318;font-weight:700;border-color:#00c853}.btn-test,.btn-cancel{background:#fff;border:1px solid rgba(17,17,17,.2);color:#111318}.tc-send-btn{width:100%;border:1px solid rgba(17,17,17,.2);background:#fff;color:#111318}.tc-status{margin-top:.8rem;font-size:.65rem;color:#111111b3;text-align:center;min-height:1rem}.tc-status.ok{color:#00c853}.tc-status.fail{color:#ff6d00}.test-console{display:flex;flex-direction:column;gap:.85rem;background:#f7f8fa;border:1px solid rgba(17,17,17,.1);border-radius:14px;padding:1rem 1.1rem}.tc-row{display:flex;align-items:stretch;gap:.6rem;flex-wrap:wrap}.tc-btn{flex:1 1 140px;padding:.85rem .9rem;border:1px solid rgba(17,17,17,.2);background:#fff;color:#111318;min-width:120px;text-align:center}.device-list{display:grid;gap:.75rem;margin-bottom:.9rem}.device-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#ffffffe6;text-align:left}.device-item>div{min-width:0}.device-item.selected{border-color:#ffffff73;background:#ffffff1a}.settings-hint{font-size:.8rem;line-height:1.6;color:#ffffff73;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff08}.tc-btn:active,.tc-send-btn:active,.btn-save:active,.btn-test:active,.btn-cancel:active{opacity:.8}.tc-divider{height:1px;background:#ffffff12}.tc-swatch{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.12)}.tc-slider-row{display:flex;align-items:center;gap:.5rem}.tc-slider{width:100%}.tc-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:2px;outline:none}.tc-slider.r{background:linear-gradient(to right,#111318,red)}.tc-slider.g{background:linear-gradient(to right,#111318,#0f0)}.tc-slider.b{background:linear-gradient(to right,#111318,#00f)}.tc-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.3)}.tc-val{font-size:.65rem;color:#000000e6;width:24px;text-align:right}.device-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.9rem;padding:.85rem;border-radius:16px;background:#0000008c;border:1px solid rgba(255,255,255,.08)}.device-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff1f;color:#fff;text-align:left}.device-item.selected{border-color:#ffffff73;background:#ff000080}.dev-name{font-size:.83rem}.dev-meta{margin-top:.15rem;font-size:.65rem;color:#ffffffe6;letter-spacing:.06em}.dev-check{font-size:.85rem;color:#ffffffe6}.help-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.help-close{width:38px;height:38px;border:1px solid rgba(17,17,17,.15);border-radius:50%;background:#ffffffeb;color:#111318}.help-list{list-style-position:inside;padding-left:0;color:#111111d1;line-height:1.75;font-size:.96rem}.help-list li{margin-bottom:.85rem}.help-note{margin-top:1.4rem;color:#111111a6;font-size:.86rem;line-height:1.6}.help-close{position:absolute;top:12px;right:12px;z-index:10}@media (max-width: 720px){.screen-center{max-width:540px;padding:0 1rem}.panel-card,.help-card{width:100%;max-height:95vh;padding:1rem;border-radius:18px}.settings-heading{flex-direction:row;gap:.5rem;align-items:center}.settings-heading-left,.settings-tabs{gap:.5rem}.stage-grid-head,.stage-row{grid-template-columns:1fr}.stage-row{padding:.85rem}.tc-row{flex-wrap:wrap}}@media (max-width: 520px){.top-bar{padding:1rem}.wordmark{font-size:.9rem}.start-ring,.reset-ring{width:150px;height:150px}.panel-card,.help-card{width:100%;max-height:100vh;padding:.9rem;border-radius:14px}.settings-heading{flex-direction:column;align-items:stretch}.settings-heading-left{flex-direction:row;gap:.6rem;align-items:center}.settings-tabs{justify-content:flex-start;gap:.5rem}.stage-row{grid-template-columns:1fr;align-items:stretch;padding:.8rem}.field input,.field input[type=color]{min-height:48px}.btn-row{justify-content:stretch}.btn-save,.btn-test,.btn-cancel,.tc-send-btn,.btn-load-devices{width:100%}.tc-row{flex-direction:row;gap:.5rem}.tc-btn{flex:1 1 48%;min-width:0;padding:.6rem .8rem;font-size:.95rem}.help-header{flex-direction:column;align-items:stretch;gap:.6rem}.help-list{font-size:.95rem;line-height:1.6}.device-list{padding:.6rem;gap:.6rem}.device-item{padding:.7rem;border-radius:10px}.stage-row{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .5rem}.stage-row input[type=number]{width:100%;min-width:0}.color-input-wrapper input[type=color]{width:100%;height:44px;border-radius:12px}.settings-btn{right:.8rem;bottom:.8rem}}
