@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0hiocdn10l05a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0tm8u-h63rec8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-vietnamese-wght-normal.2e8ypamius-z3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-latin-ext-wght-normal.0u127c2ykgu-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/newsreader-latin-wght-normal.0rbocftmutivq.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f4f0e8;--surface:#fcfaf6;--sunken:#ede8de;--sunken-2:#dfd8cb;--ink:#221e19;--ink-2:#5e574d;--ink-3:#8a8276;--line:#eae4d9;--line-2:#dcd4c6;--accent:#221e19;--accent-ink:#000;--on-accent:#fbf9f4;--rose:#9a7b4f;--rose-soft:#f1e8d8;--blush:#f3e2df;--ok:#5c7a5f;--ok-soft:#e6ebe2;--warn:#9a7b4f;--warn-soft:#f2e9d9;--danger:#8f3b32;--danger-soft:#f3e1de;--dark:#141210;--font:"DM Sans Variable", "DM Sans", system-ui, sans-serif;--font-display:"Newsreader Variable", "Newsreader", Georgia, serif;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-btn:10px;--r-chip:999px;--shadow-sm:0 2px 6px #221e190a, 0 8px 24px #221e190d;--shadow-md:0 4px 14px #221e190f, 0 22px 54px #221e1917;--ring:0 0 0 2px var(--surface), 0 0 0 4px var(--rose);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:400 14px/1.55 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.014em;font-weight:380;line-height:1.2}h1{font-size:38px}h2{font-size:26px}h3{font-size:19px}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--rose);outline-offset:2px}::selection{background:var(--rose-soft)}b,strong{font-weight:550}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500}.label{letter-spacing:.085em;text-transform:uppercase;font-size:12px;font-weight:500}.sub{color:var(--ink-2);font-size:14px;font-weight:350}.meta{color:var(--ink-3);font-size:12px}.muted{color:var(--ink-2)}.num{font-variant-numeric:tabular-nums}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end}.g4{gap:4px}.g8{gap:8px}.g16{gap:16px}.g24{gap:24px}.g32{gap:32px}.stack>*+*{margin-top:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.btn{border-radius:var(--r-btn);letter-spacing:.005em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 20px;font-size:13px;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn.sm{min-height:36px;padding:0 14px;font-size:12px}.btn.full{width:100%;display:flex}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-ink)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.btn.secondary:hover:not(:disabled){background:var(--bg)}.btn.ghost{color:var(--ink-2)}.btn.ghost:hover:not(:disabled){background:var(--sunken);color:var(--ink)}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.45}.pill{letter-spacing:.01em;white-space:nowrap;background:var(--sunken);height:24px;color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:500;display:inline-flex}.pill .dot{background:currentColor;border-radius:999px;width:6px;height:6px}.pill.accent{background:var(--rose-soft);color:var(--rose)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.outline{border:1px solid var(--line-2);background:0 0}.avatar{background:var(--sunken-2);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:550;display:inline-flex}.avatar.dark{background:var(--ink);color:var(--on-accent)}.avatar.sm{width:28px;height:28px;font-size:11px}.card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:20px;display:flex}.card.flat{box-shadow:none}.card.selected{background:var(--blush);border-color:var(--rose)}a.card:hover{border-color:var(--line-2);box-shadow:var(--shadow-md)}.field{flex-direction:column;gap:6px;display:flex}.field>label{letter-spacing:.085em;text-transform:uppercase;font-size:12px;font-weight:500}.field .hint{color:var(--ink-3);font-size:12px}.field .error{color:var(--danger);font-size:12px}.input,.textarea,.select{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-2);width:100%;min-height:44px;color:var(--ink);padding:0 14px;font-size:14px}.textarea{resize:vertical;min-height:96px;padding:12px 14px;line-height:1.5}.input:focus,.textarea:focus,.select:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-soft);outline:none}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.notice{border-radius:var(--r-md);background:var(--sunken);color:var(--ink-2);padding:12px 14px;font-size:13px}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.empty{text-align:center;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty h3{font-size:22px}.empty p{max-width:380px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:8px 12px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:0}.thumb{border-radius:var(--r-md);background:var(--sunken);aspect-ratio:3/4;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb.empty-thumb{color:var(--ink-3);justify-content:center;align-items:center;font-size:12px;display:flex}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.thread{flex-direction:column;gap:14px;display:flex}.bubble{border-radius:var(--r-md);background:var(--sunken);padding:12px 14px}.bubble.client{background:var(--blush)}.bubble .who{font-size:12px;font-weight:550}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.wordmark{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:10px;font-size:15px;font-weight:400;display:inline-flex}.logo-mark{background:var(--dark);width:28px;height:28px;color:var(--on-accent);font-family:var(--font-display);letter-spacing:0;border-radius:6px;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:inline-flex}.collage{column-count:3;column-gap:14px}.collage figure{break-inside:avoid;border-radius:var(--r-md);background:var(--sunken);margin:0 0 14px;position:relative;overflow:hidden}.collage img{width:100%;height:auto}.collage figcaption{font-family:var(--font-display);color:var(--ink-2);background:var(--surface);padding:8px 10px;font-size:15px;font-style:italic}.collage .remove{opacity:0;transition:opacity .15s;position:absolute;top:8px;right:8px}.collage figure:hover .remove,.collage figure:focus-within .remove{opacity:1}@media (max-width:900px){.collage{column-count:2}.collage .remove{opacity:1}}.sketch-pad{border:1px solid var(--line-2);border-radius:var(--r-lg);touch-action:none;background:#fff;position:relative;overflow:hidden}.sketch-pad canvas{cursor:crosshair;touch-action:none;width:100%;height:520px;display:block}.swatch{border:1px solid #0000001f;border-radius:999px;width:28px;height:28px}.swatch[aria-pressed=true]{box-shadow:var(--ring)}.tile-pic{aspect-ratio:4/5;background-color:var(--sunken);background-repeat:no-repeat;border-radius:6px;width:100%;display:block}.flash{border-radius:var(--r-md,10px);animation:1.4s ease-out flash-ring}@keyframes flash-ring{0%{box-shadow:0 0 0 4px var(--rose,#b8896a);background:var(--blush,#f4e9e2)}to{background:0 0;box-shadow:0 0 0 4px #0000}}@media (prefers-reduced-motion:reduce){.flash{background:var(--blush,#f4e9e2);animation:none}}
.studio{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:18px;width:244px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group>.eyebrow{padding:6px 12px 4px}.nav-item{border-radius:var(--r-md);min-height:38px;color:var(--ink-2);align-items:center;gap:12px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--bg);color:var(--ink)}.nav-item[aria-current=page]{background:var(--blush);color:var(--ink);box-shadow:inset 2px 0 0 var(--rose);border-radius:0 var(--r-md) var(--r-md) 0}.nav-item[aria-current=page] svg{color:var(--rose)}.nav-item.soon{color:var(--ink-3);cursor:default}.nav-item.soon:hover{color:var(--ink-3);background:0 0}.nav-item .pill{height:20px;margin-left:auto;font-size:10px}.me{border-radius:var(--r-md);background:var(--bg);align-items:center;gap:10px;padding:10px;display:flex}.me b{font-size:13px;display:block}.me .meta{display:block}.main{flex:1;min-width:0}.page{flex-direction:column;gap:28px;max-width:1120px;margin:0 auto;padding:36px 40px 64px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head p{margin-top:6px}.crumbs{color:var(--ink-3);gap:8px;font-size:12px;display:flex}.crumbs a:hover{color:var(--ink)}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:none}.mobile-nav{display:none}@media (max-width:900px){.studio{flex-direction:column}.sidebar{display:none}.topbar{display:flex}.mobile-nav{background:var(--surface);border-bottom:1px solid var(--line);gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.mobile-nav .nav-item{white-space:nowrap;border-radius:var(--r-chip)}.mobile-nav .nav-item[aria-current=page]{border-radius:var(--r-chip);box-shadow:none}.page{padding:24px 16px 48px}h1{font-size:30px}}.portal-bar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 32px;display:flex}.portal-page{flex-direction:column;gap:28px;max-width:960px;margin:0 auto;padding:36px 24px 64px;display:flex}.auth{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow-md);flex-direction:column;gap:24px;padding:36px;display:flex}.design-layout{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:32px;display:grid}@media (max-width:800px){.design-layout{grid-template-columns:1fr}}.studio-split{grid-template-columns:minmax(240px,.9fr) minmax(300px,1.2fr) minmax(240px,.8fr);align-items:start;gap:24px;display:grid}.studio-stage,.studio-side{min-width:0;position:sticky;top:16px}.studio-side{max-height:calc(100vh - 32px);overflow-y:auto}.studio-catalogue{min-width:0}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.tile{text-align:center;flex-direction:column;align-items:stretch;gap:4px;padding:6px;display:flex}.tile img,.tile-blank{aspect-ratio:4/5;object-fit:cover;object-position:top;background:var(--sunken);border-radius:6px;width:100%}.tile-blank{place-items:center;font-size:22px;display:grid}@media (max-width:1100px){.studio-split{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr)}.studio-side{grid-column:2;max-height:none;position:static}}@media (max-width:760px){.studio-split{grid-template-columns:1fr}.studio-stage{order:-1;position:static}.studio-side{order:0;grid-column:1}}.coming-soon{background:var(--sunken);border:1px dashed var(--line-2);border-radius:var(--r-lg);place-items:center;width:100%;display:grid}.coming-soon h3{font-family:var(--font-display,inherit)}

