:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;color:#f1ebdf;background:#101b18}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#27382c66,transparent 55%)}main{max-width:1150px;margin:auto;padding:30px 28px}header{text-align:center;margin-bottom:38px}.brand{display:block;font-size:11px;letter-spacing:.24em;text-decoration:none;color:#ddc599}.season{display:block;color:#93a797;letter-spacing:.2em;font-size:9px;margin-top:24px}h1{font:normal clamp(60px,8vw,88px)/1.05 Georgia,serif;margin:12px 0;color:#f2e5c8;letter-spacing:-.055em}.spark{display:inline-block;font-size:.4em;vertical-align:top;margin:8px 0 0 8px;color:#cbb179;letter-spacing:0}header p{color:#b2bfb2;margin:14px 0 0;font-size:14px}.studio{display:grid;grid-template-columns:minmax(240px,440px) minmax(280px,380px);gap:64px;justify-content:center;align-items:start}.viewer{position:sticky;top:24px;border:1px solid #65705b;border-radius:22px;overflow:hidden;background:#18211d;box-shadow:0 25px 60px #0005}canvas{display:block;width:100%;aspect-ratio:9/16;touch-action:none}.badge,.hint{position:absolute;font-size:11px;letter-spacing:.04em;background:#13201be8;padding:9px 12px;border-radius:20px;pointer-events:none}.badge{top:15px;left:15px;color:#ddc596}.hint{bottom:15px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#d6dfd4}.eyebrow{font-size:10px;letter-spacing:.18em;color:#cbb179}h2{font:normal 30px/1.15 Georgia,serif;margin:10px 0}.intro>p{margin-bottom:24px}aside p{font-size:13px;line-height:1.65;color:#b9c3b9;margin:10px 0 16px}.step{border-top:1px solid #35483c;padding:20px 0 22px}h3{font-size:15px;line-height:1.5;font-weight:550;margin:0 0 10px;color:#eee5d4}h3 span{display:inline-flex;align-items:center;justify-content:center;border:1px solid #7c795b;color:#dfc78f;border-radius:50%;width:25px;height:25px;margin-right:8px;font-size:12px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}button,.file,#download{font:inherit;display:block;text-align:center;border:1px solid #516050;border-radius:10px;padding:13px 14px;background:#1c3027;color:#f2e9d5;cursor:pointer;text-decoration:none;width:100%;margin:10px 0;font-size:13px}button:hover,.file:hover,summary:hover{border-color:#cdb37a;color:#f7e7c0}button:focus-visible,.file:focus-within,summary:focus-visible,a:focus-visible{outline:2px solid #e0c68b;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary,#download{background:#dcc18b;color:#17251c;border-color:#dcc18b;font-weight:650}button[aria-pressed=true]{border-color:#bfac7d;color:#e8d7ad;background:#293b2e}label{display:block;font-size:12px;color:#c8cfbf;margin:18px 0}input[type=range]{display:block;width:100%;accent-color:#ddc18b;margin:14px 0 3px}.file{margin:10px 0}input[type=file]{display:none}.toggles{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.toggles label{margin:14px 0 0}input[type=checkbox]{accent-color:#dcc18b;vertical-align:middle;margin-right:5px}.small,aside p.small{font-size:11px;color:#9eafa0;margin-top:10px}details{border:1px solid #35483c;border-radius:10px;padding:0 14px;margin-top:18px}summary{cursor:pointer;padding:13px 0;font-size:12px;color:#c8cfbf}details label:last-child{margin-bottom:18px}.privacy{font-size:11px;color:#99ab9d;border-top:1px solid #35483c;padding-top:18px}#status{font-size:12px;color:#cfc6ab;margin-bottom:0}video#result{width:100%;border-radius:10px;margin-top:15px}.last{padding-bottom:8px}footer{display:flex;justify-content:center;gap:24px;color:#809786;font-size:10px;margin:40px 0 6px}footer span:first-child{letter-spacing:.12em}[hidden]{display:none!important}@media(max-width:720px){main{padding:23px 18px}header{margin-bottom:25px}.season{margin-top:16px}h1{font-size:64px}header p{font-size:13px}.studio{grid-template-columns:1fr;gap:28px;max-width:420px;margin:auto}.viewer{position:relative;top:auto;width:min(100%,calc(65svh * 9/16));margin:auto}h2{font-size:28px}.intro{text-align:center}.intro>p{margin-bottom:16px}aside{padding-bottom:10px}.step{padding-top:19px}button,.file,#download{min-height:46px}footer{flex-direction:column;gap:10px;text-align:center;margin-top:24px}}

.viewer[data-empty=true]{width:100%;position:relative;min-height:220px}.viewer[data-empty=true] canvas{height:220px;aspect-ratio:auto}.viewer[data-empty=true] .hint{bottom:40%;font-size:12px}
