:root{--ink:#0f0e0e;--paper:#f7f5f2;--canvas-bg:#1a1918;--canvas-placeholder:#211f1e}.cm-page{background:var(--ink);min-height:100vh;color:var(--paper);-webkit-text-size-adjust:100%;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;display:flex}.cm-page a{color:var(--paper);text-decoration:none}.cm-page a:hover{opacity:.7}.cm-top{z-index:10;background:var(--ink);border-bottom:1px solid #f7f5f21a;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.cm-nav{align-items:center;gap:4px;display:flex}.cm-nav-link{color:#f7f5f273;letter-spacing:-.01em;white-space:nowrap;border-radius:100px;padding:6px 14px;font-size:14px;font-weight:600;transition:color .2s}.cm-nav-link:hover,.cm-nav-link.is-active{color:var(--paper);opacity:1}.cm-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 24px 40px;display:flex}.cm-hero-logo{font-family:Cormorant Garamond,serif;font-size:48px;font-style:italic;font-weight:400;line-height:1}.cm-hero-title{letter-spacing:.34em;text-transform:uppercase;opacity:.7;margin:0;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300}.cm-hero-sub{opacity:.55;white-space:pre-line;margin:8px 0 0;font-size:14px;line-height:1.7}.cm-hero-arrow{opacity:.35;margin-top:20px;font-size:14px;animation:2s ease-in-out infinite cm-bounce}@keyframes cm-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.cm-step{opacity:.7;letter-spacing:.02em;align-items:center;gap:10px;font-size:13px;display:flex}.cm-step-num{opacity:.9;border:1px solid #f7f5f266;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:flex}.cm-main{flex-wrap:wrap;flex:1;align-items:stretch;display:flex}.cm-preview{flex:340px;justify-content:center;min-width:0;padding:22px 20px;display:flex}.cm-preview-inner{width:100%;max-width:min(420px,44vh)}.cm-canvas{touch-action:pan-y;cursor:crosshair;background:var(--canvas-bg);width:100%;display:block}.cm-canvas.is-dragging{touch-action:none}.cm-caption{opacity:.5;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;display:flex}.cm-panel{border-top:1px solid #f7f5f22e;flex-direction:column;flex:340px;max-width:520px;display:flex}.cm-tabs{border-bottom:1px solid #f7f5f22e;grid-template-columns:1fr 1fr;display:grid}.cm-tab{color:var(--paper);letter-spacing:.3em;cursor:pointer;text-align:center;opacity:.45;background:0 0;border:none;border-bottom:2px solid #0000;min-height:50px;padding:16px 0;font-family:Cormorant Garamond,serif;font-size:15px}.cm-tab.is-active{opacity:1;border-bottom-color:var(--paper)}.cm-section{border-bottom:1px solid #f7f5f224;flex-direction:column;gap:16px;padding:22px 20px;display:flex}.cm-section-label{letter-spacing:.3em;text-transform:uppercase;opacity:.55;font-family:Cormorant Garamond,serif;font-size:13px}.cm-hint{opacity:.45;margin:0;font-size:12px;line-height:1.5}.cm-btn-file{color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:1px solid #f7f5f280;min-height:50px;padding:15px;font-family:inherit;font-size:15px;font-weight:500}.cm-btn-file:hover{background:#f7f5f214}.cm-btn{color:var(--paper);cursor:pointer;text-align:left;background:0 0;border:1px solid #f7f5f259;min-height:48px;padding:12px;font-family:inherit;font-size:15px;font-weight:500}.cm-btn.is-active{border-color:var(--paper);background:var(--paper);color:var(--ink)}.cm-btn-mask{color:var(--paper);cursor:pointer;text-align:center;background:0 0;border:1px solid #f7f5f24d;min-height:48px;padding:12px 4px;font-family:inherit;font-size:14px;font-style:normal;font-weight:500;line-height:1}.cm-btn-mask.is-serif{font-family:Cormorant Garamond,serif}.cm-btn-mask.is-active{border-color:var(--paper);background:var(--paper);color:var(--ink)}.cm-grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cm-slider-header{opacity:.8;justify-content:space-between;margin-bottom:9px;font-size:13px;display:flex}.cm-slider-val{opacity:.6}.cm-range{appearance:none;background:#f7f5f273;outline:none;width:100%;height:1px}.cm-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--paper);cursor:pointer;border-radius:50%;width:18px;height:18px}.cm-range::-moz-range-thumb{background:var(--paper);cursor:pointer;border:0;border-radius:50%;width:18px;height:18px}.cm-label{opacity:.85;flex-direction:column;gap:8px;font-size:13px;display:flex}.cm-input,.cm-textarea{box-sizing:border-box;width:100%;color:var(--paper);background:0 0;border:1px solid #f7f5f259;padding:13px;font-family:inherit;font-size:16px}.cm-textarea{resize:vertical;line-height:1.5}.cm-input::placeholder,.cm-textarea::placeholder{color:#f7f5f259}.cm-input:focus-visible,.cm-textarea:focus-visible,.cm-btn:focus-visible,.cm-btn-file:focus-visible,.cm-btn-mask:focus-visible,.cm-tab:focus-visible{outline:1px solid var(--paper);outline-offset:3px}.cm-section.cm-profile{gap:14px}.cm-btn-preview{width:100%;color:var(--paper);cursor:pointer;text-align:center;opacity:.7;background:0 0;border:1px solid #f7f5f24d;min-height:48px;padding:14px;font-family:inherit;font-size:14px;font-weight:500}.cm-btn-preview:hover{opacity:1;background:#f7f5f20f}.cm-save-bar{background:var(--ink);border-top:1px solid #f7f5f22e;flex-direction:column;gap:10px;padding:20px;display:flex;position:sticky;bottom:0}.cm-save-btn{border:1px solid var(--paper);background:var(--paper);color:var(--ink);cursor:pointer;text-align:center;min-height:54px;padding:16px;font-family:inherit;font-size:16px;font-weight:600}.cm-save-btn:hover{background:#e2ded8}.cm-submit-btn{color:var(--paper);background:0 0;border-color:#f7f5f280}.cm-submit-btn:hover{background:#f7f5f214}.cm-save-btn.is-disabled{opacity:.3;cursor:not-allowed}.cm-save-btn.is-disabled:hover{background:var(--paper)}.cm-submit-btn.is-disabled:hover{background:0 0}.cm-input.is-error,.cm-textarea.is-error{border-color:#d44;animation:.4s cm-shake}.cm-btn-file.is-error{color:#d44;border-color:#d44;animation:.4s cm-shake}@keyframes cm-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.cm-save-status{opacity:.6;text-align:center;white-space:pre-line;margin:0;font-size:13px;line-height:1.6}::selection{background:#f7f5f240}
