:root{--color-bg: #13100A;--color-bg-card: #1C1710;--color-bg-elevated: #241E15;--color-gold: #C8A84B;--color-gold-dim: #8A7234;--color-gold-glow: rgba(200, 168, 75, .15);--color-green: #3D7A5E;--color-green-hover: #4A9270;--color-green-dim: rgba(61, 122, 94, .2);--color-text: #F0EAD6;--color-text-muted: #8A8070;--color-text-subtle: #564E42;--color-border: rgba(200, 168, 75, .12);--color-border-card: rgba(240, 234, 214, .06);--font-display: "Cormorant Garamond", Georgia, serif;--font-ui: "Jost", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--space-xs: 6px;--space-sm: 12px;--space-md: 20px;--space-lg: 32px;--space-xl: 48px;--space-2xl: 72px;--shadow-card: 0 2px 20px rgba(0,0,0,.5), 0 0 0 1px var(--color-border-card);--shadow-button: 0 4px 16px rgba(61, 122, 94, .3);--transition: .22s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-ui);font-weight:400;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100dvh;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E")}img{max-width:100%;display:block}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app-layout{display:flex;flex-direction:column;min-height:100dvh}.page-content{flex:1;padding-bottom:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:14px 28px;border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:.95rem;font-weight:500;letter-spacing:.03em;transition:all var(--transition);cursor:pointer;border:none;width:100%}.btn-primary{background:var(--color-green);color:#fff;box-shadow:var(--shadow-button)}.btn-primary:hover,.btn-primary:active{background:var(--color-green-hover);transform:translateY(-1px);box-shadow:0 6px 24px #3d7a5e73}.btn-secondary{background:transparent;color:var(--color-gold);border:1px solid var(--color-gold-dim)}.btn-secondary:hover,.btn-secondary:active{background:var(--color-gold-glow);border-color:var(--color-gold)}.card{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.stub-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-md);padding:var(--space-xl) var(--space-md);text-align:center}.stub-page__icon{font-size:3rem;line-height:1}.stub-page__title{font-family:var(--font-display);font-size:2rem;color:var(--color-gold)}.stub-page__body{color:var(--color-text-muted);max-width:280px;font-size:.95rem}.stub-page__badge{display:inline-block;padding:6px 16px;border-radius:var(--radius-pill);background:var(--color-green-dim);color:var(--color-green-hover);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-family:var(--font-ui);font-size:.78rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.form-label .required{color:var(--color-gold-dim);margin-left:3px}.form-input,.form-select{width:100%;padding:14px 16px;background:var(--color-bg-elevated);border:1px solid var(--color-border-card);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-ui);font-size:1rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::placeholder{color:var(--color-text-subtle)}.form-input:focus,.form-select:focus{border-color:var(--color-gold-dim);box-shadow:0 0 0 3px var(--color-gold-glow)}.form-input.error,.form-select.error{border-color:#8b3030;box-shadow:0 0 0 3px #8b303026}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A7234' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.form-select option{background:var(--color-bg-elevated);color:var(--color-text)}.form-error{font-size:.78rem;color:#c06060;font-family:var(--font-ui);padding-left:2px}.form-checkbox-group{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:4px 0}.form-checkbox-group input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:1px;accent-color:var(--color-green);cursor:pointer;border-radius:4px}.form-checkbox-label{font-family:var(--font-ui);font-size:.88rem;color:var(--color-text-muted);line-height:1.5}.form-checkbox-label a{color:var(--color-gold-dim);text-decoration:underline}.participant-badge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;background:var(--color-gold-glow);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.participant-badge__label{font-family:var(--font-ui);font-size:.72rem;color:var(--color-gold-dim);letter-spacing:.08em;text-transform:uppercase}.participant-badge__number{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:var(--color-gold);letter-spacing:.04em;line-height:1}.section-divider{display:flex;align-items:center;gap:12px;padding:8px 0}.section-divider__line{flex:1;height:1px;background:var(--color-border-card)}.section-divider__text{font-size:.75rem;color:var(--color-text-subtle);font-family:var(--font-ui);white-space:nowrap;letter-spacing:.04em}.info-block{padding:14px 16px;background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-md);font-size:.85rem;color:var(--color-text-muted);line-height:1.55}.info-block.success{border-color:#3d7a5e59;background:#3d7a5e14;color:#7ec8a8}.info-block.warning{border-color:#c8a84b40;background:#c8a84b0f;color:var(--color-gold-dim)}.mini-profile-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 18px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;overflow:hidden}.mini-profile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);opacity:.5}.mini-profile-card__text{flex:1;min-width:0}.mini-profile-card__greeting{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-gold);line-height:1.15;margin-bottom:4px}.mini-profile-card__number{font-family:var(--font-ui);font-size:.78rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.1em;margin-bottom:3px}.mini-profile-card__meta{font-family:var(--font-ui);font-size:.72rem;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-card{background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color var(--transition),background var(--transition);text-align:left;width:100%}.dashboard-card:hover,.dashboard-card:active{border-color:#c8a84b40;background:var(--color-bg-elevated)}.dashboard-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-card__icon{font-size:1.4rem;line-height:1}.dashboard-card__title{font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--color-text);flex:1}.dashboard-card__desc{font-family:var(--font-ui);font-size:.78rem;color:var(--color-text-muted);line-height:1.45}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:.65rem;font-weight:500;letter-spacing:.05em;white-space:nowrap}.status-pill--next{background:var(--color-green-dim);color:var(--color-green-hover);border:1px solid rgba(61,122,94,.3)}.status-pill--available{background:#3d7a5e1f;color:#5bae8a;border:1px solid rgba(61,122,94,.25)}.status-pill--soon{background:#c8a84b14;color:var(--color-gold-dim);border:1px solid rgba(200,168,75,.2)}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.progress-cell{background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-md);padding:14px 14px 12px;display:flex;flex-direction:column;gap:4px}.progress-cell__value{font-family:var(--font-display);font-size:1.8rem;font-weight:600;color:var(--color-gold);line-height:1}.progress-cell__value--muted{font-size:1rem;color:var(--color-text-subtle);font-family:var(--font-ui);font-weight:400}.progress-cell__label{font-family:var(--font-ui);font-size:.7rem;color:var(--color-text-subtle);letter-spacing:.04em;text-transform:uppercase;line-height:1.3}.route-step{display:flex;align-items:flex-start;gap:14px;padding:10px 0}.route-step+.route-step{border-top:1px solid var(--color-border-card)}.route-step__number{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:.72rem;font-weight:600;flex-shrink:0;margin-top:1px}.route-step__number--done{background:var(--color-green-dim);color:var(--color-green-hover);border:1px solid rgba(61,122,94,.35)}.route-step__number--pending{background:var(--color-bg-elevated);color:var(--color-text-subtle);border:1px solid var(--color-border-card)}.route-step__text{font-family:var(--font-ui);font-size:.88rem;color:var(--color-text-muted);line-height:1.5;padding-top:3px}.route-step__text--done{color:var(--color-text)}.joia-block{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.joia-block__logo{height:28px;width:auto;object-fit:contain;object-position:left;filter:drop-shadow(0 0 8px rgba(200,168,75,.15))}.joia-block__text{font-family:var(--font-ui);font-size:.82rem;color:var(--color-text-muted);line-height:1.55}.dash-section{display:flex;flex-direction:column;gap:10px}.dash-section__title{font-family:var(--font-display);font-size:1.15rem;font-style:italic;font-weight:400;color:var(--color-gold);letter-spacing:.01em}.calc-section{display:flex;flex-direction:column;gap:12px}.calc-section-title{font-family:var(--font-display);font-size:1.1rem;font-style:italic;font-weight:400;color:var(--color-gold);letter-spacing:.01em}.brand-logo-row{display:flex;align-items:center;gap:16px;padding:10px 0 4px;flex-wrap:wrap}.brand-logo-row img{height:24px;width:auto;object-fit:contain;filter:brightness(.9);opacity:.85}.calc-component-card{background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-md);padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}.calc-component-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.calc-component-card__index{font-size:.7rem;font-weight:600;color:var(--color-text-subtle);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.calc-component-card__remove{background:none;border:none;color:var(--color-text-subtle);cursor:pointer;font-size:1rem;padding:4px;border-radius:4px;line-height:1;transition:color var(--transition);flex-shrink:0}.calc-component-card__remove:hover{color:#c84b4b}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calc-row--3{grid-template-columns:1fr 1fr 1fr}.component-cost{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--color-bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border-card)}.component-cost__label{font-size:.72rem;color:var(--color-text-subtle);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em}.component-cost__value{font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--color-text)}.component-cost__value--zero{color:var(--color-text-subtle)}.warning-text{font-family:var(--font-ui);font-size:.75rem;color:#c87a3a;padding:2px 0}.calc-total-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.calc-total-card__header{padding:12px 16px;background:#c8a84b0f;border-bottom:1px solid var(--color-border);font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--color-gold)}.calc-total-card__body{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.calc-total-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.calc-total-row__label{font-family:var(--font-ui);font-size:.82rem;color:var(--color-text-muted)}.calc-total-row__value{font-family:var(--font-ui);font-size:.9rem;font-weight:600;color:var(--color-text)}.calc-total-row--main .calc-total-row__label{font-size:.88rem;color:var(--color-text);font-weight:600}.calc-total-row--main .calc-total-row__value{font-size:1.1rem;color:var(--color-gold)}.calc-total-divider{height:1px;background:var(--color-border-card);margin:4px 0}.calc-risk-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-pill);font-family:var(--font-ui);font-size:.82rem;font-weight:600;width:100%;justify-content:center;margin-top:4px}.calc-risk-pill--good{background:#3d997026;color:#3d9970;border:1px solid rgba(61,153,112,.3)}.calc-risk-pill--ok{background:#c8a84b1f;color:#c8a84b;border:1px solid rgba(200,168,75,.25)}.calc-risk-pill--warn{background:#c87a3a1f;color:#c87a3a;border:1px solid rgba(200,122,58,.25)}.calc-risk-pill--danger{background:#c84b4b1f;color:#c84b4b;border:1px solid rgba(200,75,75,.25)}.calc-risk-pill--none{background:var(--color-bg-elevated);color:var(--color-text-subtle);border:1px solid var(--color-border-card)}.ideas-list{display:flex;flex-direction:column;gap:10px}.idea-card{background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color var(--transition)}.idea-card:hover{border-color:#c8a84b33}.idea-card__header{padding:14px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.idea-card__name{font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--color-text);flex:1}.idea-card__meta{font-size:.72rem;color:var(--color-text-subtle);font-family:var(--font-ui);margin-top:3px;line-height:1.4}.idea-card__costs{padding:0 16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.idea-card__cost-item{display:flex;flex-direction:column;gap:2px}.idea-card__cost-label{font-size:.65rem;color:var(--color-text-subtle);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em}.idea-card__cost-value{font-size:.88rem;font-weight:600;color:var(--color-text);font-family:var(--font-ui)}.idea-card__expand{border-top:1px solid var(--color-border-card);padding:12px 16px;display:flex;flex-direction:column;gap:6px}.idea-card__component-row{display:flex;justify-content:space-between;font-size:.78rem;font-family:var(--font-ui);color:var(--color-text-muted);padding:3px 0;border-bottom:1px solid var(--color-border-card)}.idea-card__component-row:last-child{border-bottom:none}.category-pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:.65rem;font-weight:500;font-family:var(--font-ui);background:var(--color-bg-elevated);color:var(--color-text-muted);border:1px solid var(--color-border-card);white-space:nowrap}.brand-hero-logo{display:block;object-fit:contain;object-position:left center}.lab38-hero{width:140px;height:auto;max-height:60px;filter:drop-shadow(0 0 8px rgba(200,168,75,.2))}.illuminator-ideas-logo{width:110px;height:auto;max-height:48px;object-fit:contain;filter:brightness(1.05)}.extra-help{background:#c8a84b0d;border:1px solid rgba(200,168,75,.14);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:5px}.extra-help-title{font-family:var(--font-ui);font-size:.7rem;font-weight:600;color:var(--color-gold-dim);letter-spacing:.05em;text-transform:uppercase}.extra-help-text{font-family:var(--font-ui);font-size:.76rem;color:var(--color-text-muted);line-height:1.55}.extra-help-example{font-family:var(--font-ui);font-size:.72rem;color:var(--color-text-subtle);line-height:1.5;border-top:1px solid rgba(200,168,75,.1);padding-top:5px;margin-top:2px}.extra-help-example strong{color:var(--color-gold-dim);font-weight:500}
