:root{font-family:Inter,Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fafc;background:#070707;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:#070707}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(103,232,249,.92);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{position:relative;min-height:100vh;width:100%;max-width:100vw;display:flex;justify-content:center;align-items:flex-start;padding:24px 16px 34px;overflow-x:hidden;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(180deg,#151515,#080808 48%,#020202);background-size:34px 34px,34px 34px,auto}.control-shell{position:relative;z-index:1;width:min(760px,100%)}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.app-header>div{min-width:0}.eyebrow{margin:0 0 4px;color:#93c5fd;font-size:.78rem;font-weight:800}.app-header h1{margin:0;color:#fff;font-size:clamp(2rem,8vw,3.9rem);line-height:.95;font-weight:900}.status-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:132px}.status-stack span,.live-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 9px;border:1px solid rgba(255,255,255,.11);border-radius:8px;color:#cbd5e1;background:#ffffff0f;font-size:.78rem;font-weight:700;white-space:nowrap}.app-lede{max-width:620px;margin:12px 0 0;color:#cbd5e1;font-size:clamp(.98rem,2.6vw,1.08rem);font-weight:700;line-height:1.55}.sync-entry{display:grid;gap:12px;margin:0 0 12px;padding:4px 0 16px}.sync-entry-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.78fr);gap:10px;align-items:stretch}.primary-action.sync-entry-primary{min-height:58px;margin-top:0;font-size:1.04rem}.join-room-form{min-width:0;min-height:58px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 8px 8px 13px;border:1px solid rgba(103,232,249,.18);border-radius:8px;color:#93c5fd;background:#ffffff0e;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.join-room-form:focus-within{border-color:#67e8f99e;background:#082f495c;box-shadow:0 0 0 1px #67e8f929}.join-room-form input{min-width:0;width:100%;min-height:40px;border:0;color:#f8fafc;background:transparent;outline:none;font-weight:850}.join-room-form input::placeholder{color:#94a3b8}.join-room-form button{min-height:40px;padding:0 14px;border:0;border-radius:6px;color:#071014;background:#f8fafc;font-size:.88rem;font-weight:900}.sync-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sync-scenario-card{min-width:0;min-height:76px;padding:12px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:flex-start;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;background:#ffffff0b;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.sync-scenario-card:hover{transform:translateY(-1px);border-color:#67e8f961;background:#082f4957}.sync-scenario-card svg{margin-top:2px;color:#67e8f9}.sync-scenario-card strong,.sync-scenario-card small{display:block}.sync-scenario-card strong{color:#fff;font-size:.94rem;line-height:1.2}.sync-scenario-card small{margin-top:4px;color:#94a3b8;font-size:.76rem;font-weight:750;line-height:1.35}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabs{position:sticky;top:max(10px,env(safe-area-inset-top));z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#000000b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;border:0;border-radius:6px;color:#94a3b8;background:transparent;font-weight:800;transition:color .18s ease,background .18s ease,transform .18s ease}.tab:hover{color:#fff;background:#ffffff0f}.tab.active{color:#080808;background:#f8fafc;box-shadow:0 10px 24px #ffffff1a}.tool-panel{margin-top:12px;padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#0d0d0df2;box-shadow:0 22px 60px #0000005c}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{margin:0;color:#fff;font-size:1.25rem;line-height:1.2}.panel-heading p{margin:5px 0 0;color:#94a3b8;font-size:.88rem}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-card,.sound-button,.color-grid button,.quick-list button,.secondary-action,.copy-row button{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e;color:#e2e8f0;transition:transform .16s ease,border-color .16s ease,background .16s ease}.option-card{position:relative;min-height:86px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:12px 38px 12px 12px;text-align:left}.option-card:hover,.sound-button:hover,.color-grid button:hover,.quick-list button:hover,.secondary-action:hover,.copy-row button:hover{transform:translateY(-1px);border-color:#ffffff38;background:#ffffff16}.option-card.selected,.sound-button.selected{border-color:#38bdf8bf;background:#0ea5e926;box-shadow:0 0 0 1px #38bdf838}.selected-mark{position:absolute;top:10px;right:10px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(103,232,249,.45);border-radius:999px;color:#071014;background:#67e8f9;box-shadow:0 0 18px #67e8f93d}.swatch{width:42px;height:42px;align-self:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;box-shadow:inset 0 0 22px #ffffff2e}.option-card strong,.sync-grid strong{display:block;color:#fff;font-size:.96rem;line-height:1.2}.option-card small,.sound-button small,.sync-grid span{display:block;margin-top:4px;color:#94a3b8;font-size:.78rem;line-height:1.35}.control-row{margin-top:18px}.control-row.compact{margin-top:0}.control-row label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#cbd5e1;font-size:.9rem;font-weight:800}.control-row label span,.toggle-line span{display:inline-flex;align-items:center;gap:8px}.control-row strong{color:#67e8f9;font-size:.86rem}input[type=range]{width:100%;height:32px;accent-color:#22d3ee;background:transparent}.sound-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.sound-button{min-height:82px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}.sound-button span{color:#fff;font-weight:800}.toggle-line{min-height:48px;margin-top:14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e2e8f0;background:#ffffff0b;font-weight:800}.toggle-line input{width:22px;height:22px;accent-color:#22c55e}.primary-action,.secondary-action{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:18px;border:0;border-radius:8px;color:#061015;background:linear-gradient(135deg,#67e8f9,#22c55e);font-size:1rem;font-weight:900;box-shadow:0 18px 40px #22c55e33;transition:transform .16s ease,filter .16s ease}.primary-action:hover{transform:translateY(-1px);filter:brightness(1.05)}.primary-action:active{transform:translateY(1px)}.primary-action.danger{color:#fff;background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 18px 42px #ef444442}.field-label{display:block;margin:0 0 8px;color:#cbd5e1;font-size:.9rem;font-weight:800}.text-input{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid rgba(59,130,246,.6);border-radius:8px;color:#fff;background:#00000061;outline:none;transition:border-color .2s,box-shadow .2s}.text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.text-input-container{position:relative;width:100%;display:flex;align-items:center}.text-input-container .text-input{padding-right:132px}.input-helper-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;cursor:pointer;box-shadow:0 4px 12px #1d4ed833;transition:all .2s ease;-webkit-user-select:none;user-select:none}.input-helper-btn:hover{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 4px 16px #2563eb66;transform:translateY(-50%) scale(1.03)}.input-helper-btn:active{transform:translateY(-50%) scale(.97)}.quick-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-list button{min-height:34px;padding:6px 10px;color:#dbeafe;font-size:.84rem;font-weight:700}.marquee-preview{min-height:72px;margin-top:16px;padding:12px;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px}.preview-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:2rem;font-weight:900;text-shadow:0 0 18px currentColor}.preview-text.rainbow,.marquee-text-rainbow{color:transparent;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#06b6d4,#8b5cf6,#ec4899,#ef4444);background-size:400% 100%;-webkit-background-clip:text;background-clip:text;animation:rainbow-text 4.8s linear infinite}.double-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:16px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#00000059}.segmented button{min-height:40px;border:0;border-radius:6px;color:#94a3b8;background:transparent;font-weight:800}.segmented button.selected{color:#071014;background:#67e8f9}.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.color-grid button{min-height:42px;padding:8px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;color:#e2e8f0;font-size:.84rem;font-weight:800}.dual-swatch{width:22px;height:22px;flex:0 0 auto;border:1px solid rgba(255,255,255,.2);border-radius:6px}.sync-panel{overflow:hidden}.sync-live-chip.ready{border-color:#22c55e57;color:#bbf7d0;background:#14532d57}.sync-live-chip.warning{border-color:#fbbf2461;color:#fde68a;background:#713f1257}.sync-live-chip.draft{color:#cbd5e1}.sync-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:-2px 0 14px}.sync-flow-steps span{min-height:30px;padding:6px 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#94a3b8;background:#ffffff0b;font-size:.78rem;font-weight:900}.sync-flow-steps span.active{border-color:#67e8f973;color:#e0f2fe;background:#082f4975}.sync-section-tabs{margin:0 0 14px;grid-template-columns:repeat(3,minmax(0,1fr))}.sync-section-tabs button,.sync-mode-toggle button{display:inline-flex;align-items:center;justify-content:center}.sync-draft-strip{min-height:38px;margin:0 0 14px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(34,197,94,.18);border-radius:8px;color:#bbf7d0;background:#14532d33;font-size:.8rem;font-weight:800;line-height:1.35}.sync-draft-strip svg{flex:0 0 auto}.sync-setup-grid{display:grid;grid-template-columns:minmax(188px,220px) minmax(0,1fr);gap:14px;align-items:stretch}.sync-qr-card{min-width:0;padding:14px;display:grid;place-items:center;gap:10px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#f8fafc;color:#070707}.sync-qr-card.waiting{background:#0f172ab8;color:#e2e8f0}.sync-qr-placeholder{width:100%;min-height:172px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed rgba(148,163,184,.36);border-radius:8px;background:#ffffff0b;text-align:center}.sync-qr-placeholder strong,.sync-qr-placeholder span{display:block}.sync-qr-placeholder strong{color:#f8fafc;font-size:.96rem}.sync-qr-placeholder span{color:#94a3b8;font-size:.78rem;font-weight:800}.sync-qr-card.waiting .session-code.compact{border-color:#ffffff1a;color:#e2e8f0;background:#ffffff12}.sync-qr-card svg{display:block;max-width:100%;height:auto}.session-box{display:grid;grid-template-columns:1fr 160px;gap:12px;align-items:stretch}.session-code{min-height:112px;padding:18px;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#f8fafc;color:#070707}.session-code span{font-size:2.25rem;line-height:1;font-weight:900}.session-code.compact{min-height:0;width:100%;padding:8px 10px;justify-content:center;gap:8px;border-color:#0707071f;background:#0707070f}.session-code.compact span{font-size:1.05rem;letter-spacing:.04em}.sync-room-controls{min-width:0;display:flex;flex-direction:column;gap:12px}.sync-room-controls .secondary-action{min-height:46px}.sync-panel .sync-start-action{position:sticky;bottom:10px;z-index:4;margin-top:16px;box-shadow:0 18px 34px #22c55e3d,0 -10px 22px #07070747}.sync-effect-toggle{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}.sync-mode-toggle{margin:0 0 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.sync-mode-toggle button{gap:8px}.sync-summary-card{min-height:76px;padding:13px;display:grid;grid-template-columns:36px 1fr;gap:11px;align-items:center;border:1px solid rgba(103,232,249,.16);border-radius:8px;background:#082f4947}.sync-share-status.ready{border-color:#22c55e47;background:#14532d47}.sync-share-status.warning{border-color:#fbbf2447;background:#713f124d}.sync-share-status.draft{border-color:#94a3b833;background:#0f172a70}.summary-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#67e8f9;background:#67e8f91c}.sync-summary-card strong,.sync-summary-card span{display:block}.sync-summary-card strong{color:#f8fafc;font-size:.95rem}.sync-summary-card span{margin-top:3px;color:#cbd5e1;font-size:.82rem;line-height:1.4}.sync-room-meta,.sync-safety-list{display:grid;gap:8px}.sync-room-meta span,.sync-safety-list span{min-width:0;display:inline-flex;align-items:center;gap:8px;color:#cbd5e1;font-size:.82rem;font-weight:750;line-height:1.35}.secondary-action{margin-top:0;min-height:100%;color:#f8fafc;background:#ffffff12;box-shadow:none}.sync-publish-action{min-height:48px}.copy-row{min-height:48px;margin-top:12px;padding:8px 8px 8px 12px;display:grid;grid-template-columns:20px 1fr 38px;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#00000057;color:#cbd5e1}.copy-row.disabled{color:#64748b;background:#00000038}.copy-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.copy-row button{width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0}.copy-row button:disabled{opacity:.45}.sync-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.sync-grid div{min-height:96px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.sync-page-builder{margin-top:14px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:12px}.sync-settings-grid{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:stretch}.sync-settings-grid .control-row,.sync-settings-grid .sync-summary-card{margin-top:0;min-height:82px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.sync-settings-grid .secondary-action{min-height:100%}.sync-page-preview,.sync-page-tools{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.sync-page-preview{min-height:280px;padding:12px;display:grid;gap:10px}.preview-label{color:#94a3b8;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sync-page-preview img{width:100%;height:238px;object-fit:contain;border-radius:8px;background:#000}.sync-text-preview{min-height:238px;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:10px;border:2px solid #22d3ee;border-radius:8px;background:linear-gradient(145deg,#0f172af5,#082f49c7)}.sync-text-preview strong{color:#f8fafc;font-size:1.45rem}.sync-text-preview p{margin:0;white-space:pre-line;color:#cbd5e1;font-size:.95rem;line-height:1.55}.sync-page-tools{padding:12px;display:grid;gap:12px}.sync-page-list{display:grid;gap:8px}.sync-page-item{min-height:54px;padding:9px 10px;display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:center;text-align:left}.sync-page-item.active{border-color:#67e8f985;background:#67e8f91f}.sync-page-item span{min-width:0}.sync-page-item strong,.sync-page-item small{display:block}.sync-page-item strong{overflow:hidden;color:#f8fafc;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.sync-page-item small{margin-top:2px;color:#94a3b8;font-size:.75rem}.sync-page-actions{display:grid;gap:7px}.upload-action{min-height:46px;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(103,232,249,.3);border-radius:8px;color:#e0f2fe;background:#082f496b;font-weight:900;cursor:pointer}.upload-action input{display:none}.upload-action.disabled{opacity:.5;cursor:not-allowed}.upload-action.beta{border-color:#c4b5fd57;color:#ede9fe;background:#4c1d9557}.upload-helper{color:#cbd5e1;font-size:.78rem;font-weight:700;line-height:1.45}.upload-status{color:#86efac;font-size:.8rem;font-weight:800}.sync-text-form{display:grid;gap:8px}.sync-interaction-form{display:grid;gap:8px;padding:12px;border:1px solid rgba(103,232,249,.16);border-radius:8px;background:#082f4938}.section-label-row.compact{margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#e2e8f0;font-size:.82rem;font-weight:900}.section-label-row.compact small{color:#86efac;font-size:.74rem}.interaction-kind-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.field-label.compact{display:grid;gap:6px}.interaction-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:8px}.textarea-input{min-height:92px;resize:vertical}.danger-secondary-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:#f871713d;color:#fecaca;background:#7f1d1d47}.sync-safety-list{margin-top:14px;padding:12px;border:1px solid rgba(103,232,249,.18);border-radius:8px;background:#082f4947}.install-bar{width:min(760px,100%);margin-top:12px}.install-button{min-height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#e2e8f0;background:#fff1;font-weight:900}.player-root,.marquee-root{position:fixed;top:0;right:0;bottom:0;left:0;width:var(--app-viewport-width, 100vw);height:100vh;height:100dvh;height:var(--app-viewport-height, 100dvh);z-index:100;overflow:hidden;color:#fff;background:#000;cursor:pointer;touch-action:none}.sync-player-root .player-hud{z-index:20}.sync-fill-stage{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.sync-light-dimmer{z-index:2}.sync-hud-pill{flex-wrap:wrap;justify-content:center}.sync-hud-pill svg{flex:0 0 auto}.sync-status-strip{max-width:calc(100vw - 28px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sync-status-strip span{min-height:28px;padding:5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#e2e8f0;background:#00000085;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.76rem;font-weight:800}.sync-page-player{touch-action:manipulation;cursor:default}.sync-page-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:0;background:radial-gradient(circle at 50% 0%,rgba(34,211,238,.18),transparent 42%),linear-gradient(180deg,#020617,#000)}.sync-page-stage img{position:relative;z-index:1;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0;background:#000}.sync-page-text-card{position:relative;z-index:1;width:100%;min-height:100%;padding:clamp(24px,6vw,56px);display:flex;flex-direction:column;justify-content:center;gap:18px;border:3px solid #22d3ee;border-radius:0;background:#0f172ae0}.sync-page-player.annotating{cursor:crosshair}.sync-page-annotation-layer{position:absolute;z-index:8;overflow:visible;pointer-events:none;touch-action:none}.sync-page-annotation-layer.editable{pointer-events:auto;cursor:crosshair}.sync-page-annotation-layer polyline,.sync-page-annotation-layer circle{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.sync-page-text-card span{color:#67e8f9;font-size:.82rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.sync-page-text-card h1{margin:0;color:#f8fafc;font-size:clamp(2rem,7vw,4.8rem);line-height:1}.sync-page-text-card p{margin:0;white-space:pre-line;color:#dbeafe;font-size:clamp(1.05rem,3vw,2rem);line-height:1.45}.sync-interaction-panel{position:absolute;z-index:18;width:min(430px,calc(100vw - 28px));padding:12px;display:grid;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#f8fafc;background:#020617c2;box-shadow:0 18px 46px #00000052;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:auto}.sync-interaction-panel.audience{right:14px;bottom:96px}.sync-interaction-panel.host{top:14px;right:14px}.sync-interaction-heading{display:grid;gap:3px}.sync-interaction-heading span,.sync-interaction-heading small{color:#67e8f9;font-size:.74rem;font-weight:900}.sync-interaction-heading strong{color:#f8fafc;font-size:.98rem;line-height:1.35}.sync-interaction-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sync-interaction-options button{min-height:42px;padding:9px 10px;border:1px solid rgba(103,232,249,.2);border-radius:8px;color:#e0f2fe;background:#082f4980;font-weight:900}.sync-interaction-options button.selected{color:#020617;background:#67e8f9}.sync-interaction-status{color:#cbd5e1;font-size:.76rem;font-weight:800}.sync-interaction-stats{display:grid;gap:8px}.sync-interaction-stat{position:relative;overflow:hidden;min-height:42px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0f172aad}.sync-interaction-stat div{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.sync-interaction-stat span,.sync-interaction-stat strong{font-size:.82rem}.sync-interaction-stat i{position:absolute;inset:0 auto 0 0;display:block;min-width:2px;background:#67e8f947}.sync-interaction-stat.correct{border-color:#86efac6b}.sync-interaction-stat.correct i{background:#22c55e4d}.sync-page-hud{pointer-events:none}.sync-page-hud button{pointer-events:auto}.sync-page-host-controls{max-width:calc(100vw - 28px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;pointer-events:auto}.sync-page-host-controls button{min-width:48px;min-height:40px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sync-page-host-controls button.active{color:#020617;background:#67e8f9}.sync-page-annotation-tools{max-width:calc(100vw - 28px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;pointer-events:auto}.sync-page-annotation-tools button{min-height:38px;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#f8fafc;background:#0000009e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.78rem;font-weight:900}.sync-page-annotation-tools button.active{color:#020617;background:#facc15}.sync-page-annotation-tools button:disabled{opacity:.38}.annotation-color-row{display:inline-flex;align-items:center;gap:6px}.sync-page-annotation-tools .annotation-color{position:relative;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-color:#ffffff38;background:var(--annotation-color, #facc15);box-shadow:inset 0 0 0 3px #0000002e}.sync-page-annotation-tools .annotation-color.active{border-color:#fff;box-shadow:inset 0 0 0 3px #0003,0 0 0 2px #ffffff73}.light-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;will-change:background,filter}.light-stage-red-blue{animation:flash-red-blue var(--flash-speed, .35s) steps(2,end) infinite}.light-stage-red-white{animation:flash-red-white var(--flash-speed, .35s) steps(2,end) infinite}.light-stage-amber-black{animation:flash-amber-black var(--flash-speed, .45s) steps(2,end) infinite}.light-stage-strobe{animation:strobe-white var(--flash-speed, .12s) linear infinite}.light-stage-rotate{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.14),transparent 18%),#020202}.light-stage-disco{background:#000;animation:disco-bg var(--flash-speed, .4s) infinite alternate}.light-stage-disco:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,#ff007f,#39ff14,#00f0ff,#f0f,#ff0,#ff007f 360deg);animation:rotate-light var(--rotate-speed, 2.2s) linear infinite;mix-blend-mode:color-dodge;opacity:.85;filter:blur(22px)}.light-stage-rock{animation:rock-flash var(--flash-speed, .22s) linear infinite}.light-stage-rock:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 30px,transparent 30px,transparent 60px);animation:laser-beams 1.8s linear infinite;mix-blend-mode:overlay;opacity:.7}.light-stage-romance{background:linear-gradient(135deg,#f472b6,#c084fc,#fde047);background-size:300% 300%;animation:romance-gradient var(--flash-speed, 5.5s) ease infinite}.light-stage-romance:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.2) 0%,transparent 65%);animation:pulse-glow 3.5s ease-in-out infinite alternate}.rotor{position:absolute;top:-35%;left:-35%;width:170%;height:170%;border-radius:50%;will-change:transform;animation:rotate-light var(--rotate-speed, 2.2s) linear infinite}.rotor-wide{background:conic-gradient(from 0deg,transparent 0deg,rgba(239,68,68,.95) 38deg,rgba(255,255,255,.75) 58deg,transparent 88deg,transparent 180deg,rgba(37,99,235,.95) 222deg,rgba(255,255,255,.65) 242deg,transparent 272deg,transparent 360deg)}.rotor-tight{animation-direction:reverse;animation-duration:var(--rotate-speed-slow, 3.2s);background:conic-gradient(from 90deg,transparent 0deg,rgba(251,191,36,.75) 26deg,transparent 66deg,transparent 360deg);filter:blur(12px)}.sync-player-root .light-stage,.sync-player-root .light-stage:before,.sync-player-root .light-stage:after,.sync-player-root .rotor{animation-delay:var(--sync-delay, 0s)}.light-vignette,.light-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.light-vignette{box-shadow:inset 0 0 120px #ffffff1f,inset 0 0 220px #00000042}.light-scanlines{opacity:.18;background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(255,255,255,.12) 10px,transparent 11px);mix-blend-mode:overlay}.player-hud{position:absolute;inset:auto 0 max(28px,calc(env(safe-area-inset-bottom) + 16px));display:grid;justify-items:center;gap:14px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.player-hud.visible{opacity:1;transform:translateY(0);pointer-events:auto}.hud-pill{max-width:calc(100vw - 28px);min-height:42px;padding:8px 12px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#f8fafc;background:#00000094;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hud-pill strong{font-size:.88rem;white-space:nowrap}.hud-pill span{color:#cbd5e1;font-size:.78rem;white-space:nowrap}.floating-controls{display:flex;gap:12px}.floating-controls.single{justify-content:center}.floating-controls button{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;background:#00000094;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.marquee-root{display:flex;align-items:center}.marquee-window{width:100vw;overflow:hidden}.marquee-track{display:inline-flex;will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite}.marquee-track.dir-left{padding-left:100vw;padding-right:0;animation-name:marquee-move}.marquee-track.dir-right{padding-left:0;padding-right:100vw;animation-name:marquee-move-right}.marquee-track.dir-static{padding-left:0!important;padding-right:0!important;animation:none!important;width:100vw;display:flex;justify-content:center;align-items:center;transform:none!important}.marquee-text{display:inline-block;white-space:nowrap;line-height:.92;font-weight:900;text-shadow:0 0 18px currentColor,0 0 48px currentColor}.marquee-text-neon{text-shadow:0 0 10px var(--neon-color, #ffffff),0 0 32px var(--neon-color, #ffffff),0 0 72px var(--neon-color, #ffffff)}.marquee-text-blink{animation:text-blink .65s steps(2,end) infinite}.orientation-hint{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;z-index:2;min-height:38px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;transform:translate(-50%);border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#f8fafc;background:#000000a3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:800;white-space:nowrap}@keyframes flash-red-blue{0%{background:radial-gradient(circle at 28% 50%,rgba(255,255,255,.38),transparent 20%),linear-gradient(90deg,#ff003c 0,#ff003c 50%,#095cff 50%,#095cff);filter:brightness(1.24) saturate(1.22)}50%{background:radial-gradient(circle at 72% 50%,rgba(255,255,255,.38),transparent 20%),linear-gradient(90deg,#095cff 0,#095cff 50%,#ff003c 50%,#ff003c);filter:brightness(1.18) saturate(1.28)}}@keyframes flash-red-white{0%{background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.42),transparent 24%),#e6002d}50%{background:radial-gradient(circle at 70% 50%,rgba(255,0,60,.18),transparent 24%),#fff}}@keyframes flash-amber-black{0%{background:repeating-linear-gradient(135deg,rgba(0,0,0,.18) 0 18px,transparent 18px 36px),#ffb000;filter:brightness(1.12)}50%{background:#000;filter:brightness(.55)}}@keyframes strobe-white{0%,14%{background:#fff;filter:brightness(1.4)}15%,to{background:#000;filter:brightness(.45)}}@keyframes rotate-light{to{transform:rotate(360deg)}}@keyframes disco-bg{0%{background:#0d001a}to{background:#001a1a}}@keyframes rock-flash{0%,8%{background:#ff003c;filter:brightness(1.35) saturate(1.2)}9%,18%{background:#000}19%,28%{background:#095cff;filter:brightness(1.35) saturate(1.2)}29%,38%{background:#000}39%,48%{background:#fff;filter:brightness(1.5)}49%,58%{background:#000}59%,68%{background:#ffeb3b;filter:brightness(1.4)}69%,to{background:#000}}@keyframes laser-beams{0%{background-position:0 0}to{background-position:120px 120px}}@keyframes romance-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse-glow{0%{transform:scale(.85);opacity:.45}to{transform:scale(1.15);opacity:.95}}@keyframes marquee-move{0%{transform:translateZ(0)}to{transform:translate3d(calc(-100% - 100vw),0,0)}}@keyframes rainbow-text{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes text-blink{0%,48%{opacity:1}49%,to{opacity:.18}}@media (max-width: 680px){.app-shell{padding:14px 12px 28px}.app-header{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:14px}.app-header h1{font-size:clamp(2rem,8.8vw,2.55rem)}.status-stack{justify-content:flex-start}.app-lede{margin-top:8px}.sync-entry{padding-bottom:12px}.sync-entry-actions,.sync-scenario-grid{grid-template-columns:1fr}.sync-scenario-card{min-height:64px;align-items:center}.tool-panel{padding:15px 14px 92px}.tool-panel .primary-action{position:fixed;left:50%;bottom:max(12px,calc(env(safe-area-inset-bottom) + 12px));z-index:50;width:min(calc(100vw - 24px),736px);margin-top:0;transform:translate(-50%);box-shadow:0 18px 46px #22c55e4d}.tool-panel .primary-action:hover{transform:translate(-50%) translateY(-1px)}.tool-panel .primary-action:active{transform:translate(-50%) translateY(1px)}.mode-grid,.double-grid,.session-box,.sync-setup-grid,.sync-grid,.sync-page-builder,.sync-settings-grid,.interaction-action-row,.sync-interaction-options{grid-template-columns:1fr}.sync-interaction-panel{width:calc(100vw - 24px)}.sync-interaction-panel.audience{right:12px;bottom:82px}.sync-interaction-panel.host{top:12px;right:12px}.sync-qr-card{padding:12px}.sound-grid,.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-box .secondary-action{min-height:48px}.hud-pill{flex-direction:column;align-items:center;gap:2px;text-align:center}.hud-pill span{white-space:normal}}@media (max-width: 430px){.tab{min-height:44px;flex-direction:column;gap:4px;padding:6px 3px;font-size:.78rem;line-height:1.05}.panel-heading{flex-direction:column}.join-room-form{grid-template-columns:18px minmax(0,1fr) auto;gap:8px;padding-left:11px}.join-room-form button{padding:0 12px}.sound-grid,.color-grid,.segmented{grid-template-columns:1fr 1fr}.sync-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-text{font-size:1.55rem}}.custom-color-row{margin-top:22px;display:flex;flex-direction:column;gap:8px}.custom-color-row label{color:#cbd5e1;font-size:.9rem;font-weight:800}.custom-color-picker-wrapper{display:flex;align-items:center;gap:12px}.custom-color-picker-wrapper input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:48px;height:48px;background-color:transparent;border:0;cursor:pointer;padding:0}.custom-color-picker-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:0}.custom-color-picker-wrapper input[type=color]::-webkit-color-swatch{border:2px solid rgba(255,255,255,.22);border-radius:8px;box-shadow:0 4px 12px #0000003d}.custom-color-picker-wrapper input[type=color]::-moz-color-swatch{border:2px solid rgba(255,255,255,.22);border-radius:8px;box-shadow:0 4px 12px #0000003d}.color-hex-text{font-family:monospace;font-size:1.05rem;color:#22d3ee;font-weight:700;letter-spacing:.5px}.fill-light-root{background-size:cover;background-position:center;transition:background-color .2s ease}.fill-light-dimmer{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000;pointer-events:none;z-index:1;transition:opacity 80ms linear;will-change:opacity}.brightness-hud{position:absolute;top:50%;right:32px;transform:translateY(-50%);width:54px;height:260px;z-index:10;opacity:0;pointer-events:none;transition:opacity .22s ease}.brightness-hud.visible{opacity:1}.brightness-track{position:relative;width:100%;height:100%;background:#000000a6;border:1px solid rgba(255,255,255,.16);border-radius:999px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;display:flex;flex-direction:column-reverse}.brightness-fill{width:100%;background:linear-gradient(180deg,#38bdf8,#22c55e);border-radius:0 0 999px 999px;transition:height 60ms ease-out}.brightness-info{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;pointer-events:none;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.88)}.brightness-hud-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.58));animation:pulse-brightness 2s infinite ease-in-out}.brightness-hud-value{font-size:.88rem;font-weight:800}@keyframes pulse-brightness{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.1);opacity:1}}@media (max-width: 680px){.brightness-hud{right:18px;width:48px;height:220px}.brightness-hud-value{font-size:.78rem}}.setup-container{display:flex;flex-direction:column;align-items:center;width:100%}.app-footer{margin-top:30px;padding:20px 16px 8px;width:100%;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;width:100%;max-width:100%;margin-bottom:12px}.footer-links a{min-height:32px;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;padding:4px 8px;border-radius:8px;color:#94a3b8;font-size:.88rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;overflow-wrap:anywhere;transition:color .18s ease,background .18s ease}.footer-links a:hover{color:#38bdf8;background:#38bdf814}.copyright{margin:0;color:#475569;font-size:.78rem;line-height:1.5}.info-shell{width:min(820px,100%);min-width:0;max-width:100%;margin:0 auto;animation:slide-up .32s cubic-bezier(.16,1,.3,1) forwards}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.info-header{display:flex;align-items:center;gap:18px;min-width:0;margin-bottom:24px}.back-circle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#cbd5e1;background:#ffffff0f;transition:all .18s ease}.back-circle:hover{color:#fff;border-color:#ffffff40;background:#ffffff1f;transform:scale(1.05)}.back-circle:active{transform:scale(.95)}.info-header>div{min-width:0}.eyebrow-accent{display:block;font-size:.78rem;font-weight:800;letter-spacing:1.5px;color:#38bdf8;margin-bottom:4px}.info-header h1{margin:0;color:#fff;font-size:clamp(1.4rem,5vw,2.2rem);font-weight:900;line-height:1.15;overflow-wrap:anywhere}.info-container{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;min-width:0;max-width:100%}.info-sidebar{position:sticky;top:24px;min-width:0}.info-nav{display:flex;flex-direction:column;gap:6px;min-width:0;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#00000059}.info-nav-item{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;width:100%;min-width:0;min-height:44px;border:0;border-radius:8px;color:#94a3b8;background:transparent;text-align:left;font-weight:800;font-size:.92rem;line-height:1.18;transition:all .18s ease}.info-nav-item svg{flex:0 0 auto}.info-nav-item span{min-width:0;overflow-wrap:anywhere}.info-nav-item:hover{color:#fff;background:#ffffff0d}.info-nav-item.active{color:#fff;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);box-shadow:0 0 16px #38bdf814}.info-content-area{padding:32px;min-width:0;max-width:100%;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#0d0d0df2;box-shadow:0 22px 60px #00000073;overflow-wrap:anywhere}.info-section h2{margin-top:0;margin-bottom:14px;color:#fff;font-size:clamp(1.28rem,4vw,1.5rem);font-weight:900;letter-spacing:0;line-height:1.2;overflow-wrap:anywhere;text-wrap:balance}.section-intro{color:#cbd5e1;font-size:1.02rem;line-height:1.6;margin-bottom:24px}.info-section h3{margin-top:28px;margin-bottom:12px;color:#f8fafc;font-size:1.15rem;font-weight:800;overflow-wrap:anywhere}.info-section p{color:#94a3b8;font-size:.96rem;line-height:1.6;margin-bottom:16px;overflow-wrap:anywhere}.info-section ul{margin:0 0 24px;padding-left:20px}.info-section li{color:#94a3b8;font-size:.96rem;line-height:1.6;margin-bottom:8px;overflow-wrap:anywhere}.info-section strong{color:#38bdf8}.last-updated{font-size:.8rem;color:#64748b;margin-top:-6px;margin-bottom:20px}.animate-fade-in{animation:fadeIn .22s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.alert-box{padding:16px;border-radius:8px;margin:20px 0}.alert-box strong{display:block;font-size:.96rem;margin-bottom:6px}.alert-box p{margin:0;font-size:.88rem;line-height:1.5}.warning-alert{border:1px solid rgba(249,115,22,.3);background:#f9731614}.warning-alert strong{color:#fb923c}.warning-alert p{color:#fdba74}.success-alert{border:1px solid rgba(34,197,94,.3);background:#22c55e14}.success-alert strong{color:#4ade80}.success-alert p{color:#86efac}.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.scene-card{padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#ffffff05;transition:all .18s ease}.scene-card:hover{transform:translateY(-2px);border-color:#38bdf840;background:#ffffff0a}.scene-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;margin-bottom:14px}.danger-bg{color:#ef4444;background:#ef444426}.primary-bg{color:#38bdf8;background:#38bdf826}.warning-bg{color:#eab308;background:#eab30826}.success-bg{color:#22c55e;background:#22c55e26}.scene-card h3{margin:0 0 8px;color:#fff;font-size:1.05rem;font-weight:800}.scene-card p{margin:0;font-size:.88rem;line-height:1.5;color:#94a3b8}.table-responsive{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:24px 0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0003}.comparison-table{width:100%;min-width:620px;border-collapse:collapse;text-align:left;font-size:.9rem}.comparison-table th,.comparison-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top;overflow-wrap:anywhere}.comparison-table th{color:#fff;background:#ffffff0a;font-weight:800}.comparison-table tr:last-child td{border-bottom:0}.comparison-table td{color:#cbd5e1;line-height:1.5}.comparison-table td strong{color:#38bdf8}.feature-title{color:#fff!important;font-weight:800;background:#ffffff03;width:130px}.qa-stack{display:flex;flex-direction:column;gap:14px;margin-top:28px}.qa-item{padding:16px 20px;border-left:3px solid #38bdf8;border-radius:0 8px 8px 0;background:#38bdf808}.qa-item h4{margin:0 0 8px;color:#fff;font-size:1rem;font-weight:800;overflow-wrap:anywhere}.qa-item p{margin:0;font-size:.88rem;line-height:1.55;color:#94a3b8}.about-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;border-radius:8px;background:#ffffff05;margin-bottom:24px}.brand-badge-large{font-size:2.2rem;font-weight:900;color:transparent;background:linear-gradient(135deg,#38bdf8,#22c55e);-webkit-background-clip:text;background-clip:text;margin-bottom:12px;letter-spacing:0;overflow-wrap:anywhere}.about-hero p{margin:0;font-size:1.05rem;line-height:1.6;color:#cbd5e1}@media (max-width: 768px){.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.footer-links a{min-height:38px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:#ffffff09}.footer-links a:last-child:nth-child(odd){grid-column:1 / -1}.info-shell{width:100%;max-width:100%;overflow-x:hidden}.info-header{align-items:flex-start;gap:12px;margin-bottom:16px}.back-circle{width:44px;height:44px}.info-header h1{font-size:clamp(1.55rem,8vw,2rem)}.info-container{grid-template-columns:1fr;gap:16px;width:100%;max-width:100%}.info-sidebar{position:static;width:100%;max-width:100%}.info-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;white-space:normal;padding:8px;width:100%;border-radius:12px;background:linear-gradient(135deg,#38bdf814,#22c55e0a),#0000005c}.info-nav::-webkit-scrollbar{display:none}.info-nav-item{width:100%;min-height:48px;justify-content:flex-start;padding:9px 10px;border:1px solid rgba(255,255,255,.08);background:#ffffff09;font-size:.82rem;gap:8px}.info-content-area{padding:16px;width:100%;max-width:100%;min-width:0;overflow-x:hidden}.info-section h2{font-size:clamp(1.12rem,6vw,1.38rem)}.section-intro,.info-section p,.info-section li{font-size:.92rem}.scene-grid{grid-template-columns:1fr}.table-responsive{margin:16px 0;overflow:visible;border:0;background:transparent}.comparison-table{display:block;min-width:0;font-size:.78rem}.comparison-table thead{display:none}.comparison-table tbody{display:grid;gap:10px}.comparison-table tr{display:block;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#ffffff09}.comparison-table td{display:grid;grid-template-columns:minmax(78px,34%) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.055)}.comparison-table td:before{content:attr(data-label);color:#67e8f9;font-size:.76rem;font-weight:900;line-height:1.35}.comparison-table td.feature-title{display:block;padding:12px;color:#fff!important;background:linear-gradient(90deg,#38bdf824,#22c55e0f),#ffffff0a;font-size:.92rem;line-height:1.35}.comparison-table td.feature-title:before{content:none}.comparison-table tr:last-child td{border-bottom:1px solid rgba(255,255,255,.055)}.comparison-table td:last-child{border-bottom:0}.feature-title{width:auto;min-width:0}.about-hero{padding:18px 14px}.brand-badge-large{font-size:clamp(1.6rem,8vw,2.05rem)}}@media (max-width: 430px){.info-nav{gap:6px;padding:6px}.info-nav-item{min-height:44px;padding:8px;font-size:.76rem}.info-nav-item svg{width:16px;height:16px}.info-content-area{padding:12px;border-radius:10px}.comparison-table td{grid-template-columns:1fr;gap:4px}}.language-selector-bar{width:min(760px,100%);display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.custom-lang-selector{position:relative;z-index:100}.lang-selector-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d0d0dd9;color:#fff;font-weight:700;cursor:pointer;font-size:.88rem;box-shadow:0 4px 12px #0003;transition:all .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.lang-selector-trigger:hover{border-color:#38bdf880;background:#ffffff0d}.lang-flag-icon{width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 1px 2px #0000004d;display:block}.chevron-arrow{display:inline-block;width:6px;height:6px;border-right:2px solid rgba(255,255,255,.6);border-bottom:2px solid rgba(255,255,255,.6);transform:rotate(45deg);margin-left:4px;transition:transform .18s ease}.chevron-arrow.up{transform:rotate(-135deg);margin-top:4px}.lang-dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:transparent}.lang-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;width:200px;max-height:280px;overflow-y:auto;background:#121212f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;list-style:none;margin:0;z-index:100;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.lang-dropdown-menu::-webkit-scrollbar{width:6px}.lang-dropdown-menu::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.lang-dropdown-menu li{margin:0;padding:0}.lang-option-btn{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:none;color:#fffc;font-size:.88rem;font-weight:500;text-align:left;cursor:pointer;border-radius:8px;transition:all .12s ease}.lang-option-btn:hover{background:#ffffff14;color:#fff}.lang-option-btn.active{background:#38bdf826;color:#38bdf8;font-weight:700}.tabs.has-sos{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 480px){.tabs.has-sos .tab{font-size:.75rem;gap:4px;padding:2px}}.primary-action.danger{background:#ff1744;color:#fff}.primary-action.danger:hover{background:#d50000;box-shadow:0 4px 18px #ff174466}.sos-panel .danger-badge{background:#ff174426;border:1px solid rgba(255,23,68,.3);color:#ff1744}.sos-stage{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}.sos-text-display{font-size:clamp(3rem,15vw,10rem);font-weight:900;text-shadow:0 0 20px rgba(0,0,0,.8);letter-spacing:.1em;text-align:center;animation:pulse-zoom 1s infinite alternate ease-in-out}@keyframes pulse-zoom{0%{transform:scale(.92);opacity:.85}to{transform:scale(1.08);opacity:1}}.danger-pill{background:#ff174440!important;border-color:#ff174480!important}.danger-pill strong{color:#ff1744!important}@keyframes marquee-move-right{0%{transform:translate3d(calc(-100% - 100vw),0,0)}to{transform:translateZ(0)}}.font-sans-serif{font-family:Inter,Noto Sans TC,system-ui,-apple-system,sans-serif}.font-rounded{font-family:"M PLUS Rounded 1c",Microsoft JhengHei,sans-serif;font-weight:900}.font-handwriting{font-family:Caveat,DFKai-SB,KaiTi,cursive;font-weight:700}.font-pixel{font-family:"Press Start 2P",Silkscreen,monospace;font-weight:400;letter-spacing:-.02em}.marquee-text-stroke{-webkit-text-stroke:var(--stroke-width, 3px) var(--stroke-color, #ffffff)}.led-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(transparent 35%,#000000e0 40%);background-size:8px 8px;pointer-events:none;z-index:5}.border-neon{box-shadow:inset 0 0 40px #ffffff40,inset 0 0 0 8px var(--border-neon-color, currentColor)}.border-rainbow-element{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:8px solid transparent;z-index:4;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e,#06b6d4,#8b5cf6,#ec4899,#ef4444);background-size:300% 300%;animation:border-rainbow-flow 4s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@keyframes border-rainbow-flow{0%{background-position:0% 50%}to{background-position:300% 50%}}.border-chase-element{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:8px solid transparent;z-index:4;animation:border-chase-flash .6s steps(2,end) infinite}@keyframes border-chase-flash{0%{border-color:#ff1744;box-shadow:inset 0 0 20px #ff174480,0 0 20px #ff174480}50%{border-color:#1769ff;box-shadow:inset 0 0 20px #1769ff80,0 0 20px #1769ff80}}.templates-section{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.1)}.templates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.template-card{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.template-card:hover{background:#ffffff14;border-color:#ffffff29;transform:translateY(-1px)}.template-card .template-title{font-size:.9rem;font-weight:700;color:#f8fafc;margin-bottom:2px}.template-card .template-desc{font-size:.72rem;color:#94a3b8}.template-card.active{background:#ffffff1a;border-color:var(--primary-color, #e11d48);box-shadow:0 0 8px #e11d4840}.auth-status-container{display:flex;align-items:center}.google-login-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d0d0dd9;color:#fff;font-weight:700;cursor:pointer;font-size:.88rem;box-shadow:0 4px 12px #0003;transition:all .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.google-login-btn:hover{border-color:#38bdf880;background:#ffffff0d;transform:translateY(-1px)}.google-icon{width:18px;height:18px;display:block}.user-profile-menu{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#ffffff08;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.user-avatar{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.2);object-fit:cover}.user-name-display{color:#f1f5f9;font-size:.85rem;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-logout-btn{background:#ef444426;border:1px solid rgba(239,68,68,.25);color:#ef4444;border-radius:12px;padding:3px 8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .18s ease}.auth-logout-btn:hover{background:#ef44444d;border-color:#ef444480;color:#fff}.auth-loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:#38bdf8;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.user-name-display{display:none}.user-profile-menu{padding:3px;gap:4px}.google-login-btn span{display:none}.google-login-btn{padding:8px 10px}}.crash-screen-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 50% 30%,rgba(239,68,68,.15),transparent 60%),#020617;color:#f8fafc;font-family:system-ui,-apple-system,sans-serif;z-index:9999;overflow-y:auto}.crash-card{width:min(600px,100%);padding:32px 24px;border:1px solid rgba(239,68,68,.25);border-radius:16px;background:#0f172abf;box-shadow:0 20px 50px #00000080,0 0 30px #ef44441a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-align:center}.crash-icon-pulse{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:20px;border-radius:50%;background:#ef44441a;color:#ef4444;animation:crash-pulse 2s infinite ease-in-out}@keyframes crash-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #ef444400}}.crash-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin-bottom:16px}.crash-title{font-size:1.6rem;font-weight:800;margin:0 0 12px;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.crash-subtitle{color:#94a3b8;font-size:.95rem;line-height:1.6;margin:0 0 24px}.crash-error-brief{padding:12px 16px;border-radius:8px;background:#0000004d;border-left:4px solid #ef4444;text-align:left;margin-bottom:24px;font-size:.9rem}.crash-error-brief code{color:#f87171;font-family:ui-monospace,monospace}.crash-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}@media (min-width: 480px){.crash-actions{flex-direction:row;justify-content:center}}.crash-btn{min-height:44px;padding:10px 18px;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.btn-icon{flex-shrink:0}.crash-btn-primary{background:#ef4444;color:#fff;border:none;box-shadow:0 4px 14px #ef444466}.crash-btn-primary:hover{background:#dc2626;transform:translateY(-1px)}.crash-btn-secondary{background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.15)}.crash-btn-secondary:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px)}.crash-details{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:left}.crash-details-summary{color:#38bdf8;cursor:pointer;font-size:.88rem;font-weight:700;-webkit-user-select:none;user-select:none}.crash-details-summary:hover{color:#7dd3fc}.crash-details-content{margin-top:14px;max-height:250px;overflow-y:auto;padding:12px;border-radius:8px;background:#090d16;border:1px solid rgba(255,255,255,.05)}.crash-details-content h4{margin:0 0 6px;font-size:.8rem;color:#94a3b8;text-transform:uppercase}.crash-pre{margin:0 0 16px;white-space:pre-wrap;word-break:break-all}.crash-pre:last-child{margin-bottom:0}.crash-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;color:#cbd5e1}.crash-footer{margin-top:24px;border-top:1px solid rgba(255,255,255,.06);padding-top:16px}.crash-btn-link{background:none;border:none;color:#64748b;font-size:.78rem;cursor:pointer;text-decoration:underline}.crash-btn-link:hover{color:#94a3b8}.crash-test-panel{margin-bottom:24px;padding:16px;border-radius:12px;background:#0f172a59;border:1px dashed rgba(239,68,68,.2)}.crash-test-panel .panel-actions{display:flex;flex-wrap:wrap;gap:12px}.action-btn{min-height:38px;padding:8px 14px;border-radius:6px;font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.danger-btn-outline{border:1px solid rgba(239,68,68,.4);background:#ef44440d;color:#f87171}.danger-btn-outline:hover{background:#ef444426;border-color:#ef4444;color:#fff}.warning-btn-outline{border:1px solid rgba(245,158,11,.4);background:#f59e0b0d;color:#fbbf24}.warning-btn-outline:hover{background:#f59e0b26;border-color:#f59e0b;color:#fff}.log-manager-header{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.log-manager-header h3{margin:0;font-size:1.1rem;color:#f8fafc}.log-manager-actions{display:flex;gap:8px}.log-action-btn{min-height:32px;padding:6px 12px;border-radius:6px;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#e2e8f0;transition:all .2s ease}.log-action-btn:hover{background:#ffffff1f;border-color:#fff3}.log-action-btn.delete-btn{border-color:#ef44444d;color:#f87171}.log-action-btn.delete-btn:hover{background:#ef44441f;border-color:#ef4444}.no-logs-placeholder{padding:48px 24px;border-radius:12px;background:#0f172a33;border:1px solid rgba(255,255,255,.04);text-align:center;color:#64748b}.logs-list{display:grid;gap:12px}.log-item-card{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0f172a66;overflow:hidden}.log-item-header{padding:14px 18px;display:flex;flex-direction:column;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s ease}@media (min-width: 640px){.log-item-header{flex-direction:row;align-items:center;gap:16px;padding-right:48px}}.log-item-header:hover{background:#ffffff08}.log-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.log-badge{padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:800;text-transform:uppercase}.log-type-error{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.log-type-unhandledrejection{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.log-type-react-boundary{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.log-type-simulated{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.log-time{font-size:.75rem;color:#64748b;white-space:nowrap}.log-msg-summary{font-size:.88rem;color:#cbd5e1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}.log-item-card .chevron-arrow{position:absolute;right:18px;top:18px;border-color:#64748b}@media (min-width: 640px){.log-item-card .chevron-arrow{top:50%;transform:translateY(-50%) rotate(45deg)}.log-item-card .chevron-arrow.up{transform:translateY(-50%) rotate(-135deg)}}.log-item-body{padding:18px;border-top:1px solid rgba(255,255,255,.06);background:#00000040;display:grid;gap:14px}.log-section{display:grid;gap:6px}.log-section strong{font-size:.82rem;color:#94a3b8}.log-pre{margin:0;padding:12px;border-radius:6px;background:#090d16;border:1px solid rgba(255,255,255,.03);max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.log-pre code{font-family:ui-monospace,monospace;font-size:.78rem;color:#cbd5e1}.sys-info-grid{display:grid;gap:8px;padding:10px 12px;border-radius:6px;background:#ffffff05;font-size:.78rem;color:#cbd5e1}
