*{box-sizing:border-box}:root{color:#fff0e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#190f12;font-family:Segoe UI,Arial,sans-serif}body{min-width:320px;margin:0}#root{min-height:100svh}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:5px;outline:2px solid #c8e6b6}a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin:0}:root{--muted:#cdb8ae;--line:#f2c7b129;--pink:#ffadc3;--green:#b7d9a3}body{background:radial-gradient(at 90% 8%,#79374765,#0000 40%),radial-gradient(at 8% 38%,#3c542d38,#0000 40%),#190f12}.app{max-width:1340px;margin:auto;padding:0 44px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:28px;padding:25px 0;display:flex}.wordmark{letter-spacing:-.06em;white-space:nowrap;align-items:center;font-size:23px;font-weight:850;text-decoration:none;display:inline-flex}.wordmark span{color:var(--pink)}.brand-icon{width:36px;height:36px;margin-right:10px}.nav-link{color:var(--muted);margin-left:auto;font-size:12px;text-decoration:none}.nav-link:hover{color:var(--pink)}.fan-tag,.eyebrow,.resolution,.hero-tags,.step-number,.frame-index,.footer h2,.footer-bottom>span{font-family:ui-monospace,Consolas,monospace}.fan-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;border-radius:30px;padding:8px 12px;font-size:9px}.hero{padding:65px 0 48px;position:relative;overflow:hidden}.eyebrow{color:var(--green);letter-spacing:.16em;align-items:center;gap:9px;font-size:10px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 14px #b7d9a360}.hero h1{letter-spacing:-.065em;margin:22px 0;font-size:clamp(44px,6.8vw,88px);font-weight:800;line-height:1.04}.hero h1>span{color:#0000;background:linear-gradient(100deg,#ffc0d0,#f4c0b0 55%,#c8e6b6);-webkit-background-clip:text;background-clip:text}.hero-copy{color:var(--muted);font-size:15px;line-height:1.8}.hero-tags{letter-spacing:.1em;color:#ddc8bd;flex-wrap:wrap;gap:22px;margin-top:25px;font-size:9px;display:flex}.hero-tags span+span{border-left:1px solid var(--line);padding-left:22px}.hero-orbit{color:#b7d9a31c;pointer-events:none;font-size:235px;line-height:1;position:absolute;top:60px;right:30px;transform:rotate(12deg)}.editor{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:26px;scroll-margin-top:24px;display:grid}.preview-column,.controls{border:1px solid var(--line);background:linear-gradient(145deg,#362329ec,#23171bf0);border-radius:24px;min-width:0;padding:24px;box-shadow:0 24px 80px #0003}.preview-column{position:sticky;top:24px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.resolution{color:var(--muted);font-size:9px}.canvas-shell{background:linear-gradient(145deg,#ffadc312,#b7d9a309);border:1px solid #ffd1b529;border-radius:16px;padding:10px}canvas{aspect-ratio:1;touch-action:none;cursor:grab;background:#291c21;border-radius:10px;width:100%;height:auto;display:block}canvas:active{cursor:grabbing}.hint{text-align:center;color:var(--muted);margin:16px 0 22px;font-size:11px;line-height:1.6}.selected-details{border-top:1px solid var(--line);gap:14px;padding-top:20px;display:flex}.selection-mark{width:42px;height:42px;color:var(--pink);background:#ffadc30b;border:1px solid #ffadc329;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.selected-details h2{letter-spacing:-.025em;margin-bottom:5px;font-size:17px}.selected-details p{color:var(--muted);font-size:10px;line-height:1.8}.selected-details .credit{color:var(--pink);margin-top:3px}.credit a{text-underline-offset:4px;text-decoration-color:#ffadc360}.credit a:hover{color:var(--green)}.control-section+.control-section{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.step-heading{align-items:center;gap:13px;margin-bottom:20px;display:flex}.step-number{color:#c8e6b6;background:#b7d9a309;border:1px solid #b7d9a336;border-radius:10px;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:10px;display:grid}.step-heading h2{letter-spacing:-.03em;font-size:19px;font-weight:650;line-height:1.3}.step-heading p{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.frame-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.frame-option{text-align:left;border:1px solid var(--line);color:#fff0e8;background:#1c111780;border-radius:12px;min-width:0;padding:7px;transition:transform .2s,border-color .2s}.frame-option:hover{border-color:var(--pink);transform:translateY(-3px)}.frame-option.selected{border-color:var(--green);background:#b7d9a30a;box-shadow:0 0 24px #b7d9a30a}.frame-thumb{background:#463039;border-radius:7px;position:relative;overflow:hidden}.frame-thumb img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.frame-index{background:#190f12e6;border-radius:4px;padding:3px 5px;font-size:8px;position:absolute;bottom:5px;left:5px}.selected-badge{color:#29141d;background:#c8e6b6;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:grid;position:absolute;top:5px;right:5px}.frame-name{overflow-wrap:anywhere;margin-top:9px;font-size:10px;font-weight:650;line-height:1.4;display:block}.frame-credit{color:var(--muted);margin:4px 0 2px;font-size:9px;display:block}.file-input{display:none}.upload{color:#fff0e8;background:#ffadc305;border:1px dashed #d8a0b166;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:57px;padding:14px;font-size:12px;display:flex}.upload:hover{background:#ffadc310}.upload>span:first-child{color:var(--pink);font-size:22px}.file-types{color:var(--muted);margin-left:auto;font:8px ui-monospace,monospace}.slider-heading{color:var(--muted);justify-content:space-between;margin:21px 0 10px;font-size:11px;display:flex}.slider-heading output{color:var(--green)}input[type=range]{width:100%;min-height:24px;accent-color:var(--green);cursor:pointer;margin:0}input:disabled{opacity:.4;cursor:not-allowed}.position-controls{color:var(--muted);margin-top:12px;font-size:11px}.position-controls summary{cursor:pointer;padding:8px 0}.position-grid{gap:8px;padding:10px 0;display:grid}.reset{color:var(--pink);background:0 0;border:0;padding:8px 0;font-size:10px}.reset:disabled{opacity:.4}.download{color:#291c21;background:linear-gradient(110deg,#ffc0d0,#e6a0b8);border:1px solid #ffd7df80;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:17px 19px;font-size:13px;font-weight:750;transition:transform .2s,box-shadow .2s;display:flex}.download:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 0 30px #ffadc324}.download:disabled{opacity:.4}.download>span{font-size:22px}.download-hint{color:var(--muted);text-align:center;margin-top:10px;font-size:10px}.privacy{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.8}.error{color:#ffc0b9;margin-top:15px;font-size:12px;line-height:1.6}.notice{color:var(--green);font-size:11px;line-height:1.7}.notice:not(:empty){margin-top:14px}.footer{border-top:1px solid var(--line);grid-template-columns:1.3fr 1fr 1fr;gap:35px;margin-top:65px;padding:34px 0 25px;display:grid}.footer h2{letter-spacing:.12em;color:#f3dfd3;margin-bottom:16px;font-size:10px}.footer p{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.9}.footer-about p{max-width:350px;margin-top:13px}.footer-bottom{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;display:flex}.footer-bottom>span{color:var(--green);letter-spacing:.08em;font-size:8px}.footer-bottom p{margin:0;font-size:9px}@media (width<=1000px){.app{padding:0 28px}.editor{gap:18px}.controls,.preview-column{padding:18px}.frame-grid{gap:7px}.hero-orbit{opacity:.5;font-size:180px}}@media (width<=760px){.app{padding:0 18px}.topbar{gap:16px;padding:22px 0}.wordmark{font-size:21px}.brand-icon{width:29px;height:29px;margin-right:6px}.fan-tag{display:none}.hero{padding:42px 0 32px}.hero h1{font-size:clamp(42px,9vw,68px)}.hero-copy{font-size:13px}.hero-orbit{display:none}.editor{grid-template-columns:1fr}.preview-column{position:static}.controls{padding:22px}.footer{grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}.footer-about{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=380px){.controls{padding:16px}.hero-tags{gap:12px;font-size:8px}.hero-tags span+span{padding-left:12px}.file-types{display:none}.footer{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.design-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.design-filters button{padding:9px 12px;font-size:11px}.removal-panel{background:#b7d9a308;border:1px solid #b7d9a340;border-radius:12px;margin-bottom:16px;padding:14px}.removal-toggle{color:#e5efd9;cursor:pointer;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;display:flex}.removal-toggle input{accent-color:#b7d9a3;flex-shrink:0;margin-top:4px}.removal-panel>p{color:#cdb8ae;margin-top:8px;font-size:10px;line-height:1.8}.removal-panel>.removal-status{color:#b7d9a3}.removal-panel>.error{color:#ffc0b9}.photo-choice-grid{grid-template-columns:1fr;gap:14px;margin-top:18px;display:grid}.photo-choice-card{border:1px solid #75616d;border-radius:14px;min-width:0;padding:16px}.photo-choice-card.active{border-color:#e0a9c8}.photo-choice-card h3{margin:0 0 12px;font-size:16px}.photo-choice-card p{font-size:13px;line-height:1.55}.photo-choice-thumb{object-fit:contain;background-color:#ddd;background-image:conic-gradient(#aaa 25%,transparent 0 50%,#aaa 0 75%,transparent 0);background-size:20px 20px;border-radius:10px;width:100%;height:170px;display:block}.photo-choice-actions{flex-wrap:wrap;gap:8px;display:flex}.photo-choice-actions button{min-height:44px}.photo-choice-edit{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.photo-choice-edit:focus-visible{outline-offset:4px;outline:3px solid #e0a9c8}@media (width>=1000px){.photo-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}[role=dialog][aria-labelledby=cutout-title] canvas{background:0 0}
