:root{color-scheme:dark;--bg: #07111f;--bg2: #0c1728;--panel: rgba(11, 23, 40, .82);--panel-strong: rgba(14, 28, 48, .96);--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #ecf3ff;--muted: #9eb0c9;--accent: #6fd3ff;--accent-2: #8b5cf6;--yellow: #f6c343;--shadow: 0 24px 70px rgba(0, 0, 0, .38);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(111,211,255,.12),transparent 30%),radial-gradient(circle at top right,rgba(139,92,246,.14),transparent 28%),linear-gradient(180deg,#08111d,#0b1422 38%,#08101c)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.pageShell{min-height:100vh}.siteHeader{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070e18c7;border-bottom:1px solid rgba(255,255,255,.06)}.siteHeaderInner{max-width:1320px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brandLogo{width:52px;height:52px;object-fit:contain;border-radius:14px;background:#ffffff08;padding:6px}.brandText{display:flex;flex-direction:column;gap:2px}.brandName{display:flex;align-items:center;gap:.35rem;font-size:1rem;font-weight:900;letter-spacing:.18em}.brandNamePrimary{color:#fff}.brandNameAccent{color:var(--yellow)}.brandTag{font-size:.8rem;color:var(--muted)}.backButton{border:1px solid var(--line-strong);background:#ffffff0a;color:var(--text);padding:12px 16px;border-radius:14px;cursor:pointer;font-weight:700}.backButton:hover{border-color:#6fd3ff4d}.landingPage,.projectPage{max-width:1320px;margin:0 auto;padding:30px 22px 60px}.landingHero,.projectHeader,.partsTable,.projectCard{background:linear-gradient(180deg,#0f1c2fe0,#0a1423eb);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.landingHero{padding:30px;margin-bottom:22px}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:#6fd3ff1f;color:var(--accent);font-weight:700;font-size:.84rem;letter-spacing:.04em;margin-bottom:14px}.landingHero h1,.projectHeader h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3.4rem);line-height:.98;letter-spacing:-.03em}.landingHero p{margin:0 0 18px;color:var(--muted);font-size:1.02rem;max-width:58ch;line-height:1.65}.uploadBox input,.projectControls select{width:100%;max-width:320px;padding:14px 16px;border-radius:16px;border:1px solid var(--line-strong);background:#ffffff0a;color:var(--text);outline:none}.uploadBox input::file-selector-button{margin-right:12px;border:0;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#7dd3fc);color:#04111e;font-weight:800;cursor:pointer}.projectGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.projectCard{padding:18px;text-align:left;display:grid;gap:12px}.projectCard:hover{border-color:#6fd3ff38;transform:translateY(-2px)}.projectCardMain{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:4px 2px;cursor:pointer}.projectCardTitle{font-size:1.15rem;font-weight:800;margin-bottom:8px}.projectCardMeta{color:var(--muted)}.deleteProjectButton{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffb4b4;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:700}.deleteProjectButton:hover{border-color:#ff787859;background:#ff505014}.projectHeader{padding:24px;margin-bottom:20px;display:flex;align-items:end;justify-content:space-between;gap:20px}.partsTable{overflow:hidden}.partsHeader,.partRow{display:grid;grid-template-columns:190px minmax(0,1fr) 180px;align-items:center;gap:18px}.partsHeader{padding:18px 22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem;font-weight:700;letter-spacing:.03em}.partRow{width:100%;text-align:left;border:0;border-top:1px solid rgba(255,255,255,.05);background:transparent;color:inherit;padding:18px 22px}.partRow:hover{background:#ffffff08}.partPreviewCell{display:flex;align-items:center}.partPreviewButton{border:0;background:transparent;padding:0;cursor:pointer;border-radius:20px}.partPreviewButton:hover .partPreviewTint{border-color:#6fd3ff59;transform:translateY(-1px)}.partPreviewButton:active .partPreviewTint{transform:scale(.98)}.partPreviewTint{width:160px;height:110px;border-radius:20px;display:flex;align-items:center;justify-content:center;padding:14px;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 9999px #ffffff29;transition:transform .15s ease,border-color .15s ease}.partPreviewImage{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.15) brightness(.7);mix-blend-mode:multiply}.partNumberCell{min-width:0}.partNumber{font-size:1.05rem;font-weight:800;margin-bottom:6px}.partColor{color:var(--muted)}.partQtyCell{justify-self:start}.qtyControl{display:inline-flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid var(--line);border-radius:16px;padding:6px}.qtyButton{width:38px;height:38px;border:0;border-radius:12px;cursor:pointer;background:#6fd3ff24;color:var(--text);font-size:1.35rem;font-weight:900;line-height:1}.qtyButton:hover{background:#6fd3ff3d}.qtyValue{min-width:28px;text-align:center;font-size:1.35rem;font-weight:900;color:var(--accent)}@media (max-width: 980px){.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.partsHeader,.partRow{grid-template-columns:150px minmax(0,1fr) 120px}.partPreviewTint{width:126px;height:96px}}@media (max-width: 760px){.siteHeaderInner,.projectHeader{flex-direction:column;align-items:flex-start}.partsHeader,.partRow{grid-template-columns:88px minmax(0,1fr) 92px;gap:10px}.partsHeader{display:grid;font-size:.72rem;padding:12px 10px}.partRow{padding:12px 10px}.partPreviewTint{width:72px;height:72px;border-radius:14px;padding:8px}.partNumber{font-size:.9rem}.partColor{font-size:.72rem}.partQtyCell{justify-self:end}.qtyControl{gap:6px;padding:4px}.qtyButton{width:30px;height:30px;border-radius:10px;font-size:1.1rem}.qtyValue{min-width:20px;font-size:1.05rem}}@media (max-width: 640px){.landingPage,.projectPage{padding:22px 14px 44px}.siteHeaderInner{padding:14px}.landingHero,.projectHeader,.partsTable,.projectCard{border-radius:22px}.projectGrid{grid-template-columns:1fr}.brandName{font-size:.84rem}.brandTag{font-size:.75rem}.landingHero h1,.projectHeader h1{font-size:2.2rem}}
