:root{color-scheme:light;--bg:#f3f0e8;--bg-warm:#fffaf0;--bg-cool:#e8f2f2;--ink:#111827;--ink-soft:#415064;--muted:#6b7280;--surface:rgba(255,255,255,0.88);--surface-strong:#fffdf8;--surface-muted:#f5f2ea;--line:rgba(17,24,39,0.1);--line-strong:rgba(17,24,39,0.18);--primary:#0f766e;--primary-strong:#0b4f49;--primary-soft:rgba(15,118,110,0.12);--accent:#d97706;--accent-soft:rgba(217,119,6,0.12);--night:#061014;--night-panel:rgba(8,20,26,0.8);--danger:#b42318;--danger-soft:#fff1ee;--success:#126b46;--success-soft:#ecfdf3;--warning:#9a5a12;--warning-soft:#fff8e6;--shadow-lg:0 32px 90px rgba(35,45,59,0.16);--shadow-md:0 18px 42px rgba(35,45,59,0.1);--shadow-soft:0 10px 28px rgba(35,45,59,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{min-height:100dvh;color:var(--ink);font-family:HarmonyOS Sans SC,MiSans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(circle at 8% 4%,rgba(217,119,6,.16),transparent 30%),radial-gradient(circle at 92% 2%,rgba(15,118,110,.18),transparent 28%),linear-gradient(135deg,var(--bg-warm) 0,var(--bg) 52%,var(--bg-cool) 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(17,24,39,.035) 1px,transparent 0),linear-gradient(90deg,rgba(17,24,39,.035) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 78%);mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 78%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{touch-action:manipulation}.app-shell{min-height:100dvh}.page-shell{position:relative;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:36px 0 64px}.admin-layout,.hero-layout{display:grid;grid-gap:24px;gap:24px}.hero-card,.surface-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow-lg)}.device-card:after,.hero-card:after,.surface-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.32),transparent 28%,transparent 72%,rgba(255,255,255,.18))}.hero-card{min-height:560px;display:grid;align-content:space-between;grid-gap:34px;gap:34px;padding:34px;color:#f8fffc;background:radial-gradient(circle at 84% 18%,rgba(94,234,212,.28),transparent 28%),radial-gradient(circle at 14% 80%,rgba(251,191,36,.2),transparent 30%),linear-gradient(145deg,#073336,#061014 62%,#020507)}.surface-card{background:var(--surface);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:30px}.access-terminal,.admin-toolbar,.command-center-card,.console-banner,.console-hero,.device-card,.not-found-panel,.summary-card,.watch-panel,.watch-status-rail{position:relative;z-index:1}.console-banner-content,.console-hero-top,.control-band-header,.watch-status-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.eyebrow{margin:0;font-size:12px;line-height:1;letter-spacing:.14em;font-weight:900;text-transform:uppercase}.hero-card .eyebrow{color:rgba(235,255,251,.76)}.section-eyebrow{color:var(--primary)}.console-chip,.watch-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:12px;font-weight:900}.console-chip{padding:9px 14px;color:#ecfeff;background:rgba(236,254,255,.12);border:1px solid rgba(236,254,255,.18)}.control-band h3,.hero-card h1,.not-found-panel h1,.surface-card h1,.surface-card h2,.watch-panel h2{margin:0;font-weight:900;letter-spacing:-.045em}.hero-card h1{max-width:720px;font-size:clamp(42px,5.2vw,76px);line-height:.96}.surface-card h1{font-size:clamp(32px,4vw,54px)}.control-band h3,.surface-card h2{font-size:clamp(26px,2.6vw,34px)}.console-banner-copy,.console-hero-copy,.console-section-heading,.section-heading{display:grid;grid-gap:14px;gap:14px}.hero-copy,.meta-text,.not-found-panel p,.watch-panel p{line-height:1.68}.hero-copy{max-width:680px;margin:0;color:rgba(235,255,251,.78);font-size:17px}.meta-text{margin:0;color:var(--ink-soft)}.info-label,.summary-label,.watch-status-item span{display:block;font-size:12px;letter-spacing:.06em;font-weight:900}.access-terminal{display:grid;grid-gap:22px;gap:22px;align-content:start}.console-banner{color:#f8fffc;background:radial-gradient(circle at 88% 18%,rgba(20,184,166,.26),transparent 30%),linear-gradient(145deg,#0b1f27,#061014)}.console-banner .section-eyebrow{color:rgba(235,255,251,.72)}.form-stack{display:grid;grid-gap:18px;gap:18px}.device-action-panel,.duration-row,.field-group,.meta-block,.password-box,.summary-card,.watch-status-item{display:grid;grid-gap:8px;gap:8px}.field-label{font-size:14px;font-weight:900}.text-input{width:100%;min-height:56px;padding:15px 16px;border-radius:18px;border:1px solid var(--line-strong);background:rgba(255,255,255,.86);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.text-input:focus{outline:none;border-color:rgba(15,118,110,.62);box-shadow:0 0 0 5px rgba(15,118,110,.13);background:#fff}.button-row,.filter-group{display:flex;gap:12px;flex-wrap:wrap}.ghost-button,.primary-button,.secondary-button{min-height:50px;border:0;border-radius:18px;padding:14px 20px;font-weight:900;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,background-color .15s ease,border-color .15s ease}.viewer-entry-form .primary-button{width:100%}.filter-chip:hover,.ghost-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.56;cursor:default;transform:none}.primary-button{color:#f8fffc;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 18px 36px rgba(15,118,110,.26)}.secondary-button{color:var(--ink);background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow-soft)}.ghost-button{color:var(--primary-strong);background:var(--primary-soft)}.feedback{margin:0;padding:14px 16px;border-radius:18px;font-size:14px;line-height:1.55}.feedback.error{color:var(--danger);background:var(--danger-soft)}.feedback.success{color:var(--success);background:var(--success-soft)}.feedback.warning{color:var(--warning);background:var(--warning-soft)}.admin-console{display:grid;grid-gap:22px;gap:22px}.admin-access-form{grid-template-columns:minmax(260px,420px) auto;align-items:end}.summary-strip{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{min-height:140px;padding:18px 20px;border-radius:26px;border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow-md)}.summary-card strong{font-size:clamp(30px,3.2vw,44px);line-height:1}.summary-card.streaming{background:linear-gradient(180deg,rgba(15,118,110,.16),#fffdf8)}.summary-card.online{background:linear-gradient(180deg,rgba(18,107,70,.12),#fffdf8)}.summary-card.offline{background:linear-gradient(180deg,rgba(65,80,100,.12),#fffdf8)}.summary-card.attention{background:linear-gradient(180deg,rgba(217,119,6,.14),#fffdf8)}.admin-toolbar{display:grid;grid-gap:18px;gap:18px;padding:22px;border-radius:28px;border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow-md)}.admin-search-field{max-width:420px}.control-band-meta{display:grid;grid-gap:4px;gap:4px}.filter-chip{border:1px solid rgba(15,118,110,.16);border-radius:999px;padding:11px 15px;background:rgba(15,118,110,.08);color:var(--primary-strong);font-weight:900;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}.filter-chip.is-active{color:#f8fffc;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 14px 28px rgba(15,118,110,.22)}.pagination-row{align-items:center}.admin-page-indicator{font-weight:800}.admin-list,.device-card{display:grid;grid-gap:18px;gap:18px}.device-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:var(--surface-strong);padding:22px;box-shadow:var(--shadow-md)}.device-card.status-streaming{border-color:rgba(15,118,110,.24)}.device-card-actions,.device-card-header{display:grid;grid-gap:14px;gap:14px}.device-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.device-identity{display:grid;grid-gap:10px;gap:10px}.device-code{font-size:clamp(22px,3vw,30px);font-weight:950;letter-spacing:.04em}.device-card-meta{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta-block{padding:14px;border-radius:20px;background:rgba(245,242,234,.72);border:1px solid var(--line)}.meta-value{font-weight:800}.device-card-actions{grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr)}.device-action-panel{padding:16px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.62)}.password-box{align-content:start}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:900}.status-badge.online{color:var(--success);background:var(--success-soft)}.status-badge.offline{color:var(--ink-soft);background:#edf0f3}.status-badge.active{color:var(--primary-strong);background:var(--primary-soft)}.status-badge.ended,.status-badge.error{color:var(--danger);background:var(--danger-soft)}.status-badge.unknown{color:var(--warning);background:var(--warning-soft)}.watch-shell{background:radial-gradient(circle at top right,rgba(94,234,212,.2),transparent 25%),linear-gradient(180deg,#081014,#020405)}.watch-player,.watch-shell{position:relative;min-height:100dvh;overflow:hidden}.watch-status-rail{position:absolute;top:16px;left:16px;z-index:3;width:min(440px,calc(100% - 32px));padding:16px;border-radius:26px;background:rgba(5,14,18,.64);border:1px solid rgba(214,247,241,.16);color:#f8fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 58px rgba(0,0,0,.34)}.watch-status-grid{display:grid;grid-gap:10px;gap:10px;margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.watch-status-item{padding:12px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.watch-status-item span{color:rgba(235,255,251,.6)}.watch-status-item strong{display:block;font-size:15px;font-weight:900;margin-top:6px}.watch-status-pill{padding:9px 13px}.watch-status-pill.pending{color:#cffafe;background:rgba(94,234,212,.15)}.watch-status-pill.ready{color:#dcfce7;background:rgba(34,197,94,.18)}.watch-frame{display:block;width:100%;height:100dvh;border:0;background:#020405}.not-found-shell,.watch-expired,.watch-overlay{display:grid;place-items:center}.watch-expired,.watch-overlay{position:absolute;inset:0;padding:24px;text-align:center;color:#f8fffc;background:radial-gradient(circle at 50% 35%,rgba(15,118,110,.2),transparent 32%),linear-gradient(180deg,rgba(2,4,5,.56),rgba(2,4,5,.9))}.not-found-panel,.watch-panel{width:min(560px,100%);padding:32px;border-radius:32px;border:1px solid rgba(214,247,241,.16);background:rgba(5,14,18,.78);box-shadow:0 32px 80px rgba(0,0,0,.4);color:#f8fffc;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.not-found-panel p,.watch-panel p{color:rgba(235,255,251,.78)}.watch-spinner{width:38px;height:38px;margin:0 auto 18px;border-radius:999px;border:3px solid rgba(214,247,241,.2);border-top-color:#5eead4;animation:spin .9s linear infinite}.not-found-shell{min-height:100dvh;padding:24px;background:radial-gradient(circle at top left,rgba(15,118,110,.2),transparent 26%),linear-gradient(180deg,#081014,#020405)}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:960px){.hero-layout{grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);align-items:stretch}.console-banner-content{display:grid;grid-template-columns:minmax(0,1fr) auto}}@media (max-width:980px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.page-shell{width:min(100% - 20px,100%);padding:20px 0 40px}.hero-card{min-height:auto}.hero-card,.not-found-panel,.surface-card,.watch-panel,.watch-status-rail{padding:22px;border-radius:26px}.admin-access-form,.device-card-actions,.summary-strip,.watch-status-grid{grid-template-columns:1fr}.watch-status-rail{top:12px;left:12px;width:calc(100% - 24px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}