:root{color-scheme:dark;--bg:#0d0b16;--panel:#151121;--raised:#1b1629;--line:#2d243b;--line-soft:#251e31;--text:#f7f1ff;--muted:#b2a7c0;--dim:#9788a9;--purple:#d0a9ff;--pink:#f3a8d9;--ink:#1b0d2a;--font:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;--mono:ui-monospace,"Cascadia Code",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 60% 530px at 77% 2%,#20132e 0%,transparent 80%),var(--bg);color:var(--text);font:14px/1.6 var(--font)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,select,input[type=range]{cursor:pointer}button{color:inherit}button:disabled{opacity:.52;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #e4b7ff;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.wrap{width:min(1216px,calc(100% - 96px));margin-inline:auto}.header{border-bottom:1px solid var(--line-soft);background:#110e1bcc}.head-inner{min-height:68px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;font:800 15px/1 var(--font);letter-spacing:.12em;white-space:nowrap}.brand img{width:36px;height:36px}.brand-light{font-weight:550;color:#c2b2d7}.head-inner nav{display:flex;align-items:center;gap:29px;color:var(--muted);font-weight:600;font-size:13px}.head-inner nav a{padding:22px 0;position:relative;white-space:nowrap}.head-inner nav .here{color:#ead7ff}.head-inner nav .here::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#c093ef;border-radius:3px 3px 0 0}
.intro{padding:45px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:18px}.eyebrow{display:flex;align-items:center;gap:9px;color:#d1a9f8;font:600 11px/1.2 var(--mono);letter-spacing:.19em}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#c48aff;box-shadow:0 0 13px #c48affb0;flex-shrink:0}h1{font-size:clamp(28px,4.05vw,55px);font-weight:800;line-height:1.23;letter-spacing:-.065em;margin:11px 0}h1 span{display:inline-block;background:linear-gradient(95deg,#d7b1ff,#f6b1d7 78%,#ffe0b5);background-clip:text;color:transparent}.intro p{color:var(--muted);font-size:14px;letter-spacing:.045em}.hero-stamp{position:relative;width:120px;height:102px;margin-right:38px;flex-shrink:0;color:#d2a2fe;text-align:center}.hero-stamp .orbit{width:95px;height:42px;border:1px solid #b78be74f;border-radius:50%;position:absolute;left:11px;top:30px}.o1{transform:rotate(30deg)}.o2{transform:rotate(-30deg)}.o3{transform:rotate(90deg)}.hero-stamp span{position:relative;top:28px;font-size:28px;text-shadow:0 0 24px #b381f0}.hero-stamp i,.hero-stamp b{position:absolute;font-style:normal;font-size:17px}.hero-stamp i{right:9px;top:11px}.hero-stamp b{left:6px;bottom:21px}
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,372px);gap:20px;align-items:start;scroll-margin-top:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 10px 30px #05020e27}.panel-head{height:55px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 18px;border-bottom:1px solid var(--line-soft)}.panel-name{display:flex;align-items:center;gap:9px}.panel-name h2{font-size:15px;font-weight:750;letter-spacing:.025em}.icon{width:19px;height:19px;background-repeat:no-repeat;background-size:contain;display:inline-block}.icon-view{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cda3fb' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m10 9 5 3-5 3z'/%3E%3C/svg%3E")}.icon-settings{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cda3fb' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3Ccircle cx='9' cy='7' r='2' fill='%23151121'/%3E%3Ccircle cx='15' cy='12' r='2' fill='%23151121'/%3E%3Ccircle cx='8' cy='17' r='2' fill='%23151121'/%3E%3C/svg%3E")}.live{color:#c2a9dd;font:550 10px/1 var(--mono);letter-spacing:.1em;white-space:nowrap}.live i{display:inline-block;width:6px;height:6px;background:#d7a7ff;border-radius:50%;box-shadow:0 0 8px #cb87ff;margin-right:5px;vertical-align:1px}
.screen{margin:13px 13px 0;position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:#070612;overflow:hidden;border-radius:8px;border:1px solid #33233c}.screen canvas{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.ratio-badge{position:absolute;right:12px;top:12px;padding:5px 8px;background:#10091ec9;color:#efe0f8;border:1px solid #b48ce850;border-radius:6px;font:500 10px/1 var(--mono)}.big-play{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:49px;height:49px;border:1px solid #eac6ff86;background:#28193dd9;border-radius:50%;box-shadow:0 0 23px #ad69f043;backdrop-filter:blur(6px)}.big-play svg{fill:#f5e6ff;stroke:none;margin-left:2px}.big-play:hover{background:#533271}.transport{display:flex;align-items:center;gap:11px;min-height:48px;padding:0 16px}.icon-btn{display:grid;place-items:center;border:0;background:transparent;width:29px;height:29px;flex-shrink:0;border-radius:5px;padding:0;color:#d9c5f1}.icon-btn:hover,.text-button:hover{background:#30243c;color:#f6e7ff}.icon-btn svg{width:17px;height:17px}.time{white-space:nowrap;color:#b8a9c9;font:11px/1 var(--mono)}input[type=range]{min-width:0;width:100%;accent-color:#bc8ced;margin:0;display:block}.transport input{flex:1;margin-left:3px}.export-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-top:1px solid var(--line-soft);background:#171224}.export-info{display:flex;align-items:center;gap:10px;min-width:0}.file-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:8px;color:#d1a1ff;background:#251937;flex-shrink:0}.file-icon svg{width:19px;height:19px}.export-info strong,.export-info div>span{display:block}.export-info strong{font-size:12px}.export-info div>span{color:var(--muted);font:10px/1.65 var(--mono)}.primary{border-radius:8px;padding:9px 14px;min-height:38px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-align:center}.primary{color:var(--ink);border:1px solid #cda3fa;background:linear-gradient(110deg,#d9b5ff,#c9a1ff 75%,#dcb0fb);box-shadow:0 4px 15px #b072e325}.primary:hover{background:#ebcfff}.primary svg{width:16px;height:16px}.export-feedback{border-top:1px solid var(--line);padding:12px 16px;color:#d8c6e9;font-size:12px}.export-feedback progress{width:100%;height:8px;accent-color:#c590ff}.export-actions{display:flex;gap:8px;margin-top:4px}.text-button{background:transparent;border:0;border-radius:5px;padding:4px 7px;color:#bca8d0;font-weight:650;font-size:12px;cursor:pointer}
.settings-body{padding:0 17px 13px}.control{padding:12px 0 11px;border:0;border-bottom:1px solid var(--line-soft);margin:0;min-width:0}.control:last-child{border-bottom:0;padding-bottom:2px}.label{display:block;color:#eee4f7;font-size:12px;font-weight:700;margin-bottom:7px;padding:0}.control legend{float:left;width:100%;display:block}.control legend+*{clear:both}.field-icon{font-size:13px;color:#c396ec;margin-right:4px}.text-input{position:relative}.text-input textarea{width:100%;height:57px;resize:vertical;min-height:55px;max-height:145px;display:block;border:1px solid #3c2f4c;border-radius:8px;color:#f9efff;background:#100d1b;padding:7px 9px 17px;line-height:1.3}.text-input span{position:absolute;right:8px;bottom:3px;color:#a291b4;font:10px/1.5 var(--mono);pointer-events:none}.chips,.palette{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chips{margin-top:7px}.chips button,.shapes button,.ratios button{border:1px solid #392d48;background:#1c1629;border-radius:6px;color:#c7b6d7}.chips button{font-size:10px;padding:3px 7px}.chips button:hover,.shapes button:hover,.ratios button:hover{border-color:#a57bd0;color:#fff}.palette{gap:9px}.swatch{position:relative;border:1px solid #ffffff32;border-radius:50%;width:29px;height:29px;background:var(--swatch);display:grid;place-items:center;padding:0;color:#170e28;font-weight:800;font-size:13px}.swatch[aria-pressed=true]{outline:1px solid #e5baff;outline-offset:2px}.swatch:hover{transform:translateY(-2px)}.hint{font-size:10px;color:var(--muted);display:block;margin-top:4px}.shapes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.shapes button{position:relative;min-height:48px;padding:3px 0;font-size:9px;white-space:nowrap}.shapes svg{display:block;margin:0 auto 1px;width:19px;height:19px;color:#dcbbf8}.shapes button[aria-pressed=true],.ratios button[aria-pressed=true]{border-color:#a975da;background:#342349;color:#f0d9ff}.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.duo select{border:1px solid #392d48;border-radius:6px;background:#1c1629;color:#f0e3fa;width:100%;height:31px;padding:0 6px;font-size:11px}.ratios{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ratios button{display:flex;align-items:center;justify-content:center;gap:7px;padding:4px;min-height:31px;font:500 10px/1 var(--mono)}.ratios i{display:inline-block;border:1px solid currentColor;border-radius:2px}.wide{width:14px;height:9px}.tall{width:9px;height:14px}.square{width:11px;height:11px}.intensity label{display:flex;justify-content:space-between;align-items:center}.intensity output{color:#caa5ea;font:11px/1 var(--mono)}
.section{margin-top:55px;scroll-margin-top:20px}.section h2{font-size:clamp(24px,3vw,35px);font-weight:800;letter-spacing:-.05em;margin:7px 0 4px}.section-copy{color:var(--muted);font-size:13px;margin-bottom:17px}.templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.template{color:var(--text);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;padding:0}.template:hover{border-color:#ad80d7}.template canvas{width:100%;display:block;aspect-ratio:2.4;object-fit:cover}.template .template-label{padding:10px 13px;display:flex;gap:5px;align-items:center;justify-content:space-between;font-size:13px;font-weight:750}.template small{font-size:10px;color:#d1a9f8}.footer{border-top:1px solid var(--line);margin-top:50px;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.footer .brand{font-size:12px;color:var(--text)}.footer img{width:27px;height:27px}
.toast{position:fixed;right:20px;bottom:20px;z-index:3;max-width:calc(100% - 40px);border:1px solid #735393;background:#251937;color:#f3e4ff;padding:9px 14px;border-radius:9px;box-shadow:0 8px 28px #0a0618bd;font-size:13px}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.studio{grid-template-columns:minmax(0,1fr) minmax(295px,330px);gap:14px}.hero-stamp{margin-right:15px}}@media(max-width:780px){.studio{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}.intro{padding:32px 0 23px}.hero-stamp{display:none}.settings-body{padding-inline:14px}.shapes button{min-height:47px}.section{margin-top:38px}}@media(max-width:560px){.head-inner{min-height:52px;grid-template-columns:1fr auto;gap:8px}.head-inner nav{gap:12px;font-size:12px}.head-inner nav a{padding:14px 0}.brand{font-size:12px;gap:6px}.brand img{width:30px;height:30px}.intro p{font-size:12px}.eyebrow{font-size:9px}.screen{margin:8px 8px 0}.big-play{width:38px;height:38px;bottom:7%}.transport{padding-inline:8px;gap:7px}.export-bar{padding:9px 8px}.primary{padding:7px 9px}.export-bar .primary{font-size:12px;white-space:nowrap}.file-icon{width:29px;height:29px}.export-info{gap:5px}.templates{grid-template-columns:1fr}.footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.screen[data-format="9:16"],.screen[data-format="1:1"]{aspect-ratio:4/3;max-height:525px}
@media(max-width:560px){.screen[data-format="9:16"]{aspect-ratio:3/4}}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.text-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.text-modes label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 4px;
  border: 1px solid #392d48;
  border-radius: 6px;
  background: #1c1629;
  color: #c7b6d7;
  font-size: 11px;
  cursor: pointer;
}
.text-modes label:hover { border-color: #a57bd0; color: #fff; }
.text-modes label:has(input:checked) { border-color: #a975da; background: #342349; color: #f0d9ff; }
.text-modes input { margin: 0; accent-color: #bc8ced; }
