:root{--ink: #0c0910;--ink2: #161020;--lacquer: #c8321e;--lacquer-deep: #7e1a10;--gold: #e9b84a;--gold-soft: #f4dca0;--paper: #f6ecd9;--line: rgba(233, 184, 74, .28);--dim: #b7a784}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 500px at 80% -10%,rgba(200,50,30,.22),transparent 60%),radial-gradient(900px 500px at -10% 30%,rgba(233,184,74,.08),transparent 55%),var(--ink);color:var(--paper);font-family:Noto Sans Khmer,system-ui,sans-serif;letter-spacing:.01em}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.app{max-width:1240px;margin:0 auto;padding:20px 22px 60px}header{display:flex;align-items:flex-end;justify-content:space-between;padding:18px 4px 22px;border-bottom:1px solid var(--line);margin-bottom:26px}.brand{display:flex;flex-direction:column;gap:6px}.mark{font-family:"Noto Serif Khmer",serif;font-size:46px;line-height:1;color:var(--gold);text-shadow:0 2px 0 var(--lacquer-deep),0 0 34px rgba(233,184,74,.35)}.mark span{color:var(--lacquer);text-shadow:0 0 26px rgba(200,50,30,.55)}.sub{font-size:12px;letter-spacing:.34em;color:var(--dim);text-transform:uppercase}button,.btn{background:linear-gradient(180deg,#e9b84a29,#e9b84a0d);color:var(--gold-soft);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-family:inherit;font-size:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s;text-decoration:none;display:inline-block}button:hover:not(:disabled),.btn:hover{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 6px 22px #c8321e59}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:linear-gradient(180deg,var(--lacquer),var(--lacquer-deep));border-color:var(--gold);color:#fff;font-weight:700}button.ghost{background:transparent}.stage{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#ffffff08,#00000038);margin-bottom:22px;position:relative}.stage:before{content:"";position:absolute;inset:6px;border:1px dashed rgba(233,184,74,.14);border-radius:13px;pointer-events:none}.dropwrap{text-align:center}input[type=file]{display:none}.drop{display:block;padding:26px;border:1.5px dashed var(--line);border-radius:14px;color:var(--dim);cursor:pointer;transition:border-color .2s,color .2s;font-size:16px}.drop:hover{border-color:var(--gold);color:var(--gold-soft)}.pipeline{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.pipeline button{font-size:15px;padding:11px 16px}.msg{margin-top:14px;color:var(--gold-soft);font-size:14px;min-height:22px}.studio{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.player{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;min-height:280px}.player video{width:100%;height:100%;display:block}.pl-fake{position:absolute;left:12px;top:12px;background:#0c0910b8;border:1px solid var(--line);border-radius:10px;padding:7px 12px;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--gold-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.pl-fake span{opacity:.8}.cues{max-height:440px;overflow:auto;display:flex;flex-direction:column;gap:7px;padding-right:4px}.cue{border:1px solid rgba(233,184,74,.14);border-radius:10px;padding:7px 11px;background:#ffffff06;cursor:pointer;transition:border-color .15s,background .15s}.cue:hover{border-color:var(--line)}.cue.active{border-color:var(--lacquer);background:#c8321e24}.cue em{font-style:normal;font-size:11px;color:var(--dim);letter-spacing:.08em}.cue .src{font-size:12.5px;color:#9f93b8;margin:2px 0 4px;white-space:pre-wrap}.cue input{width:100%;background:#00000059;border:1px solid rgba(233,184,74,.18);border-radius:7px;color:var(--gold-soft);padding:6px 9px;font-size:14.5px;font-family:"Noto Serif Khmer",serif}.cue input:focus{outline:none;border-color:var(--gold)}.exports{grid-column:1 / -1;display:flex;gap:9px;flex-wrap:wrap}.about{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about h3{color:var(--gold);font-family:"Noto Serif Khmer",serif;margin:2px 0 10px}.about ol{margin:0;padding-left:20px;line-height:1.9;color:#cfc2a6;font-size:14.5px}.about b{color:var(--gold-soft)}.about textarea,.modal input,.modal select,.modal textarea{width:100%;background:#0006;border:1px solid rgba(233,184,74,.2);border-radius:8px;padding:8px 10px;color:var(--paper);font-family:inherit;font-size:14px}.about textarea:focus,.modal input:focus,.modal select:focus{outline:none;border-color:var(--gold)}.modal{position:fixed;inset:0;background:#050308b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.sheet{width:min(720px,94vw);max-height:92vh;overflow:auto;padding:22px 24px;background:linear-gradient(180deg,var(--ink2),var(--ink));border:1px solid var(--gold);border-radius:18px;box-shadow:0 30px 90px #000000b3}.sheet h2{margin:0 0 14px;font-family:"Noto Serif Khmer",serif;color:var(--gold)}.sheet label{display:block;font-size:12.5px;color:var(--dim);margin:12px 0 0}.sheet label input,.sheet label select{margin-top:5px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.presets{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.sheet-actions{display:flex;justify-content:flex-end;margin-top:18px}.hint{color:#8d8069;font-size:12px}footer{text-align:center;color:#6f6450;font-size:12px;margin-top:40px;letter-spacing:.12em}@media(max-width:900px){.studio,.about,.row3{grid-template-columns:1fr}}.head-actions{display:flex;gap:8px;align-items:flex-end}button.lang{font-weight:800;letter-spacing:.06em;padding:9px 12px;background:transparent;border-color:var(--gold);color:var(--gold)}.ads-h{margin-top:22px;font-size:20px!important;border-top:1px solid var(--line);padding-top:14px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adsheet{width:min(560px,94vw);text-align:center}.adsheet .hint{min-height:22px}.adph{min-height:250px;display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--line);border-radius:12px;color:var(--dim);background:repeating-linear-gradient(45deg,rgba(233,184,74,.05) 0 14px,transparent 14px 28px);font-size:15px;letter-spacing:.08em}@media(max-width:700px){.row2{grid-template-columns:1fr}}
