:root{--paper:#f5f6f2;--ink:#202d2b;--muted:#64736d;--line:#dce3dc;--green:#19684f;--pale:#e8f3eb;--warn:#946321;--warn-bg:#fbf3e6;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #63ad8d;outline-offset:3px}.app-shell{max-width:1040px;margin:auto;padding:0 36px}.topbar{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:10px;align-items:center;font-weight:650;letter-spacing:-.4px;font-size:19px}.brand-icon{background:var(--green);color:#fff;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:25px;font-weight:400}.quiet{border:0;background:none;padding:9px;color:var(--muted);font-size:13px;display:inline-flex;align-items:center;gap:7px;border-radius:8px}.quiet:hover{background:#e8eee7;color:var(--ink)}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:42px 0 27px;gap:20px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--green)}h1{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin:12px 0 10px;font-weight:650}.intro{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.readonly{color:var(--green);border:1px solid #cdded2;padding:8px 11px;border-radius:30px;font-size:11px;white-space:nowrap}.viewer-card{border:1px solid var(--line);border-radius:17px;background:white;overflow:hidden;box-shadow:0 5px 25px #1d332608}.viewer-toolbar{height:58px;padding:0 18px;display:flex;justify-content:space-between;align-items:center}.status{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.status i{width:7px;height:7px;border-radius:50%;background:#b4beb6}.status.live{color:var(--green)}.status.live i{background:#279469;box-shadow:0 0 0 4px #eaf5ee}.status.error i{background:#c39046}.stage{position:relative;min-height:330px;height:min(57vh,600px);background:#172724;display:flex;justify-content:center;align-items:center;overflow:hidden}.stage img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.stage img[hidden],.placeholder[hidden],[hidden]{display:none!important}.placeholder{color:#a5b9af;text-align:center;padding:26px;max-width:400px}.placeholder-symbol{font-size:39px;color:#6e8b7e}.placeholder h2{color:#d6e3db;font-weight:500;font-size:18px;margin:16px 0 8px}.placeholder p{font-size:13px;line-height:1.6;margin:0}.reception{min-height:49px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;font-size:11px;color:var(--muted)}.reception strong{color:var(--ink);margin-left:7px;font-variant-numeric:tabular-nums;font-weight:550}.notice{display:flex;gap:12px;padding:16px 18px;background:var(--warn-bg);color:var(--warn);border:1px solid #eadfc9;border-radius:12px;margin-top:18px;font-size:13px}.notice>span{font-size:20px}.notice strong{font-weight:600}.notice p{margin:5px 0 0;line-height:1.5;font-size:12px}.details{display:flex;justify-content:space-between;gap:15px;margin:22px 2px 16px;color:var(--muted);font-size:11px}.footnote{color:var(--muted);font-size:11px;line-height:1.7;max-width:670px}footer{padding:28px 0;color:#78857b;font-size:11px;text-align:center}.login-page{min-height:100dvh;display:grid;place-items:center;padding:28px 20px}.login-shell{width:100%;max-width:430px}.login-shell>.brand{margin-bottom:29px}.login-card{border:1px solid var(--line);background:white;border-radius:20px;padding:36px;box-shadow:0 15px 60px #283f2506}.login-card h1{font-size:40px;margin:18px 0}.login-card .intro{max-width:310px}.login-card form{margin-top:30px}label{font-size:12px;font-weight:600;display:block;margin:17px 0 8px}input,select{border:1px solid #cdd7cd;border-radius:9px;background:#fcfdfb;color:var(--ink);padding:12px;width:100%;min-width:0}input[type=password]{letter-spacing:1px}.primary{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;background:var(--green);color:#fff;padding:14px 16px;width:100%;margin-top:15px;font-weight:600;font-size:13px}.primary:hover{background:#12523e}.form-message{color:#a34830;font-size:12px;line-height:1.5;min-height:18px;margin:10px 0}.privacy-note{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:23px;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.8}.privacy-note>span:first-child{color:var(--green);font-size:23px}.privacy-note small{font-size:10px;color:#7e897f}.stage:fullscreen,.stage.expanded{height:100dvh;width:100vw;background:#172724}.stage.expanded{position:fixed;inset:0;z-index:20}.exit-fullscreen{position:absolute;right:15px;top:15px;border:1px solid #fff7;color:white;background:#172724db;border-radius:8px;padding:10px;z-index:21}.setup-shell{max-width:920px;margin:30px auto;padding:0 20px}.setup-panel{padding:25px;background:white;border:1px solid var(--line);border-radius:14px;margin:20px 0}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.setup-shell h2{font-size:20px;font-weight:600}.setup-shell p{font-size:13px;line-height:1.7;color:var(--muted)}.setup-shell button.secondary{background:var(--pale);border:1px solid #cdded2;padding:12px;border-radius:8px;color:var(--green);margin:12px 8px 0 0}.setup-shell canvas{max-width:100%;max-height:65vh;display:block;touch-action:none;cursor:crosshair;background:#172724}.canvas-wrap{overflow:auto}.setup-shell .form-message{color:#955322}.setup-shell code{font-size:12px}.setup-help{color:var(--muted);font-size:12px}.setup-shell output{display:block;margin:12px 0;color:var(--green);font-size:12px}
@media(max-width:600px){.app-shell{padding:0 17px}.topbar{height:76px}.brand{font-size:16px;gap:8px}.brand-icon{width:30px;height:30px;font-size:22px}.page-heading{padding:30px 0 22px;align-items:flex-start}.page-heading h1{font-size:27px;letter-spacing:-1px;max-width:240px}.page-heading .eyebrow{font-size:9px;letter-spacing:1.3px}.readonly{font-size:10px;padding:7px 9px;margin-top:5px}.page-heading .intro{font-size:12px}.stage{height:52vh;min-height:280px}.viewer-toolbar{padding:0 12px}.reception{padding:13px 12px;align-items:flex-start;flex-direction:column;gap:6px}.details{flex-direction:column;gap:10px;font-size:11px}.login-card{padding:27px}.login-card h1{font-size:37px}.setup-grid{grid-template-columns:1fr}.setup-panel{padding:19px}.quiet{font-size:11px}.notice{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.toggle-label{display:flex;align-items:center;gap:10px;font-size:14px}.toggle-label input{width:20px;height:20px;accent-color:var(--green)}.apply-state{padding:12px 14px;border-radius:8px;background:var(--pale);color:var(--green)!important}.result-wrap{background:#172724;border-radius:10px;padding:12px;display:flex;justify-content:center}.setup-shell .result-wrap canvas{width:auto;height:auto;max-height:40vh;max-width:100%;object-fit:contain;cursor:default}.setup-panel h3{font-size:15px;margin-top:24px}.canvas-wrap{border-radius:10px;background:#172724}
