@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#141414;--paper:#FFFFFF;--mist:#F3F1EE;--line:#E4E0DA;--muted:#6B6560;--soft:#3D3935;--accent:#6B1E2A;--accent-bg:#F7EFEF;--gold:#C9A27A;--night:#1F1E1D;--serif:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--sans:"Archivo Variable", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body{min-height:100dvh}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}.app{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.screen{flex:1;padding:calc(env(safe-area-inset-top) + 28px) 20px 110px}.h1{font-family:var(--serif);font-weight:600;font-stretch:118%;font-size:30px;margin:0;line-height:1.08;letter-spacing:-.02em}.h1 em,.h2 em{font-style:normal}.h2{font-family:var(--serif);font-weight:600;font-stretch:112%;font-size:20px;margin:0;letter-spacing:-.01em}.eyebrow,.label{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:12px;align-items:center}.between{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.spacer{flex:1}.btn{height:52px;border-radius:2px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:600;font-size:15px;letter-spacing:0;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;width:100%}.btn.ghost{background:transparent;color:var(--ink)}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.link{background:none;border:0;padding:0;min-height:44px;text-decoration:underline;cursor:pointer;font-weight:500}.fab{position:fixed;right:max(20px,calc(50% - 240px));bottom:100px;height:52px;padding:0 20px;border-radius:26px;border:0;background:var(--ink);color:#fff;font-weight:600;box-shadow:0 6px 18px #0000002e;text-decoration:none;display:flex;align-items:center;z-index:5}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.input{height:48px;border:1px solid var(--line);border-radius:4px;padding:0 14px;font-size:16px;background:#fff;font-weight:400}textarea.input{height:auto;min-height:84px;padding:12px 14px}.input:focus{outline:2px solid var(--ink);outline-offset:-1px}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip{height:38px;padding:0 14px;border-radius:19px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.wrap{flex-wrap:wrap;overflow:visible}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tile{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.ph{aspect-ratio:4/5;border-radius:4px;background:var(--mist);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.ph img{width:100%;height:100%;object-fit:cover}.ph .tag{position:absolute;left:8px;top:8px;background:#fff;font-size:11px;padding:4px 8px;border-radius:2px;font-weight:600}.tile-name{font-size:13px;font-weight:500}.tile-meta{font-size:12px;color:var(--muted)}.price{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.card{border:1px solid var(--line);border-radius:4px;padding:14px 16px}.banner{padding:14px 16px;border-radius:4px;background:var(--accent-bg);color:var(--accent);font-size:13px;line-height:1.45;text-decoration:none;display:flex;justify-content:space-between;gap:12px;align-items:center}.dark-banner{padding:16px;border-radius:4px;background:var(--ink);color:#fff;text-decoration:none;display:flex;justify-content:space-between;align-items:center}.kv{display:flex;justify-content:space-between;font-size:13px;color:var(--soft);padding:4px 0}.error{background:#fbebeb;color:#8a1c1c;padding:12px 14px;border-radius:4px;font-size:13px}.ok{background:#e5f4e4;color:#1e5b22;padding:12px 14px;border-radius:4px;font-size:13px}.tabs{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;z-index:10}.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;letter-spacing:0;color:var(--muted);text-decoration:none}.tabs a svg{width:22px;height:22px}.tabs a.active{color:var(--ink);font-weight:600}.dark{background:var(--ink);color:#fff;min-height:100dvh}.dark .input{background:var(--night);border-color:#4a4642;color:#fff}.dark .muted{color:#bdb6af}.wordmark{font-family:var(--serif);font-weight:500;font-stretch:125%;font-size:44px;letter-spacing:.12em}.timeline{display:flex;flex-direction:column}.step{display:flex;gap:14px;min-height:58px}.step .rail{display:flex;flex-direction:column;align-items:center;width:16px}.step .dot{width:14px;height:14px;border-radius:7px;border:2px solid #CFC8C0;background:#fff}.step .bar{width:2px;flex:1;background:var(--line)}.step.done .dot{background:var(--ink);border-color:var(--ink)}.step.done .bar{background:var(--ink)}.step.now .dot{border:3px solid var(--accent)}.step.now .label{color:var(--accent);font-weight:600}.step .label{font-size:14px}.step.next .label{color:var(--muted)}.sheet-photo{aspect-ratio:4/5;background:var(--mist);margin:-28px -20px 0;overflow:hidden}.sheet-photo img{width:100%;height:100%;object-fit:cover}.empty{padding:28px 20px;border:1px dashed #CFC8C0;border-radius:4px;text-align:center;color:var(--muted);font-size:14px;line-height:1.5}.loading{padding:40px 0;text-align:center;color:var(--muted)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.thumb{width:56px;height:70px;border-radius:4px;background:var(--mist);overflow:hidden;flex-shrink:0}.thumb img{width:100%;height:100%;object-fit:cover}.back{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--muted);font-size:14px}.studio-working{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1211109e;color:#f4efe8;font-size:11px;letter-spacing:0;border-radius:4px;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{background:#12111073}}.skel{border-radius:4px;background:linear-gradient(100deg,#eeebe6 30%,#f7f5f2,#eeebe6 70%);background-size:300% 100%;animation:shimmer 1.3s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.skel{animation:none}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1211107a;display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fadein .18s ease-out}.sheet{width:100%;max-width:520px;background:var(--paper);border-radius:14px 14px 0 0;padding:14px 24px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:slideup .22s ease-out}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--line);align-self:center;margin-bottom:6px}.btn.danger{background:var(--accent);border-color:var(--accent)}@keyframes fadein{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(40px);opacity:.4}}.pickrail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 6px;scrollbar-width:none}.pickrail::-webkit-scrollbar{display:none}.pickrail .pick{flex:0 0 96px;scroll-snap-align:start;background:none;border:2px solid transparent;border-radius:6px;padding:0;cursor:pointer;text-align:left}.pickrail .pick.on{border-color:var(--ink)}.pickrail .pick .ph{border-radius:4px}.pickrail .none{flex:0 0 72px;border:1px dashed #CFC8C0;border-radius:6px;background:#fff;font-size:12px;color:var(--muted);cursor:pointer}.pickrail .none.on{border:2px solid var(--ink);color:var(--ink)}.heart{position:absolute;right:8px;top:8px;width:36px;height:36px;border-radius:18px;border:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;cursor:pointer}.select{height:38px;border:1px solid var(--line);border-radius:19px;padding:0 12px;background:#fff;font-size:13px}.stars{display:inline-flex;gap:4px}.stars button{background:none;border:0;font-size:28px;line-height:1;color:#cfc8c0;cursor:pointer;min-width:40px;min-height:44px}.stars button.on{color:var(--accent)}h1,h2,.wordmark{font-synthesis:none}.tut{display:flex;flex-direction:column;gap:14px;-webkit-user-select:none;user-select:none}.tut-bars{display:flex;gap:4px}.tut-bars span{flex:1;height:2px;background:#3a3734;overflow:hidden}.tut-bars i{display:block;height:100%;background:#f4efe8}.tut-bars i.run{animation:tutbar 4.2s linear forwards}.tut-bars i.paused{animation-play-state:paused}@keyframes tutbar{0%{width:0}to{width:100%}}.tut-stage{border-radius:8px;overflow:hidden;background:#1c1a19;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:10px}.tut-unfold{animation:unfold 1.8s cubic-bezier(.2,.8,.2,1) both}@keyframes unfold{0%{transform:scale(.35,.25) rotate(-18deg);opacity:.6}60%{transform:scaleX(1.04) rotate(2deg);opacity:1}to{transform:none}}.tut-light{opacity:0;animation:light 2.4s ease-out .3s forwards}@keyframes light{to{opacity:.35}}.tut-noflash{animation:pop .5s ease-out 1.4s both}.tut-phone{animation:phone 2s cubic-bezier(.2,.8,.2,1) both;transform-origin:100px 105px}@keyframes phone{0%{transform:scale(1.5);opacity:0}70%{transform:scale(.98);opacity:1}to{transform:none}}.tut-ok{animation:pop .4s ease-out 2s both;transform-origin:170px 36px}@keyframes pop{0%{transform:scale(0);opacity:0}to{transform:none;opacity:1}}.tut-wipe{animation:wipe 2.2s cubic-bezier(.6,0,.2,1) .6s both}@keyframes wipe{0%{transform:translate(-200px)}to{transform:none}}@media (prefers-reduced-motion: reduce){.tut *{animation-duration:.01s!important;animation-delay:0s!important}}.style-card{background:#1f1d1b;border:1px solid #3A3734;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px;text-align:left;color:#f4efe8;cursor:pointer}.style-card.on{border:2px solid #F4EFE8;padding:9px;background:#2a2725}.style-card .art{background:#2e2b28;border-radius:6px;padding:6px}.palette-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #3A3734;border-radius:8px;background:#1f1d1b;color:#f4efe8;cursor:pointer;width:100%}.palette-row.on{border:2px solid #F4EFE8;padding:11px 13px;background:#2a2725}
