:root{--ink: #141016;--ink-2: #1b161e;--ink-3: #262029;--line: #372e3b;--paper: #f4edf1;--paper-dim: #c0b2bd;--paper-faint: #8c7d89;--blush: #ef92a6;--blush-deep: #d15b76;--gold: #d9a967;--sage: #a9bd92;--wine: #d4655c;--font-display: "Fraunces", serif;--font-body: "Instrument Sans", sans-serif;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(52vw 40vh at 18% -4%,rgba(239,146,166,.13),transparent 62%),radial-gradient(40vw 32vh at 96% 108%,rgba(217,169,103,.07),transparent 60%);z-index:0}#root{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);font-weight:480;letter-spacing:.01em}a{color:var(--blush);text-decoration:none}a:hover{color:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}::selection{background:#ef92a659}.auth-stage{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(400px,100%);background:linear-gradient(160deg,var(--ink-2),rgba(27,22,30,.6));border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:44px 40px 36px;box-shadow:0 40px 80px -32px #000c;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.auth-brand{font-family:var(--font-display);font-size:15px;font-style:italic;color:var(--blush);margin-bottom:28px}.auth-card h1{font-size:34px;font-style:italic;margin-bottom:6px}.auth-sub{color:var(--paper-dim);margin-bottom:30px;font-size:14px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--paper-faint)}.field input,.field select,.field textarea{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 14px;color:var(--paper);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blush);box-shadow:0 0 0 3px #ef92a626}.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--ink-3);color:var(--paper);border-radius:999px;padding:9px 20px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.btn:hover{border-color:var(--blush);background:var(--ink-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--blush);border-color:var(--blush);color:var(--ink);font-weight:600}.btn-primary:hover{background:var(--blush-deep);border-color:var(--blush-deep)}.btn-danger{border-color:#d4655c80;color:var(--wine)}.btn-danger:hover{border-color:var(--wine);background:#d4655c1a}.btn-block{width:100%;justify-content:center}.form-error{color:var(--wine);font-size:13px;margin-top:12px}.form-ok{color:var(--sage);font-size:13px;margin-top:12px}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:30px 18px 22px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{padding:0 10px}.brand-name{font-family:var(--font-display);font-style:italic;font-size:21px;color:var(--paper)}.brand-name em{color:var(--blush);font-style:italic}.brand-tag{font-size:12px;color:var(--paper-faint);margin-top:3px}.nav{display:grid;gap:4px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--paper-dim);transition:background .15s,color .15s}.nav a:hover{background:var(--ink-2);color:var(--paper)}.nav a.active{background:linear-gradient(120deg,#ef92a629,#ef92a60d);color:var(--blush)}.nav .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}.sidebar-foot{margin-top:auto;display:grid;gap:12px;padding:0 10px;font-size:13px;color:var(--paper-dim)}.lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;width:max-content}.lang-switch button{background:none;border:0;padding:5px 13px;cursor:pointer;color:var(--paper-faint);font-size:12px;letter-spacing:.06em}.lang-switch button.on{background:var(--blush);color:var(--ink);font-weight:600}.signout{background:none;border:none;color:var(--paper-faint);cursor:pointer;text-align:left;padding:0}.signout:hover{color:var(--wine)}.main{padding:44px 52px 80px;max-width:1060px}.main:has(.look-editor){max-width:1280px}.page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:30px}.page-head h1{font-size:40px;font-style:italic}.page-head h1:after{content:"";display:block;width:52px;height:3px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,var(--blush),transparent)}.card-list{display:grid;gap:10px}.row-card{display:flex;align-items:center;gap:18px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 22px;transition:border-color .15s,transform .15s;animation:rise .4s cubic-bezier(.2,.7,.2,1) both}.card-list .row-card:nth-child(2){animation-delay:.04s}.card-list .row-card:nth-child(3){animation-delay:.08s}.card-list .row-card:nth-child(4){animation-delay:.12s}.card-list .row-card:nth-child(n+5){animation-delay:.16s}.row-card:hover{border-color:var(--blush);transform:translateY(-1px)}.row-title{font-family:var(--font-display);font-size:19px}.row-sub{font-size:12.5px;color:var(--paper-faint);margin-top:2px}.row-spacer{margin-left:auto}.chip{font-size:11.5px;letter-spacing:.05em;padding:4px 12px;border-radius:999px;border:1px solid;white-space:nowrap}.chip-draft{color:var(--paper-dim);border-color:var(--line)}.chip-published{color:var(--gold);border-color:#d9a96773;background:#d9a96714}.chip-published-with-draft-changes{color:var(--blush);border-color:#ef92a666;background:#ef92a612}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:60px 20px;text-align:center;color:var(--paper-faint);font-style:italic;font-family:var(--font-display);font-size:17px}.look-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start}.look-form{display:grid;gap:4px;min-width:0}.simple-form{display:grid;gap:4px;max-width:720px}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 16px}.field-value{color:var(--blush);letter-spacing:0;text-transform:none;font-size:12px}.field-hint{font-size:12px;color:var(--paper-faint);font-style:italic;margin-top:4px}.field-issues{margin-top:6px}.field-issues li{list-style:none;font-size:12.5px;color:var(--wine)}.section-head{display:flex;align-items:center;margin:26px 0 14px}.section-head h2{font-size:24px;font-style:italic}.ltext-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ltext-input{position:relative;display:grid}.ltext-input input,.ltext-input textarea{background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 14px 11px 42px;color:var(--paper);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ltext-input textarea{padding-left:14px;padding-top:26px}.ltext-input input:focus,.ltext-input textarea:focus{border-color:var(--blush);box-shadow:0 0 0 3px #ef92a626}.lang-badge{position:absolute;top:11px;left:13px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-faint);pointer-events:none}.step-list{display:grid;gap:12px}.step-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.step-card.has-issues{border-color:#d4655c8c}.step-card.soloed{border-color:var(--blush)}.step-head{display:flex;align-items:center;gap:8px;padding:12px 14px}.step-index{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--ink-3);color:var(--paper-dim);font-size:12px;flex:none}.step-title{background:none;border:0;cursor:pointer;text-align:left;font-family:var(--font-display);font-size:17px;color:var(--paper);padding:0;min-width:0}.step-sub{font-family:var(--font-body);font-size:12px;color:var(--paper-faint);margin-left:9px}.swatch{width:20px;height:20px;border-radius:6px;border:1px solid var(--line);flex:none}.icon-btn{background:none;border:1px solid transparent;border-radius:8px;color:var(--paper-faint);cursor:pointer;padding:3px 7px;line-height:1}.icon-btn:hover:not(:disabled){border-color:var(--line);color:var(--paper);background:var(--ink-3)}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.on{color:var(--blush);border-color:#ef92a673}.icon-btn.danger:hover{color:var(--wine);border-color:#d4655c80}.step-body{padding:4px 16px 18px;border-top:1px solid var(--line)}.step-body .field{margin-bottom:14px}.material-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 16px;padding-top:4px;border-top:1px dashed var(--line)}.colour-input{display:flex;gap:8px;align-items:center}.colour-input input[type=color]{width:46px;height:38px;padding:2px;background:var(--ink);border:1px solid var(--line);border-radius:10px;cursor:pointer}.colour-input input:not([type=color]){flex:1;min-width:0;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px}input[type=range]{accent-color:var(--blush);width:100%}.mono{font-family:SF Mono,ui-monospace,monospace;font-size:13px}.chip-toggles{display:flex;flex-wrap:wrap;gap:6px}.chip-toggle{background:var(--ink);border:1px solid var(--line);border-radius:999px;color:var(--paper-dim);cursor:pointer;font-size:12.5px;padding:5px 12px;transition:background .15s,border-color .15s,color .15s}.chip-toggle:hover{border-color:var(--blush);color:var(--paper)}.chip-toggle.on{background:var(--blush);border-color:var(--blush);color:var(--ink);font-weight:600}.chip-toggle.warn{border-style:dashed}.tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag{display:inline-flex;align-items:center;gap:6px;background:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px;font-size:12.5px}.tag button{background:none;border:0;color:var(--paper-faint);cursor:pointer;line-height:1}.tag button:hover{color:var(--wine)}.tag-row input{background:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px;min-width:150px;outline:none}.link-btn{background:none;border:0;color:var(--blush);cursor:pointer;padding:0;font-size:13px}.link-btn:hover{color:var(--paper)}.overrides{margin-top:12px;padding-left:14px;border-left:2px solid var(--line)}.preview-rail{min-width:0}.preview-sticky{position:sticky;top:34px;display:grid;gap:12px}.preview-sticky h2{font-size:20px;font-style:italic}.preview-frame{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#100c12;box-shadow:0 24px 48px -28px #000000e6}.preview-canvas{display:block;width:100%;height:auto}.mirror-video{display:none}.mirror-canvas{transform:scaleX(-1)}.mirror-frame{min-height:120px}.preview-hint{position:absolute;inset:auto 0 0 0;padding:8px 12px;font-size:12px;color:var(--paper-faint);background:#100c12d9}.tone-strip{display:flex;gap:4px}.tone{flex:1;height:30px;border:1px solid transparent;border-radius:8px;cursor:pointer;display:grid;place-items:center;padding:0;transition:transform .12s,border-color .15s}.tone span{font-size:10px;color:#0000008c;opacity:0}.tone.baseline span{opacity:.85}.tone:hover{transform:translateY(-2px)}.tone.on{border-color:var(--paper)}.tone.on span{opacity:1}.toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--paper-dim);cursor:pointer}.toggle input{accent-color:var(--blush)}.solo-note{color:var(--blush);font-style:normal}.mode-switch{margin-left:auto;margin-right:14px}@media(max-width:1100px){.look-editor{grid-template-columns:minmax(0,1fr)}.preview-sticky{position:static;max-width:420px}}.editor-note{font-size:13px;color:var(--paper-faint);font-style:italic;margin-bottom:16px}.editor-json{width:100%;min-height:420px;background:#0f0b11;border:1px solid var(--line);border-radius:var(--radius);padding:18px;font-family:SF Mono,ui-monospace,monospace;font-size:13px;line-height:1.6;color:var(--paper);resize:vertical;outline:none}.editor-json:focus{border-color:var(--blush)}.editor-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.issues{margin-top:18px;border:1px solid rgba(212,101,92,.4);background:#d4655c12;border-radius:var(--radius);padding:16px 20px}.issues h3{color:var(--wine);font-size:15px;margin-bottom:8px}.issues li{list-style:none;font-size:13px;color:var(--paper-dim);padding:3px 0}.issues code{color:var(--blush);font-size:12px}.invite-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:28px}.invite-form .field{margin-bottom:0}.invite-link{margin:0 0 24px;padding:14px 18px;border:1px solid rgba(169,189,146,.4);background:#a9bd9212;border-radius:var(--radius);font-size:13px;word-break:break-all}.invite-link code{color:var(--sage)}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center}.sidebar-foot{margin-top:0;margin-left:auto}.main{padding:28px 20px 60px}}
