*{box-sizing:border-box}:root{--ease:cubic-bezier(.22, 1, .36, 1);--fast:.16s;--slow:.42s}html,body,#root{height:100%;margin:0;overflow:hidden}body{color:#1c2430;background:#e9edf2;font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:inherit;cursor:pointer;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease), box-shadow var(--fast) var(--ease), transform var(--fast) var(--ease), opacity var(--fast) var(--ease)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:default}:root{--lw:272px;--rw:264px}.app{height:100%;position:relative}.viewport{position:absolute;inset:0}.card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #ffffffb3;border-radius:16px;flex-direction:column;max-height:calc(100% - 32px);padding:16px;display:flex;position:absolute;top:16px;box-shadow:0 1px 2px #1018280f,0 8px 24px #1018281a}.card.left{width:var(--lw);bottom:16px;left:16px}.card.right{width:var(--rw);right:16px}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes fade{0%{opacity:0}}.card,.dock,.hints{animation:rise var(--slow) var(--ease) both}.card.right{animation-delay:60ms}.dock{animation-delay:.12s}.hints{animation-delay:.18s}h1{margin:0;font-size:16px}.card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2{text-transform:uppercase;letter-spacing:.06em;color:#9aa3ae;margin:16px 0 8px;font-size:11px;font-weight:600}.card>h2:first-child{margin-top:0}.muted{color:#a3abb6}p.muted{margin:4px 0 0}.search{width:100%;font:inherit;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#fff;border:1px solid #dde2e8;border-radius:8px;outline:none;padding:8px 10px}.search:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb26}.chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.chip{background:#fff;border:1px solid #e3e8ee;border-radius:999px;padding:4px 10px;font-size:12px}.chip:hover{border-color:#cfd6de}.chip.on{color:#fff;background:#1c2430;border-color:#1c2430}.parts{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:4px;min-height:0;margin:8px -4px 0;padding:0 4px;display:grid;overflow-y:auto}.part{color:#3a4554;background:#fafbfc;border:1px solid #e3e8ee;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}.part span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 2px;font-size:11px;overflow:hidden}.more{color:#3a4554;background:#fff;border:1px dashed #cfd6de;border-radius:8px;grid-column:1/-1;padding:8px}select.chip{appearance:none;max-width:100%;font:inherit;cursor:pointer;padding-right:10px;font-size:12px}p.count{margin:8px 0 0;font-size:11px}.part:hover{border-color:#c5cfdb;transform:translateY(-1px);box-shadow:0 4px 10px #10182812}.part.on{color:#1f6feb;background:#eef4ff;border-color:#1f6feb}.parts.thumbs .part{background:linear-gradient(#fff,#f3f5f8);padding:4px 2px 6px}.thumb{width:64px;height:64px;display:block}img.thumb{animation:fade var(--slow) var(--ease) both}.part:hover img.thumb{transform:scale(1.06)}img.thumb{transition:transform var(--slow) var(--ease)}.thumb.loading{background:#eef1f5;border-radius:8px;animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{70%{box-shadow:0 0 0 6px #2da44e00}to{box-shadow:0 0 #2da44e00}}.colors{grid-template-columns:repeat(9,1fr);gap:5px;display:grid}.swatch{aspect-ratio:1;transition:transform var(--fast) var(--ease), outline-offset var(--fast) var(--ease);outline-offset:0;border:1px solid #00000026;border-radius:50%;outline:2px solid #0000;padding:0}.swatch:hover{transform:scale(1.12)}.swatch.on{outline-offset:2px;outline-color:#1f6feb}table{border-collapse:collapse;width:100%}td{border-bottom:1px solid #f0f3f6;padding:4px 2px}.dims td:first-child{color:#9aa3ae}.dims td:nth-child(2){color:#3a4554}.dims td:last-child,.bom td.muted{color:#a3abb6;font-size:12px}.bom tr{animation:fade var(--slow) var(--ease) both}.dims td:last-child,.bom .qty{text-align:right;font-variant-numeric:tabular-nums}.bom-wrap{flex:1;min-height:0;overflow-y:auto}.dot{border:1px solid #00000026;border-radius:50%;width:10px;height:10px;display:inline-block}.card-actions{grid-template-columns:1fr 2fr;gap:6px;margin-top:12px;display:grid}.card-actions button{background:#fff;border:1px solid #dde2e8;border-radius:8px;padding:8px 10px}.card-actions .primary{color:#fff;background:#1f6feb;border-color:#1f6feb;font-weight:600}.hints{top:16px;left:calc(var(--lw) + 32px);right:calc(var(--rw) + 32px);pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute}.hints span{color:#8a94a3;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;padding:3px 10px;font-size:11px}.dock{bottom:16px;left:calc(var(--lw) + 32px);right:calc(var(--rw) + 32px);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.dock>*{pointer-events:auto}.status,.toolbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #ffffffb3;box-shadow:0 1px 2px #1018280f,0 8px 24px #1018281a}.status{text-overflow:ellipsis;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;max-width:100%;padding:6px 14px;display:flex;overflow:hidden}.status>*{animation:fade var(--fast) var(--ease) both}.ok{color:#1a7f37;font-weight:600}.bad{color:#cf222e;font-weight:600}.toolbar{border-radius:14px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;max-width:100%;padding:6px;display:flex}.toolbar>button{background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;height:34px;padding:0 12px;display:inline-flex}.toolbar>button:hover:not(:disabled){background:#f0f3f6}.toolbar>button.on{color:#1f6feb;background:#eef4ff}.toolbar>button.icon{gap:4px;padding:0 8px}.key{letter-spacing:0;color:#9aa3ae;min-width:17px;height:17px;transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);background:#ffffffb3;border:1px solid #dfe4ea;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;margin-left:6px;padding:0 4px;font:600 10px/1 ui-monospace,Menlo,monospace;display:inline-flex}.icon .key{margin-left:0}.on>.key{color:#1f6feb;border-color:#c8d9fb}.key.hit{color:#fff;background:#1f6feb;border-color:#1f6feb;transform:translateY(1px)scale(1.08)}.keys-hint{color:#a3abb6;align-items:center;gap:5px;font-size:12px;display:inline-flex}.keys-hint .key{margin-left:0}.sep{background:#e3e8ee;width:1px;height:20px;margin:0 4px}.seg{background:#f0f3f6;border-radius:9px;gap:2px;padding:3px;display:flex}.seg button{background:0 0;border:0;border-radius:7px;height:28px;padding:0 12px}.seg button.on{background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001f}.seg.small button{height:24px;padding:0 10px;font-size:12px}.seg.wrap{flex-wrap:wrap;max-width:100%}.seg.wrap button{white-space:nowrap}.small{font-size:11px}button.link{color:#1f6feb;text-transform:none;letter-spacing:0;background:0 0;border:0;padding:0;font-size:11px;font-weight:500}.color-head{justify-content:space-between;align-items:baseline;display:flex}.tabs{margin-bottom:10px}.tabs button{white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.count-badge{color:#fff;background:#1f6feb;border-radius:999px;min-width:18px;padding:0 5px;font-size:10px;font-weight:600;line-height:16px}.count-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.toggle{color:#8a94a3;cursor:pointer;align-items:center;gap:4px;margin-top:8px;display:inline-flex}.toggle input{accent-color:#1f6feb;margin:0}.part-wrap{display:flex;position:relative}.part-wrap .part{flex:1;min-width:0}.part-wrap .add{color:#1f6feb;opacity:0;background:#fff;border:1px solid #dfe4ea;border-radius:7px;width:22px;height:22px;padding:0;font:600 15px/1 system-ui;position:absolute;top:4px;right:4px;transform:scale(.85)}.part-wrap:hover .add,.part-wrap .add:focus-visible{opacity:1;transform:scale(1)}.part-wrap .add:hover{color:#fff;background:#1f6feb;border-color:#1f6feb}.part-wrap .owned{color:#1f6feb;pointer-events:none;background:#1f6feb1f;border-radius:999px;padding:0 5px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:5px;left:5px}.part-wrap.bumped .owned{animation:pop var(--slow) var(--ease)}@keyframes pop{30%{transform:scale(1.35)}}.tthumb{flex:none;display:block;position:relative}.tthumb:before{content:"";background:var(--tint);-webkit-mask:var(--src) center / contain no-repeat;-webkit-mask:var(--src) center / contain no-repeat;mask:var(--src) center / contain no-repeat;transition:background-color var(--slow) var(--ease);position:absolute;inset:0}.tthumb img{mix-blend-mode:multiply;width:100%;height:100%;animation:fade var(--slow) var(--ease) both;position:absolute;inset:0}.part:hover .tthumb{transform:scale(1.06)}.tthumb{transition:transform var(--slow) var(--ease)}.colors.all{max-height:132px;margin:-3px;padding:3px;overflow-y:auto}.mylib{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.mylib-summary{flex-direction:column;gap:8px;display:flex}.ideas-btn,.import .primary{color:#fff;background:linear-gradient(135deg,#1f6feb,#6b4bf1);border:0;border-radius:10px;padding:9px 12px;font-weight:600;box-shadow:0 4px 14px #1f6feb4d}.ideas-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #1f6feb66}.mylib-actions{grid-template-columns:1fr 1fr .7fr;gap:4px;display:grid}.mylib-actions button,.ideas-actions button{background:#fff;border:1px solid #e3e8ee;border-radius:8px;padding:6px 8px;font-size:12px}.import{animation:rise var(--fast) var(--ease);flex-direction:column;gap:6px;display:flex}.import textarea{resize:vertical;border:1px solid #dde2e8;border-radius:8px;outline:none;width:100%;padding:8px;font:12px/1.4 ui-monospace,Menlo,monospace}.import textarea:focus{border-color:#1f6feb;box-shadow:0 0 0 3px #1f6feb26}.note{margin:0}.empty{text-align:center;color:#6b7685;padding:24px 8px}.empty p{margin:4px 0}.inv{flex:1;min-height:0;margin:0 -4px;padding:0 4px;list-style:none;overflow-y:auto}.inv li{transition:background-color var(--fast) var(--ease);border-radius:10px;align-items:center;gap:6px;padding:4px;display:flex}.inv li:hover{background:#f4f6f9}.inv li.on{background:#eef4ff}.inv-pick{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.inv-name{flex-direction:column;min-width:0;font-size:12px;display:flex}.inv-name,.inv-name .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stepper{background:#fff;border:1px solid #e3e8ee;border-radius:8px;flex:none;align-items:center;display:inline-flex}.stepper button{color:#6b7685;background:0 0;border:0;width:22px;height:24px;padding:0}.stepper button:hover{color:#1f6feb}.stepper input{text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;width:30px;font:600 12px system-ui}.ideas{top:16px;left:calc(var(--lw) + 32px);right:calc(var(--rw) + 32px);z-index:5;width:auto;max-height:none;animation:rise var(--slow) var(--ease) both;padding:18px;bottom:140px}.ideas-head{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.ideas-head h2{color:#1c2430;letter-spacing:.02em;margin:0 0 4px;font-size:13px}.ideas-head p{max-width:520px;margin:0}.ideas-actions{align-items:flex-start;gap:6px;display:flex}.ideas-loading{text-align:center;color:#8a94a3;padding:48px}.ideas-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;min-height:0;padding:2px;display:grid;overflow-y:auto}.idea{animation:rise var(--slow) var(--ease) both;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#fff;border:1px solid #e8ecf1;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.idea:hover{transform:translateY(-2px);box-shadow:0 10px 24px #10182817}.idea-img{aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#fff,#eef1f5);place-items:center;display:grid;position:relative}.idea-img img{object-fit:contain;width:calc(100% - 12px);height:calc(100% - 12px);animation:fade var(--slow) var(--ease) both;position:absolute;inset:6px}.idea-img .thumb.loading{width:60%;height:60%}.idea-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.idea-body h3{margin:0;font-size:13px}.idea-body p{margin:0}.idea-body .primary{color:#fff;background:#1f6feb;border:0;border-radius:8px;margin-top:2px;padding:7px;font-weight:600}.palette{color:#6b7685;flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.palette span{align-items:center;gap:4px;display:inline-flex}.stats{grid-template-columns:repeat(3,1fr);gap:4px;margin:2px 0;display:grid}.stats div{background:#f6f8fa;border-radius:8px;padding:4px 6px}.stats dt{color:#a3abb6;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:600}.weak{margin:6px 0 0;padding:0;font-size:12px;list-style:none}.weak li{border-bottom:1px dashed #eef1f5;justify-content:space-between;gap:8px;padding:3px 0;display:flex}.missing{color:#8a5a00;text-align:left;background:#fffaf0;border:1px dashed #f0b429;border-radius:8px;margin-top:10px;padding:7px 10px;font-size:12px}.ideas-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ideas-title h2{margin:0}.ideas-input{color:#6b7685;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:6px;font-size:12px;display:flex}.ideas-input label{align-items:center;gap:6px;display:inline-flex}.ideas-input select{font:inherit;background:#fff;border:1px solid #e3e8ee;border-radius:7px;padding:4px 6px}.file input{display:none}.file span{text-overflow:ellipsis;white-space:nowrap;color:#1f6feb;cursor:pointer;background:#fff;border:1px dashed #b8c4d2;border-radius:8px;max-width:260px;padding:6px 12px;display:inline-block;overflow:hidden}.file:hover span{border-color:#1f6feb}.ideas-note{min-height:15px;margin:0 0 8px}.stats{grid-template-columns:repeat(3,1fr)}.idea-actions{gap:6px;display:flex}.idea-actions .primary{flex:1}.idea-actions button:not(.primary){color:#8a5a00;background:#fffaf0;border:1px solid #f0b429;border-radius:8px;padding:7px 10px;font-weight:600}.shopping{animation:rise var(--fast) var(--ease);border-top:1px solid #eef1f5;padding-top:6px}.shopping ul{margin:0 0 6px;padding:0;font-size:11px;list-style:none}.shopping li{grid-template-columns:12px 1fr auto auto;align-items:center;gap:6px;padding:2px 0;display:grid}.shopping li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping button{background:#fff;border:1px solid #e3e8ee;border-radius:8px;width:100%;padding:6px;font-size:12px}.persona{gap:10px 18px}.slider{align-items:center;gap:8px;display:inline-flex}.slider span{color:#6b7685;width:44px}.slider input{accent-color:#1f6feb;width:120px}.slider b{font-variant-numeric:tabular-nums;color:#1c2430;width:24px;font-weight:600}.level-line{align-items:baseline;gap:6px;margin:0;font-size:12px;display:flex}.stars{color:#f0b429;letter-spacing:1px;font-size:13px}.idea-actions .steps-btn{color:#1f6feb;background:#eef4ff;border:1px solid #c8d9fb;border-radius:8px;padding:7px 10px;font-weight:600}.toolbar>button.create{color:#fff;background:linear-gradient(135deg,#1f6feb,#6b4bf1);padding:0 14px;font-weight:600;box-shadow:0 4px 12px #1f6feb4d}.toolbar>button.create:hover{background:linear-gradient(135deg,#1a5fd0,#5c3ee0)}.steps-open{color:#1f6feb;background:#eef4ff;border:1px solid #c8d9fb;border-radius:8px;margin-top:10px;padding:8px 10px;font-weight:600}.steps-view{z-index:20;animation:fade var(--slow) var(--ease) both;background:#eef1f5;position:fixed;inset:0}.steps-view canvas{position:absolute;inset:0}.steps-top{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-radius:14px;align-items:center;gap:18px;padding:10px 14px;display:flex;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 8px 24px #1018281a}.steps-top h2{color:#1c2430;text-transform:none;letter-spacing:0;margin:0;font-size:14px}.steps-top p{margin:2px 0 0}.progress{background:#e3e8ee;border-radius:999px;flex:1;height:6px;overflow:hidden}.progress i{border-radius:inherit;height:100%;transition:width var(--slow) var(--ease);background:linear-gradient(90deg,#1f6feb,#6b4bf1);display:block}.steps-actions{gap:6px;display:flex}.steps-actions button,.steps-nav button{background:#fff;border:1px solid #e3e8ee;border-radius:9px;align-items:center;gap:4px;padding:7px 12px;display:inline-flex}.steps-actions button.on{color:#1f6feb;background:#eef4ff;border-color:#c8d9fb}.steps-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-radius:16px;width:300px;max-height:calc(100% - 200px);padding:16px;position:absolute;top:92px;left:16px;overflow-y:auto;box-shadow:0 8px 24px #1018281a}.step-no{align-items:baseline;gap:6px;margin-bottom:10px;display:flex}.step-no b{color:#1c2430;font-size:40px;line-height:1}.callout{gap:6px;margin:0;padding:0;list-style:none;display:grid}.callout li{animation:rise var(--slow) var(--ease) both;background:#f6f8fa;border-radius:10px;align-items:center;gap:10px;padding:6px;display:flex}.callout .qty{color:#1f6feb;min-width:30px;font-size:18px}.cname{flex-direction:column;min-width:0;font-size:12px;display:flex}.where{flex-direction:column;gap:2px;margin:10px 0 6px;display:flex}.where b{color:#fff;background:#3b82f6;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:4px;font-size:10px;display:inline-grid}.where .why{color:#5b6472;margin:0 0 4px 20px;display:block}.warn{color:#8a5a00;background:#fffaf0;border:1px solid #f0b429;border-radius:8px;margin:8px 0;padding:8px}.tip{color:#1f4f99;background:#f2f7ff;border:1px solid #b6d0f7;border-radius:8px;margin:8px 0;padding:8px}.subasm{background:#fbfcfe;border:1px dashed #b8c4d2;border-radius:10px;margin-bottom:10px;padding:8px}.subasm p{margin:0 0 6px}.subasm-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.subasm em{color:#8a94a3;font-style:normal;font-weight:700}.comp{align-items:center;gap:4px;display:inline-flex}.steps-nav{background:#fffffff0;border-radius:14px;align-items:center;gap:12px;width:min(720px,100% - 40px);padding:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1018281f}.steps-nav input{accent-color:#1f6feb;flex:1}.steps-nav .primary{color:#fff;background:#1f6feb;border-color:#1f6feb;font-weight:600}.steps-nav .primary .key{color:#fff;background:#fff3;border-color:#ffffff59}.auto{color:#1f6feb;text-transform:uppercase;letter-spacing:.04em;background:#eef4ff;border-radius:999px;margin-left:5px;padding:0 5px;font-size:9px;font-weight:600}.steps-card{left:290px}.steps-list{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:260px;max-height:calc(100% - 200px);animation:rise var(--slow) var(--ease) both;background:#fffffff0;border-radius:16px;padding:12px;position:absolute;top:92px;left:16px;overflow-y:auto;box-shadow:0 8px 24px #1018281a}.steps-list-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.chap{border-radius:10px;padding:6px}.chap.on{background:#f3f7ff}.chap-title{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:2px 0;font-size:12px;display:flex}.chap-title .muted{margin-left:auto}.chk{color:#6b7685;background:#eef1f5;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-grid}.chk.full{color:#fff;background:#1a7f37}.dots{flex-wrap:wrap;gap:4px;padding:4px 0 2px 26px;display:flex}.dot-step{background:#fff;border:1px solid #d5dce5;border-radius:4px;width:12px;height:12px;padding:0}.dot-step.done{background:#1a7f37;border-color:#1a7f37}.dot-step.cur{outline-offset:1px;outline:2px solid #1f6feb}.chapter-name{color:#6b7685;margin:0 0 4px}.done-badge{color:#1a7f37;background:#e7f5ec;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.resumed{color:#1f6feb;animation:rise var(--fast) var(--ease);background:#eef4ff;border-radius:8px;margin:0 0 8px;padding:6px 8px}.modules{flex-wrap:wrap;gap:4px;display:flex}.modules span{color:#3a4554;background:#f2f5f9;border-radius:999px;padding:2px 7px;font-size:11px}.modules b{color:#1f6feb;font-weight:600}.metrics{color:#8a94a3;flex-wrap:wrap;gap:4px 10px;display:flex}.metrics b{color:#1c2430;font-weight:600}.steps-card.solo{left:16px}.tabs button{padding:0 8px;font-size:12px}.create-tab{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.create-tab p{margin:0}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.picker.compact .picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pick{text-align:center;background:linear-gradient(#fff,#f5f7fa);border:1px solid #e3e8ee;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;display:flex}.pick:hover{border-color:#1f6feb;transform:translateY(-2px);box-shadow:0 8px 20px #1f6feb26}.pick-img{aspect-ratio:4/3;place-items:center;width:100%;display:grid}.pick-img img{object-fit:contain;width:100%;height:100%;animation:fade var(--slow) var(--ease) both}.pick-img .thumb.loading{width:60%;height:60%}.pick b{font-size:13px}.picker.compact .pick b{font-size:12px}.picker-more{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.picker-more button{background:#fff;border:1px solid #e3e8ee;border-radius:999px;padding:6px 10px;font-size:12px}.picker-more button:first-child{color:#fff;background:linear-gradient(135deg,#1f6feb,#6b4bf1);border:0;font-weight:600}.welcome{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade var(--slow) var(--ease) both;background:#e9edf2b3;place-items:center;display:grid;position:fixed;inset:0}.welcome-card{text-align:center;width:min(760px,100% - 40px);animation:rise var(--slow) var(--ease) both;background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 60px #1018282e}.welcome-card h2{color:#1c2430;text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:22px}.welcome-card>p{margin:0 0 18px}.welcome-card .picker-more{justify-content:center}.welcome-card>.link{margin-top:16px;font-size:12px}.picker.compact .pick-img{aspect-ratio:16/10}@media (width<=1500px){.toolbar .key{display:none}.toolbar>button,.toolbar .seg button{padding:0 9px}}@media (width<=1260px){:root{--lw:236px;--rw:224px}.hints,.status .keys-hint{display:none}.ideas{bottom:120px}}@media (height<=760px){.picker.compact .pick-img{aspect-ratio:2}.picker.compact .pick{padding:4px 4px 6px}}.learn{flex-direction:column;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.learn h2{margin:10px 0 2px}.learn-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.learn .dot{background:#b8c0cc;border-radius:50%;width:8px;height:8px}.learn .dot.live{animation:pulse 1.6s var(--ease) infinite;background:#2da44e;box-shadow:0 0 #2da44e80}.learn .spark{background:#f6f8fb;border-radius:6px;width:100%;height:28px}.learn-species,.learn-weights{gap:4px;margin:0;padding:0;list-style:none;display:grid}.learn-species li{grid-template-columns:86px 1fr auto;align-items:center;gap:6px;font-size:12px;display:grid}.learn-species .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.learn-species .bars{gap:2px;display:grid}.learn-species .bars i{height:3px;transition:width var(--slow) var(--ease);background:#9fb7e0;border-radius:2px;display:block}.learn-species .bars i.evolved{background:#1f6feb}.learn-species .bars i.llm{background:#8250df}.learn-species .bars i.booklet{background:#d97706}.learn-weights li{grid-template-columns:112px 1fr;align-items:center;gap:6px;font-size:12px;display:grid}.learn-weights .bar{background:#eef1f5;border-radius:3px;height:6px;overflow:hidden}.learn-weights .bar i{height:100%;transition:width var(--slow) var(--ease);background:#2da44e;display:block}.learn-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.learn-actions button,.learn-actions select,.learn-actions input,.learn .file{background:#fff;border:1px solid #dde2e8;border-radius:8px;padding:5px 9px;font-size:12px}.learn-actions input{flex:1;min-width:0}.learn-actions .primary{color:#fff;background:#1f6feb;border-color:#1f6feb;font-weight:600}.learn .file{cursor:pointer;position:relative;overflow:hidden}.learn .file input{opacity:0;cursor:pointer;position:absolute;inset:0}.learn textarea{resize:vertical;border:1px solid #dde2e8;border-radius:8px;width:100%;padding:6px 8px;font:11px ui-monospace,monospace}.learn-result{color:#1f4f99;background:#f2f7ff;border-radius:8px;margin:0;padding:6px 8px}.tabs button{white-space:nowrap;flex:1;padding:0 4px;font-size:12px}.hints{align-items:center}.hints .nav-switch{pointer-events:auto;background:#fffc;border:1px solid #ffffffb3}.hints .nav-switch button{padding:0 8px}.toolbar>button,.toolbar .seg button{white-space:nowrap}@media (width<=1260px){.hints{display:flex}.hints>span{display:none}.toolbar>button,.toolbar .seg button{padding:0 7px}}.import-model{text-align:center;color:#4a5565;cursor:pointer;border:1px dashed #c9d2dd;border-radius:8px;margin-top:8px;padding:7px 10px;font-size:12px;display:block;position:relative}.import-model:hover{color:#1f6feb;border-color:#1f6feb}.import-model input{opacity:0;cursor:pointer;position:absolute;inset:0}.studio{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.studio-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.studio-bar .spacer{flex:1}.studio-level{align-items:center;gap:8px;display:flex}.studio .switch{color:#4b5563;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:inline-flex}.studio .switch.off{opacity:.5;cursor:default}.generate{color:#fff;background:linear-gradient(135deg,#2f6df6,#7b4dff);border:0;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:700;box-shadow:0 4px 14px #4058f64d}.generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #4058f661}.generate:disabled{opacity:.6}.generate.wide{align-self:center;padding:10px 24px}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:max-content;align-content:start;gap:12px;min-height:0;padding:2px;display:grid;overflow-y:auto}.tile{animation:rise var(--slow) var(--ease) both;transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:#fff;border:1px solid #e8ecf1;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.tile.done:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1018281a}.tile.failed{opacity:.55}.tile-img{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,#fff,#eef1f5);place-items:center;display:grid;position:relative}.tile-img img{object-fit:contain;width:calc(100% - 16px);height:calc(100% - 16px);animation:fade var(--slow) var(--ease) both;position:absolute;inset:8px}.tile-wait{color:#a3abb6;font-size:20px}.spinner{border:3px solid #dfe5ec;border-top-color:#5a6cf3;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tile-body{flex-direction:column;gap:4px;padding:12px;display:flex}.tile-body h3{margin:0;font-size:14px}.tile-body p{margin:0;line-height:1.35}.tile .chips{margin-top:4px}.tile .chips span{white-space:nowrap;color:#4b5563;background:#f2f4f7;border-radius:999px;padding:2px 8px;font-size:11px;line-height:18px}.tile .chips .ok{color:#1d7a46;background:#e8f6ee}.tile .chips .warn{color:#9a5b00;background:#fff4e5}.tile-actions{gap:8px;margin-top:8px;display:flex}.tile-actions button{background:#fff;border:1px solid #e3e8ee;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:600}.tile-actions .primary{color:#fff;background:#1f6feb;border:0;flex:1}.tile-actions .more{padding:7px 10px}.details{color:#4b5563;border-top:1px solid #eef1f5;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.details dl{grid-template-columns:auto 1fr;gap:2px 8px;margin:0;display:grid}.details dt{color:#8a94a3}.details dd{margin:0}.details ul{margin:0;padding-left:16px}.details p{margin:4px 0 0}.ideas:has(.studio){flex-direction:column;display:flex}
