:root{color-scheme:dark;--bg:#080b12;--surface:#111723;--line:#ffffff17;--text:#f7f9ff;--muted:#9ba7bb;--blue:#3478ff;--blue-light:#86b2ff;--ok:#72d9ab;--danger:#ff8e9a;--radius:22px;font-family:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{min-width:320px;scrollbar-color:#354058 transparent}body{margin:0;background:radial-gradient(ellipse 700px 500px at 50% -240px,#153363 0%,transparent 80%),var(--bg);color:var(--text);font-size:15px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--blue-light)}:focus-visible{outline:2px solid #9bc0ff;outline-offset:3px}
.app-shell{width:min(100%,560px);min-height:100dvh;margin:auto;display:flex;flex-direction:column;background:#090d15cc;border-inline:1px solid #ffffff09}.topbar{height:68px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:30;background:#0c111be8;backdrop-filter:blur(24px);border-bottom:1px solid #ffffff10}.brand{display:flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.9px;font-size:19px;white-space:nowrap}.brand-mark{height:34px;width:34px;display:grid;place-items:center;background:#3278ff;border-radius:12px;color:white;font-size:15px;letter-spacing:-1.3px;box-shadow:0 4px 18px #226dff65}.brand-name span{color:var(--blue-light)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff1e;border-radius:14px;background:#ffffff08;color:#d9e5f9;transition:background .18s,border-color .18s}.icon-btn svg{width:21px;height:21px}.icon-btn:hover,.icon-btn.active{background:#2466dc33;border-color:#6a9eff}main{flex:1;padding:24px 20px 132px}
.page-intro{margin-bottom:25px}.intro-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.eyebrow,.step-count,.section-kicker{font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--blue-light)}.step-count{color:#72829d;letter-spacing:1.2px;font-variant-numeric:tabular-nums}.steps{display:flex;gap:5px;margin:0 0 22px}.step{height:3px;flex:1;border-radius:8px;background:#374253}.step.done{background:#3278ff}.step.current{background:#93beff}.heading{font-size:32px;line-height:1.07;letter-spacing:-1.25px;margin:0 0 8px;font-weight:820}.subheading{font-size:14px;line-height:1.55;color:var(--muted);margin:0;max-width:34em}.section-label{font-size:12px;color:#a8b9d1;font-weight:750;margin:28px 0 10px}
.card{background:linear-gradient(160deg,#ffffff07,transparent 62%),var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0 0 14px;box-shadow:0 16px 38px #00000024}.choice-stack{display:grid;gap:10px}.choice{display:flex;align-items:center;text-align:left;width:100%;min-height:88px;color:var(--text);gap:14px;margin:0;transition:transform .18s,border-color .18s,background .18s}.choice:hover{border-color:#5979a9}.choice:active,.tile-select:active{transform:scale(.985)}.choice.selected{border-color:#4b8aff;background:#142441;box-shadow:inset 0 0 0 1px #508dff66,0 12px 34px #0c347344}.choice-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#28446c;color:#d8e7ff;font-size:24px;flex:none}.choice strong{display:block;font-size:15px;line-height:1.3}.choice small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.checkmark{margin-left:auto;color:#a8c7ff;font-size:20px}.field-label{display:block;color:#aebbd0;font-weight:700;font-size:12px;margin:24px 0 9px}.field,.select{width:100%;min-height:52px;border:1px solid #46526a;background:#0d1420;color:var(--text);border-radius:14px;padding:12px 14px;outline:0}.field:focus,.select:focus,.search:focus-within{border-color:#6ba2ff;box-shadow:0 0 0 3px #357cff2d}.hint{color:var(--muted);font-size:12px;line-height:1.5}.saved{font-size:11px;color:var(--ok);font-weight:700}
.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.search{display:flex;align-items:center;gap:10px;min-width:0;flex:1;background:#141b28;border:1px solid #ffffff20;border-radius:15px;padding:0 14px;height:49px;color:#93a5c0}.search svg{width:19px;height:19px;flex:none}.search input{width:100%;min-width:0;height:100%;background:transparent;border:0;outline:0;color:var(--text);font-size:14px}.search input::placeholder{color:#8d9bb0}.chips{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:0 1px 19px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;border:1px solid #ffffff1c;background:#141a25;color:#aab7ca;padding:9px 15px;border-radius:100px;font-size:13px;font-weight:650;min-height:40px;transition:background .18s,border-color .18s,color .18s}.chip:hover{border-color:#6381b2;color:#fff}.chip.active{background:#3478ff;border-color:#3478ff;color:#fff;box-shadow:0 5px 19px #3478ff41}.catalog-meta{display:flex;align-items:center;justify-content:space-between;color:#8392ab;font-size:12px;margin:0 0 12px}.catalog-meta strong{color:#d4e4ff;font-size:12px;background:#214d8f;border-radius:100px;padding:5px 10px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{min-width:0;position:relative;border-radius:19px;background:#111824;border:1px solid #ffffff17;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.tile:hover{border-color:#698dc6;transform:translateY(-2px)}.tile.selected{border-color:#5a98ff;box-shadow:0 0 0 2px #3478ff6b,0 14px 32px #0c367568}.tile-select{width:100%;padding:0;text-align:left;border:0;background:transparent;color:var(--text);display:block}.tile-media{display:block;position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#2b3c55,#131b29 70%);overflow:hidden}.tile-media .tile-preview{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}.tile-copy{display:flex;flex-direction:column;gap:1px;padding:10px 12px 12px;min-height:55px}.tile-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:750}.tile-copy small{font-size:11px;color:#899bb5}.selected-dot{position:absolute;top:10px;left:10px;width:27px;height:27px;border-radius:9px;background:#3478ff;display:grid;place-items:center;color:#fff;font-size:15px;font-weight:850;opacity:0;box-shadow:0 3px 10px #0c244a9e}.tile.selected .selected-dot{opacity:1}.favorite{position:absolute;top:9px;right:9px;border:1px solid #ffffff22;background:#0c1420c9;color:#dee6f2;backdrop-filter:blur(12px);border-radius:10px;width:35px;height:35px;display:grid;place-items:center;font-size:22px;line-height:1}.favorite.on{color:#ff97b0}.empty{padding:55px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}
.sticky{position:fixed;bottom:0;left:0;right:0;z-index:35;padding:13px 16px max(15px,env(safe-area-inset-bottom));background:#0c111be8;backdrop-filter:blur(24px);border-top:1px solid #ffffff1c}.sticky-inner{max-width:520px;margin:auto;display:flex;gap:10px}.primary,.secondary{height:54px;border-radius:15px;border:0;font-weight:800;transition:transform .18s,filter .18s,background .18s}.primary{flex:1;color:white;background:#3478ff;box-shadow:0 10px 28px #1c5cdd58}.primary:hover:not(:disabled){filter:brightness(1.12)}.primary:active:not(:disabled),.secondary:active{transform:scale(.98)}.secondary{width:54px;flex:none;display:grid;place-items:center;color:#dce7f8;background:#202c3e;border:1px solid #ffffff1c}.secondary svg{width:22px;height:22px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}.badge{background:#263b60;color:#c6dfff;font-size:11px;font-weight:750;border-radius:9px;padding:6px 9px;white-space:nowrap}.badge.ok{background:#1d4939;color:#a8ebc8}.badge.warn{background:#4a3a26;color:#f2ce97}.editor-card{padding:18px}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.editor-head h2,.palette-card h2{font-size:20px;line-height:1.15;letter-spacing:-.5px;margin:3px 0 0}.editor-head .saved{white-space:nowrap;margin-top:4px}.preview-stage{aspect-ratio:1;height:auto;max-height:390px;display:grid;place-items:center;margin:15px 0 12px;background:radial-gradient(circle at 50% 38%,#2d3d54,#101825 72%);border:1px solid #ffffff10;border-radius:19px;overflow:hidden}.preview-stage>div{width:94%;height:94%}.preview-stage .tile-preview{width:100%;height:100%}.compare-tabs{display:flex;padding:4px;background:#0b111b;border:1px solid #ffffff1a;border-radius:12px}.compare-tabs button{flex:1;height:38px;background:transparent;border:0;border-radius:9px;color:#9aabc4;font-size:12px;font-weight:750}.compare-tabs button.active{background:#293f64;color:#fff}.editor-section-label{margin:22px 0 10px;color:#c4cfe0;font-size:12px;font-weight:750}.editor-list{display:flex;gap:8px;overflow:auto;padding:1px 1px 7px;scrollbar-width:thin}.editor-tab{width:72px;height:72px;flex:none;border-radius:13px;background:radial-gradient(circle,#29374d,#121c29);border:1px solid #ffffff22;padding:5px;overflow:hidden}.editor-tab.active{border-color:#74a4ff;box-shadow:0 0 0 2px #387fff58}.editor-tab .tile-preview{width:100%;height:100%}.editor-note{font-size:11px;line-height:1.5;color:#94a3b8;margin:12px 0 0}
.palette-card{margin-top:14px}.palette-card .row{margin-bottom:11px}.text-button{border:0;background:transparent;color:#9dc1ff;font-weight:750;font-size:12px;min-height:40px;padding:8px}.text-button:hover{text-decoration:underline}.color-row{display:flex;align-items:center;gap:9px;min-height:62px;border-top:1px solid #ffffff10}.source-swatch{height:22px;width:22px;border-radius:8px;flex:none;background:var(--swatch);border:1px solid #ffffff55;box-shadow:0 2px 8px #0005}.color-label{min-width:0;flex:1;display:flex;flex-direction:column}.color-label strong{font-size:12px;line-height:1.25}.color-label small{font-size:10px;color:#8190a8;font-family:ui-monospace,Consolas,monospace}.color-arrow{color:#7d8ba2;font-size:16px}input[type=color]{appearance:none;width:44px;height:44px;flex:none;padding:3px;background:#111c2b;border:1px solid #ffffff42;border-radius:12px;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:8px}.color-row .subtle{font-size:10px;font-family:ui-monospace,Consolas,monospace;color:#aebbd0;width:58px;text-align:right;flex:none}.adjust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.adjust-grid input{width:100%}.upload-box{border:1px dashed #60789e;border-radius:17px;padding:18px;background:#132035}.upload-box input{width:100%;font-size:12px}.upload-box .success{margin-bottom:0}.mode-tabs{display:flex;gap:4px;padding:4px;background:#0b111b;border-radius:12px;margin:14px 0}.mode-tabs button{flex:1;border:0;background:transparent;color:#9eacc1;min-height:42px;border-radius:9px}.mode-tabs button.active{background:#304569;color:white}
.split-line{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff14}.split-line:last-child{border:0}.split-line strong{font-size:14px}.total{font-size:23px;font-weight:850;letter-spacing:-.5px}.warning,.success{border:1px solid #61513c;background:#382c1e8a;border-radius:17px;padding:16px;color:#f7d8a6;font-size:13px;line-height:1.5;margin:14px 0}.warning p{margin:7px 0}.success{border-color:#2a7458;background:#19453375;color:#a8f3cf}.review-line{border-top:1px solid #ffffff1a;padding:9px 0;color:#e9ca9d;font-size:11px}.order-line{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #ffffff15}.order-line:last-child{border:0}details{border-top:1px solid #ffffff14;padding:12px 0 0;margin-top:12px}summary{cursor:pointer;color:#acbad0;font-size:12px;font-weight:700}summary span{color:#7e8fa8}.layer-list{max-height:230px;overflow:auto;padding:8px 0;font-size:11px;color:#899bb2}.layer-list div{padding:6px 0;border-bottom:1px solid #ffffff0e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loading-view{height:45vh;display:grid;place-content:center;justify-items:center;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid #4f7aca55;border-top-color:#7fb0ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(20px);bottom:90px;background:#273650;border:1px solid #6d8ab1;color:#fff;border-radius:12px;padding:11px 15px;opacity:0;pointer-events:none;transition:.2s;z-index:40;max-width:90vw}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.error-text{color:var(--danger);font-size:12px}.subtle{color:var(--muted);font-size:12px}
.welcome-card{padding:30px 24px;margin-top:32px}.welcome-card h1{font-size:30px;line-height:1.12;letter-spacing:-1px;margin:14px 0}.welcome-card p{color:var(--muted);margin:0 0 22px}.welcome-card .primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 22px;text-decoration:none}.welcome-card .hint{margin:18px 0 0}
@media(min-width:520px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:370px){main{padding-inline:16px}.topbar{padding-inline:16px}.heading{font-size:29px}.tile-copy{padding-inline:9px}.color-row{gap:6px}.color-row .subtle{width:53px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
