:root{--bg: #f4f8f8;--surface: #ffffff;--border: #d2dde0;--border-strong: #c2cdcf;--soft: #ebf6f8;--segment: #e8f2f5;--ink: #152126;--muted: #545d5f;--muted-2: #4b5457;--teal: #00a29f;--teal-btn: #008888;--teal-btn-hover: #007c7c;--teal-text: #007475;--gold: #eba503;--gold-text: #9d6300;--green: #169f65;--approve: #007748;--green-text: #005f32;--red: #d24d42;--red-text: #ac312a;--canvas: #fcfefe;--paper: #f5f3ef;--tracing: #f1edde;--pen: #292e34;--graphite: #444e5e;--fixtures: #748389;--dark-label: #081e24;--grad: linear-gradient(270deg, #00a29f, #4bc680 55%, #eba503);--shadow-card: 0 20px 50px rgba(20, 35, 40, .08);--shadow-btn: 0 10px 30px rgba(0, 136, 136, .28);--shadow-float: 0 6px 20px rgba(20, 35, 40, .06);--pad-side: 76px;--header-h: 76px;font-family:IBM Plex Sans Hebrew,system-ui,sans-serif;font-size:17px;color:var(--ink)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg);background-image:linear-gradient(to left,rgba(184,217,216,.45) 1px,transparent 1px),linear-gradient(to bottom,rgba(184,217,216,.45) 1px,transparent 1px),linear-gradient(to left,rgba(214,233,233,.45) 1px,transparent 1px),linear-gradient(to bottom,rgba(214,233,233,.45) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px}body.no-grid{background-image:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}input{font:inherit;color:inherit}.mono{font-family:IBM Plex Mono,monospace}.app{display:flex;flex-direction:column;height:100%}.hdr{position:sticky;top:0;z-index:20;flex:none;height:var(--header-h);display:flex;align-items:center;gap:24px;padding:0 28px;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.hdr:after{content:"";position:absolute;inset-inline:0;bottom:-3px;height:3px;background:var(--grad)}.hdr-logo{height:56px;display:block}.hdr-logo-btn{background:none;border:0;padding:0;margin-inline-start:auto}.hdr-spacer{flex:1}.steps{display:flex;align-items:center;gap:8px}.step{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:0;border-radius:12;border-radius:12px;background:transparent;font-size:16px}.step[data-active=true]{background:#00a29f1a;font-weight:600}.step:disabled{opacity:.45}.step-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;border:2px solid var(--border-strong);color:var(--muted)}.step[data-state=active] .step-dot{background:var(--teal-btn);color:#fff;border-color:var(--teal-btn)}.step[data-state=done] .step-dot{background:#00a29f1f;color:var(--teal-text);border-color:transparent}.step-conn{width:20px;height:2px;background:var(--border-strong)}@media(max-width:1000px){.step-conn{display:none}}@media(max-width:1280px){.step-label{display:none}.step[data-active=true] .step-label{display:inline}}.main{flex:1;overflow-y:auto;overflow-x:hidden}.page{padding:48px var(--pad-side) 28px}.page h1{font-size:36px;font-weight:600;margin:0 0 10px}.sub{font-size:18px;color:var(--muted);margin:0;line-height:1.6}.eyebrow{font-size:14px;color:var(--muted);margin:0 0 14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow-card)}.btn-primary{height:64px;padding:0 36px;border:0;border-radius:16px;background:var(--teal-btn);color:#fff;font-size:20px;font-weight:600;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--teal-btn-hover)}.btn-primary:disabled{opacity:.4;box-shadow:none}.btn-primary.lg{height:68px;font-size:22px}.btn-ghost{height:52px;padding:0 22px;border-radius:14px;border:1px solid var(--border);background:var(--bg);font-size:17px}.btn-ghost:hover{background:var(--soft)}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:15px;font-weight:600}.pill-live{background:#169f651f;color:var(--green-text)}.pill-live:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}.pill-plan{border:1px solid var(--border-strong);color:var(--muted-2);font-weight:500}.pill-gold{background:#eba50326;color:var(--gold-text)}.pill-teal{background:#00a29f1f;color:var(--teal-text)}.swatch{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;font-weight:600;font-size:16px}.home{display:flex;flex-direction:column;gap:64px;padding:48px var(--pad-side) 28px}.home h1{font-size:42px;font-weight:600;margin:0 0 6px}.tool-card{border-radius:24px;padding:36px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:40px;align-items:center}.tool-card h2{font-size:36px;font-weight:600;margin:14px 0 12px}.tool-card p{font-size:19px;line-height:1.65;color:var(--muted-2);margin:0 0 26px}.tool-media{width:100%;aspect-ratio:16/9;border-radius:18px;object-fit:cover;background:#fff}.planned{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.planned-tile{border:2px dashed var(--border-strong);border-radius:20px;padding:26px;background:transparent;cursor:default}.planned-tile h3{font-size:20px;font-weight:600;color:var(--muted-2);margin:0 0 10px}.planned-tile p{font-size:16px;color:var(--muted);margin:10px 0 0}.foot{border-top:1px solid var(--border);padding-top:22px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;color:var(--muted)}.foot img{height:22px;opacity:.8}.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:32px;margin-top:32px}.up-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.up-head h2{font-size:22px;font-weight:600;margin:0}.up-head .meta{font-size:15px;color:var(--muted);margin:2px 0 0}.drop{aspect-ratio:16/7;border-radius:16px;width:100%;border:2px dashed rgba(0,162,159,.6);background:#00a29f0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:background .15s}.drop:hover,.drop[data-over=true]{background:#00a29f17}.drop-gold{border-color:#eba503b3;background:#eba5030d}.drop-gold:hover,.drop-gold[data-over=true]{background:#eba5031a}.drop p{margin:0;font-size:18px}.drop small{color:var(--muted);font-size:14.5px}.preview{aspect-ratio:16/7;width:100%;border-radius:16px;object-fit:contain;background:var(--paper)}.preview-gold{background:var(--tracing)}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.file-name{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-gold{color:var(--gold-text);font-size:15.5px;margin-top:10px}.dimmed{opacity:.55}.checkrow{display:flex;align-items:flex-start;gap:12px;margin-top:28px;font-size:18px}.checkrow input{width:22px;height:22px;accent-color:var(--teal-btn);margin-top:2px}.footrow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;padding-bottom:20px}.footrow .note{font-size:16px;color:var(--muted)}.work{display:flex;height:100%;min-height:0}.panel{width:min(440px,44vw);min-width:340px;flex:none;background:var(--surface);border-inline-start:1px solid var(--border);padding:28px;overflow-y:auto}.canvas-wrap{flex:1;min-width:0;background:var(--canvas);position:relative;overflow:hidden}.canvas-wrap svg{width:100%;height:100%;display:block}.alert{border-radius:14px;padding:16px 18px;font-size:16px;line-height:1.6;margin-bottom:14px}.alert-gold{background:#eba5031f;color:var(--gold-text)}.alert-green{background:#169f651f;color:var(--green-text)}.alert-red{background:#d24d421f;color:var(--red-text)}.kv{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);font-size:16px}.kv:last-child{border-bottom:0}.kv b{font-family:IBM Plex Mono,monospace;font-weight:600}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block;vertical-align:-5px}@keyframes spin{to{transform:rotate(360deg)}}.center-msg{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;color:var(--muted);font-size:18px}
