:root{color:#4b2830;font-synthesis:none;text-rendering:optimizelegibility;--ink:#4b2830;--muted:#80666b;--paper:#fffcf7eb;--paper-strong:#fffdf9;--blush:#f6d9d9;--rose:#b94f69;--rose-dark:#87374d;--peach:#f1a777;--lavender:#c4aed4;--border:#854a552e;--good:#267755;--bad:#ad3545;--warn:#986214;--shadow:0 18px 55px #7038411f;background:#fff9f4;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#fff9f4;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 8% 3%,#f5baad6b,#0000 28rem),radial-gradient(circle at 94% 8%,#ccb9e059,#0000 26rem),linear-gradient(145deg,#fffaf5 0%,#fdf2ec 52%,#f7eef7 100%);min-width:320px;min-height:100vh;margin:0}body:before{z-index:-1;content:"";opacity:.22;pointer-events:none;background-image:radial-gradient(#97586029 .7px,#0000 .7px);background-size:20px 20px;position:fixed;inset:0}button,input,select{font:inherit}button{border:1px solid var(--border);min-height:46px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:#ffffffb8;border-radius:.75rem;padding:.7rem 1rem;font-weight:700;transition:border-color .14s,box-shadow .14s,transform 90ms}button:hover:not(:disabled){border-color:#b94f698c;box-shadow:0 8px 22px #8f3e521f}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #b94f6952}button.primary{border-color:var(--rose);background:linear-gradient(135deg, var(--rose), #d97887);color:#fffaf4;box-shadow:0 10px 24px #9c374d2e}button.secondary{background:#fffbf7c7}input,select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--ink);background:#ffffffc7;border-radius:.7rem;padding:.7rem .8rem}input::placeholder{color:#a68e92}.app-shell{place-items:center;min-height:100vh;padding:1rem;display:grid}.dashboard-shell{width:min(100%,72rem);margin:0 auto;display:block}.topbar{justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0 .75rem;display:flex}.topbar .eyebrow{margin:0}.account{align-items:center;gap:.55rem;display:flex}.account-name{max-width:10rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.account button{min-height:38px;padding:.45rem .75rem}.foundation{background:var(--paper);width:min(100%,44rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #975b682b;border-radius:1rem;padding:1.15rem}.dashboard-shell .foundation{width:100%}.auth-foundation{background:radial-gradient(circle at 88% 12%, #eba6aa4d, transparent 18rem), var(--paper);overflow:hidden}.auth-intro{padding:.3rem 0 1.25rem;position:relative}.auth-intro:after{content:"";filter:blur(2px);background:#f0a5aa2e;border-radius:52% 48% 50% 50%;width:10rem;height:10rem;position:absolute;top:-3.2rem;right:-2.8rem}.eyebrow{color:var(--rose-dark);letter-spacing:.14em;margin:0 0 .55rem;font-size:.7rem;font-weight:800}h1{color:#733246;letter-spacing:-.045em;margin:0;font-family:Georgia,Microsoft YaHei,serif;font-size:clamp(2rem,9vw,3.75rem);font-weight:650;line-height:1.06}h2{color:#63313d;letter-spacing:-.01em;margin:0 0 .8rem;font-size:1.05rem}.auth-kicker{color:var(--rose);margin:.75rem 0 0;font-family:Georgia,Microsoft YaHei,serif;font-size:1.08rem;font-weight:700}.summary{max-width:38rem;color:var(--muted);margin:.8rem 0 0;line-height:1.7}.light-dots{gap:.45rem;margin-top:1rem;display:flex}.light-dots span{background:var(--peach);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 14px #dc7f57b3}.light-dots span:nth-child(2){background:#d8879a}.light-dots span:nth-child(3){background:var(--lavender)}.auth-form{border-top:1px solid var(--border);padding-top:1.15rem}.auth-form label,.device-card label,.pair-form label,.media-grid label{color:var(--muted);margin:.65rem 0 .35rem;font-size:.8rem;font-weight:700;display:block}.signin-actions{gap:.6rem;margin-top:1rem;display:grid}.hero{background:radial-gradient(circle at 82% 12%,#ffd2b16b,#0000 20rem),linear-gradient(135deg,#fff3e9 0%,#f6dfe2 62%,#e9ddec 100%);border-radius:.9rem;min-height:19rem;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.5rem;display:flex;position:relative}.hero-copy h1{max-width:10ch}.hero-copy .status-pill{margin-top:1rem}.hero-preview{min-height:15rem;overflow:hidden}.hero-preview img{object-fit:cover;opacity:.88;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(#0000,#000 18%,#000);mask-image:linear-gradient(#0000,#000 18%,#000)}.status-layout,.media-grid{gap:1rem;display:grid}.advanced-card{margin-bottom:1rem}.advanced-card>summary{cursor:pointer;color:var(--ink);font-weight:750}.advanced-card>summary::marker{color:var(--rose)}.advanced-content{grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.calibration-control{border-top:1px solid var(--border);padding-top:1rem}.card{border:1px solid var(--border);background:#fffdf9d1;border-radius:.9rem;min-width:0;margin-top:1rem;padding:1rem;box-shadow:0 10px 28px #70384113}.device-card,.status-card{height:calc(100% - 1rem)}.pair-form{margin-top:.8rem}.pair-row{gap:.55rem;display:grid}.status-heading{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.status-heading h2{margin:0}.status-mark{background:currentColor;border-radius:50%;width:.55rem;height:.55rem;display:inline-block}.status-pill{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.77rem;font-weight:800;display:inline-flex}.status-online{color:var(--good);background:#26775514}.status-offline{color:var(--bad);background:#ad354512}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.9rem 0 0;display:grid}.status-grid div{min-width:0}.status-grid dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.status-grid dd{text-overflow:ellipsis;white-space:nowrap;margin:.12rem 0 0;font-size:.9rem;font-weight:750;overflow:hidden}.ack-summary{border-left:3px solid var(--peach);background:#f5ddcd61;margin-top:.75rem;padding:.65rem .75rem}.ack-summary .note{margin-top:.1rem}.exclusive-card{background:linear-gradient(130deg,#fff6ecf2,#f7dde2e6);align-items:center;gap:1rem;display:grid}.exclusive-preview{aspect-ratio:1;border:1px solid #8f405040;border-radius:.85rem;justify-self:center;width:min(100%,15rem);box-shadow:0 14px 35px #691e3438}.exclusive-action{width:100%;margin-top:1rem}.command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.command{background:#fffaf6e6;width:100%;min-height:3.2rem}.command-default{color:#81384c;background:linear-gradient(135deg,#f9e2e1,#f4d0d8);border-color:#b94f696b}.command-red{border-left:4px solid #d45f67}.command-green{border-left:4px solid #6caa80}.command-blue{border-left:4px solid #7c9ed0}.command-animation{border-left:4px solid #bb8fc8}.command-stop,.command-clear{color:#795b61}.media-grid>.card{height:calc(100% - 1rem)}.image-preview{aspect-ratio:1;border:1px solid var(--border);background:#2f1c22;border-radius:.75rem;width:min(100%,15rem);margin:.9rem auto;display:block;box-shadow:0 10px 24px #5827331f}.video-source{display:none}.video-actions{margin-top:.8rem}.fit-toggle{color:var(--muted);border:0;gap:1rem;margin:0 0 .85rem;padding:0;font-size:.85rem;display:flex}.fit-toggle label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.fit-toggle input{width:auto;min-height:auto;accent-color:var(--rose)}.note,.muted,.error-text,.ok-text,.warn-text{font-size:.84rem;line-height:1.55}.note,.muted{color:var(--muted);margin:.7rem 0 0}.error-text{color:var(--bad);margin:.7rem 0 0}.ok-text{color:var(--good);margin:.7rem 0 0}.warn-text{color:var(--warn);margin:.7rem 0 0}@media (width>=32rem){.signin-actions,.pair-row{grid-template-columns:1fr auto}.command-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exclusive-card{grid-template-columns:minmax(10rem,14rem) 1fr}}@media (width>=48rem){.app-shell{padding:2rem}.foundation{padding:1.5rem}.auth-foundation{grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;display:grid}.auth-form{border-top:0;border-left:1px solid var(--border);padding:0 0 0 2rem}.hero{grid-template-columns:1.25fr .75fr}.hero-preview img{-webkit-mask-image:linear-gradient(90deg,#0000,#000 24%,#000);mask-image:linear-gradient(90deg,#0000,#000 24%,#000)}.status-layout,.media-grid,.advanced-content{grid-template-columns:repeat(2,minmax(0,1fr))}.calibration-control{border-top:0;border-left:1px solid var(--border);padding-top:0;padding-left:1rem}.command-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nightlight-page,.auth-page{color:#292521;background:#f7f2ea;place-items:center;min-height:100svh;padding:1rem;display:grid}.nightlight-shell{gap:1.5rem;width:min(100%,28rem);padding:1.25rem;display:grid;position:relative}.nightlight-hero{border-bottom:1px solid #ddd5ca;align-content:center;justify-items:center;min-height:8.5rem;display:grid;position:relative}.nightlight-hero h1{color:#292521;letter-spacing:.04em;margin:0;font-family:ui-serif,Songti SC,Noto Serif CJK SC,serif;font-size:clamp(1.75rem,8vw,2.6rem);font-weight:650}.nightlight-status{color:#756e66;align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex;position:absolute;bottom:.7rem;left:0}.nightlight-status>span{background:#9a9288;border-radius:50%;width:.55rem;height:.55rem}.nightlight-status.is-online>span{background:#4f8a69}.logout-button{color:#8a8177;background:0 0;border:0;place-items:center;width:2.75rem;min-height:2.75rem;padding:0;display:grid;position:absolute;top:0;right:0}.logout-button svg,.media-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.45rem;height:1.45rem}.preset-row{grid-template-columns:repeat(3,1fr);justify-items:center;gap:1rem;display:grid}.preset-button{color:#473f38;background:#fffdf9;border:1px solid #d9d0c5;border-radius:50%;place-items:center;width:4.25rem;min-height:4.25rem;padding:0;display:grid;box-shadow:0 .35rem 1rem #372d2314}.preset-button svg{fill:currentColor;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:2rem;height:2rem}.preset-heart{color:#af5963}.preset-torch{color:#b06e29}.preset-cat{color:#65574c}.media-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.media-action{min-width:0}.media-button{color:#3b342e;width:100%;min-height:3.25rem;font:inherit;background:#fffdf9;border:1px solid #d9d0c5;border-radius:.55rem;justify-content:center;align-items:center;gap:.55rem;padding:.65rem .75rem;font-weight:650;display:flex}.preset-button:focus-visible,.media-button:focus-visible,.logout-button:focus-visible{outline-offset:3px;outline:3px solid #8f6f4f}.preset-button:disabled,.media-button:disabled{opacity:.5}.action-toast,.global-toast{color:#70675e;text-align:center;margin:.5rem 0 0;font-size:.76rem;line-height:1.45}.global-toast{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;background:#fffdf9f7;border:1px solid #d8cfc4;border-radius:.5rem;width:min(100% - 2rem,24rem);padding:.7rem .9rem;position:fixed;transform:translate(-50%);box-shadow:0 .5rem 1.5rem #372d231f}.global-toast.is-error{color:#9a3f45}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.auth-panel{background:#fffdf9;border:1px solid #ded6cb;border-radius:.75rem;width:min(100%,28rem);padding:1.5rem}.auth-panel h1{margin:.25rem 0}.auth-mark{color:#af5963;margin:0;font-weight:800}.auth-copy{color:#756e66}.auth-panel form{gap:.65rem;margin-top:1.25rem;display:grid}.auth-panel input,.auth-primary,.auth-secondary{min-height:2.9rem}.auth-link{color:#756e66;background:0 0;border:0}@media (width<=22rem){.nightlight-page{padding:.5rem}.nightlight-shell{padding:.75rem}.preset-row{gap:.5rem}.preset-button{width:3.75rem;min-height:3.75rem}}
