:root{font-family:Inter,Avenir,Segoe UI,sans-serif;color:#f5f7ff;background:#090b12;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}.stage{position:relative;width:100vw;height:100vh;background:radial-gradient(circle at 50% 50%,#141927,#080a10 70%)}canvas{position:absolute;inset:0;width:100%;height:100%}#camera-video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}#video-canvas{opacity:.56;filter:saturate(.75) contrast(1.08)}#effect-canvas{z-index:1}.pixel-persona-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;pointer-events:none}.effect-actions{margin:10px 0 12px}.effect-actions button{width:100%;border-color:#73f6ca8c;color:#73f6ca}header{position:absolute;z-index:3;inset:0 0 auto;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:linear-gradient(#080a10e8,transparent);pointer-events:none}.brand{display:flex;gap:13px;align-items:center;letter-spacing:.12em}.brand-mark{width:10px;height:34px;background:#73f6ca;box-shadow:0 0 20px #73f6ca88}.brand b{display:block;font-size:13px}.brand small{display:block;color:#7e879c;font:10px ui-monospace,monospace;margin-top:4px}.metrics{display:flex;gap:24px;font:11px ui-monospace,monospace}.metrics>span{min-width:55px}.metrics small{display:block;color:#737c90;margin-bottom:4px}.metrics b{font-size:12px;color:#cbd3e5}.metrics i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#73f6ca;box-shadow:0 0 10px #73f6ca;margin-right:8px}.metrics .inactive i{background:#ff6f8f;box-shadow:0 0 10px #ff6f8f}.panel-hover-zone{position:absolute;z-index:4;right:0;top:84px;width:28px;height:calc(100vh - 84px);display:flex;align-items:center;justify-content:center;color:#73f6ca99;background:linear-gradient(90deg,transparent,#10151dcc);border-left:1px solid #73f6ca24;cursor:pointer}.panel-hover-zone span{writing-mode:vertical-rl;font:8px ui-monospace,monospace;letter-spacing:.2em}.panel{position:absolute;z-index:5;right:18px;top:78px;width:320px;max-height:calc(100vh - 94px);overflow-y:auto;overflow-x:hidden;padding:18px;border:1px solid #ffffff17;border-radius:15px;background:#11141ff2;box-shadow:0 20px 60px #0008;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:thin;transform:translate(calc(100% + 30px));opacity:0;transition:transform .28s ease,opacity .2s ease}.panel-hover-zone:hover+.panel,.panel:hover,.panel:focus-within,.panel.open{transform:translate(0);opacity:1}.panel-title{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #ffffff12;font:11px ui-monospace,monospace;letter-spacing:.14em}.panel-title small{color:#5d6679}.effect-picker{margin-top:14px}.panel-groups{margin-top:12px;padding-top:10px;border-top:1px solid #ffffff12}details{margin:7px 0;border:1px solid #ffffff0d;border-radius:8px;background:#0b0e1670}summary{padding:11px 12px;color:#aeb8ca;cursor:pointer;list-style:none;font:10px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;-webkit-user-select:none;user-select:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;color:#73f6ca;font-size:14px;line-height:9px}details[open]>summary{color:#73f6ca;border-bottom:1px solid #ffffff0d}details[open]>summary:after{content:"−"}details>:not(summary){margin-left:12px;margin-right:12px}.effect-groups details:first-child{border-color:#73f6ca20}.empty-controls{color:#778096;font-size:11px}.field{display:block;margin:18px 0 14px;color:#9ca5b8;font-size:11px}select{width:100%;margin-top:8px;padding:10px 12px;color:#eaf0ff;background:#181c28;border:1px solid #ffffff14;border-radius:7px;outline:none}.toggle-row{display:flex;align-items:center;justify-content:space-between;height:39px;color:#b6bed0;font-size:12px}.switch input{display:none}.switch i{display:block;width:34px;height:19px;padding:3px;border-radius:12px;background:#2a3040;transition:.2s}.switch i:after{content:"";display:block;width:13px;height:13px;border-radius:50%;background:#778096;transition:.2s}.switch input:checked+i{background:#1e5c50}.switch input:checked+i:after{transform:translate(15px);background:#73f6ca;box-shadow:0 0 9px #73f6ca88}.range{display:block;margin:17px 0}.range>span{display:flex;justify-content:space-between;color:#a8b1c4;font-size:11px}.range output{color:#73f6ca;font:11px ui-monospace,monospace}.colors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.colors label{color:#9ca5b8;font-size:10px}.output-size{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.output-size label{color:#9ca5b8;font-size:10px}.output-size input{width:100%;margin-top:7px;padding:8px;color:#eaf0ff;background:#181c28;border:1px solid #ffffff14;border-radius:6px}.colors input{display:block;width:100%;height:28px;margin-top:7px;padding:2px;border:1px solid #ffffff14;border-radius:6px;background:#181c28}.specific-title{margin:19px 0 8px;padding-top:15px;border-top:1px solid #ffffff12;color:#73f6ca;font:10px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.tooltip{position:relative}.tooltip:after{content:attr(data-help);position:absolute;z-index:20;right:0;top:calc(100% + 7px);width:230px;padding:9px 11px;border:1px solid #73f6ca30;border-radius:7px;color:#dbe5ef;background:#070a10f5;box-shadow:0 8px 24px #000b;font:10px/1.45 Segoe UI,sans-serif;letter-spacing:0;text-transform:none;pointer-events:none;opacity:0;transform:translateY(-3px);transition:opacity .14s,transform .14s}.tooltip:hover:after{opacity:1;transform:translateY(0)}input[type=range]{appearance:none;width:100%;height:3px;margin-top:11px;border-radius:3px;background:#303647;accent-color:#73f6ca}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#73f6ca;box-shadow:0 0 8px #73f6ca88}button{width:100%;border-radius:7px;cursor:pointer;letter-spacing:.08em;font:10px ui-monospace,monospace}.primary{height:41px;margin-top:10px;color:#07120f;border:0;background:#73f6ca}.secondary{height:33px;margin-top:8px;color:#778096;border:1px solid #ffffff12;background:transparent}.error{position:absolute;z-index:5;left:50%;bottom:70px;transform:translate(-50%);max-width:min(620px,90vw);padding:12px 17px;color:#ffc0ce;background:#421b29e8;border:1px solid #ff6f8f55;border-radius:8px;font-size:12px}.hint{position:absolute;z-index:3;bottom:22px;left:50%;transform:translate(-50%);color:#778096;font:9px ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}.performance-monitor{position:absolute;z-index:3;left:24px;bottom:22px;display:none;grid-template-columns:auto auto;gap:4px 18px;min-width:225px;padding:12px 14px;border:1px solid #ffffff12;border-radius:9px;background:#090c14c9;color:#8e98ad;font:10px ui-monospace,monospace;pointer-events:none}.performance-monitor.visible{display:grid}.performance-monitor b{grid-column:1 / -1;margin-bottom:4px;color:#73f6ca;letter-spacing:.12em}.performance-monitor .performance-legend{grid-column:1 / -1;display:flex;align-items:center;gap:5px;margin:-2px 0 5px;color:#6f788b;font-size:8px}.performance-monitor .performance-legend i{width:6px;height:6px;border-radius:50%;background:#73f6ca;box-shadow:0 0 6px #73f6ca80}.performance-monitor .performance-legend i:nth-of-type(2){background:#ffcf70;box-shadow:0 0 6px #ffcf7080}.performance-monitor .performance-legend i:nth-of-type(3){background:#ff657a;box-shadow:0 0 6px #ff657a80}.performance-monitor span{display:contents}.performance-monitor strong{color:#d3d9e6;text-align:right;font-weight:500}.performance-monitor strong.metric-ok{color:#73f6ca}.performance-monitor strong.metric-warning{color:#ffcf70;text-shadow:0 0 7px #ffcf7040}.performance-monitor strong.metric-danger{color:#ff657a;text-shadow:0 0 8px #ff657a55;font-weight:700}.performance-monitor strong.metric-neutral{color:#8e98ad}.performance-monitor em{grid-column:1 / -1;margin-top:5px;color:#ffcf70;font-style:normal}@media(max-width:680px){header{padding:0 16px}.metrics{gap:10px}.metrics>span{min-width:42px}.metrics>span:first-child{display:none}.panel{right:8px;top:78px;width:min(320px,calc(100vw - 18px));max-height:calc(100vh - 90px);overflow-y:auto}.performance-monitor{left:12px;bottom:12px;transform:scale(.9);transform-origin:bottom left}.hint{display:none}}
