:root{--blue-deep: #0a2647;--blue-mid: #123a63;--blue-panel: #0e2f54;--line: rgba(232, 244, 255, .16);--line-strong: rgba(232, 244, 255, .32);--ink: #e8f4ff;--ink-dim: #9fb8d4;--paper: #f3efe4;--redline: #e8542c;--amber: #f2b134;--cyan: #5bc9d6;--green: #7fbf7f;--font-display: "Oswald", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--status-concept: var(--ink-dim);--status-design: var(--cyan);--status-prototype: var(--amber);--status-building: var(--ink);--status-testing: var(--amber);--status-done: var(--green);font-family:var(--font-mono);line-height:1.5;font-weight:400;color:var(--ink);background-color:var(--blue-deep);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background-color:var(--blue-deep);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;background-attachment:fixed}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.site-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line-strong)}.brand-block{min-width:0}.sheet-meta{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 .35rem}.brand-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,2.75rem);line-height:1;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .4rem;color:var(--ink)}.brand-sub{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-dim);margin:0;max-width:36ch}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.85rem}.stats-strip{display:flex;gap:0;border:1px solid var(--line-strong);background:var(--blue-panel)}.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:4.75rem;padding:.5rem .85rem;border-right:1px solid var(--line)}.stat:last-child{border-right:none}.stat-label{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.stat-value{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:.04em;line-height:1.2}.action-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .95rem;border:1px solid var(--line-strong);background:transparent;color:var(--ink);transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:var(--ink);background:#e8f4ff0a}.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn-primary{background:var(--redline);border-color:var(--redline);color:var(--paper)}.btn-primary:hover{background:#f0653d;border-color:#f0653d;color:var(--paper)}.btn-danger{color:var(--redline);border-color:#e8542c73}.btn-danger:hover{background:#e8542c1f;border-color:var(--redline)}.btn-ghost{border:none;background:transparent;padding:.35rem .5rem;color:var(--ink-dim)}.btn-ghost:hover{color:var(--ink);background:transparent;border:none}.btn-ghost.btn-danger:hover{color:var(--redline)}.btn-text{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem 0;border:none;background:none;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px}.btn-text:hover{color:var(--ink)}.btn-text.danger:hover{color:var(--redline)}.filter-bar{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem}.chip{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .7rem;border:1px solid var(--line-strong);background:transparent;color:var(--ink-dim);transition:border-color .15s ease,color .15s ease,background .15s ease}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.active{color:var(--blue-deep);background:var(--cyan);border-color:var(--cyan)}.chip:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.25rem}.empty-state{border:1px dashed var(--line-strong);background:#0e2f5480;padding:2.5rem 1.5rem;text-align:center}.empty-state p{margin:0;font-size:.875rem;color:var(--ink-dim)}.build-card{display:flex;flex-direction:column;background:var(--blue-panel);border:1px solid var(--line-strong);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.build-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000059;border-color:#e8f4ff73}.card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem 0}.sheet-no{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.status-badge{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .55rem;border:1px solid;border-radius:999px;background:transparent;white-space:nowrap}.status-badge.concept{color:var(--status-concept);border-color:var(--status-concept)}.status-badge.design{color:var(--status-design);border-color:var(--status-design)}.status-badge.prototype{color:var(--status-prototype);border-color:var(--status-prototype)}.status-badge.building{color:var(--status-building);border-color:var(--status-building)}.status-badge.testing{color:var(--status-testing);border-color:var(--status-testing)}.status-badge.done{color:var(--status-done);border-color:var(--status-done)}.card-body{padding:.85rem 1rem 1rem;flex:1;display:flex;flex-direction:column;gap:.85rem}.card-title{font-family:var(--font-display);font-weight:600;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.15;margin:0}.card-category{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin:-.35rem 0 0}.field{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.field-value{font-size:.8125rem;color:var(--ink);line-height:1.45;white-space:pre-wrap;word-break:break-word}.field-value.muted{color:var(--ink-dim);font-style:italic}.skill-tags{display:flex;flex-wrap:wrap;gap:.35rem}.skill-tag{font-size:.6875rem;letter-spacing:.04em;padding:.2rem .45rem;border:1px solid var(--line);color:var(--ink);background:#e8f4ff08}.title-block{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line-strong);background:#0a264773}.title-block-cell{padding:.65rem .75rem;border-right:1px solid var(--line);min-width:0}.title-block-cell:last-child{border-right:none}.title-block-label{font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.2rem}.title-block-value{font-family:var(--font-display);font-size:.95rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-actions{display:flex;gap:1rem;padding:.55rem 1rem;border-top:1px solid var(--line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:1.25rem;overflow-y:auto;background:#040e1cc7}.modal{width:min(560px,100%);margin:auto;background:var(--blue-panel);border:1px solid var(--line-strong);box-shadow:0 16px 48px #00000073}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--line-strong)}.modal-title{font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0}.modal-body{padding:1.15rem;display:flex;flex-direction:column;gap:.95rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.15rem;border-top:1px solid var(--line-strong)}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.55rem .65rem;background:var(--blue-deep);border:1px solid var(--line-strong);color:var(--ink);border-radius:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--cyan)}.form-field textarea{min-height:4.5rem;resize:vertical}.form-field .hint{font-size:.6875rem;color:var(--ink-dim)}.form-error{font-size:.75rem;color:var(--redline)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}.confirm-copy{margin:0;font-size:.875rem;color:var(--ink);line-height:1.5}.confirm-copy strong{color:var(--ink);font-weight:600}@media(max-width:640px){.app{padding:1rem .85rem 2.5rem}.site-header{flex-direction:column}.header-actions{width:100%;align-items:stretch}.stats-strip{display:none}.action-row{justify-content:stretch}.action-row .btn{flex:1;text-align:center}.form-row{grid-template-columns:1fr}.title-block-value{font-size:.85rem}}@media(max-width:380px){.stats-strip{display:none}}
