:root{color:#2c2418;background:#faf8f4;font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;background:#faf8f4;color:#2c2418}button:disabled{opacity:.65;cursor:not-allowed}button,input,textarea{font:inherit}button{cursor:pointer}.portal-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}.portal-loading{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-loading__card,.portal-error{background:#fff;border:1px solid #ddd5cb;border-radius:20px;padding:20px 22px}.portal-error{display:grid;gap:6px;margin-bottom:16px;color:#7e3f37}.portal-sidebar{background:#f4efe8;border-right:1px solid #ddd5cb;padding:24px;display:grid;align-content:start;gap:18px}.portal-brand{display:flex;align-items:center;gap:14px}.portal-logo{width:48px;height:48px;border-radius:14px;background:#c47a2a;color:#fff;display:grid;place-items:center;font-weight:700}.portal-logo-img{max-width:180px;height:auto}.camera-logo-overlay{position:absolute;top:12px;right:12px;width:36px;height:auto;opacity:.7;pointer-events:none;z-index:2}.portal-panel{background:#fff;border:1px solid #ddd5cb;border-radius:20px;padding:18px}.portal-panel h2,.hero-card h2,.content-section h2,.confirmation-card h2{margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:2rem;line-height:1.1}.portal-panel p,.lead,.section-copy,.value-card p,.prompt-callout span,.promise-list{color:#6b5d4f}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#9d7b55}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill-row.centered{justify-content:center}.pill{border-radius:999px;border:1px solid #ddd5cb;padding:.45rem .8rem;background:#fff;font-size:.9rem}.step-list{display:grid;gap:8px}.step-item{display:flex;align-items:center;gap:10px;border:1px solid #ddd5cb;background:#fff;border-radius:14px;padding:.8rem .95rem;text-align:left}.step-item span{width:28px;height:28px;border-radius:999px;background:#f4efe8;display:grid;place-items:center}.step-item.active{border-color:#c47a2a;background:#fff9f2}.promise-list{margin:0;padding-left:1rem;display:grid;gap:10px}.portal-main{padding:32px}.hero-card,.content-section,.confirmation-card{background:#fff;border:1px solid #ddd5cb;border-radius:28px;padding:32px}.hero-card{display:grid;gap:18px;min-height:calc(100vh - 64px);align-content:center}.lead{font-size:1.15rem;line-height:1.8;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.primary,.secondary{border-radius:14px;padding:.9rem 1.2rem;border:1px solid #ddd5cb}.primary{background:#c47a2a;color:#fff;border-color:#c47a2a}.secondary{background:#fff;color:#2c2418}.upload-label{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-meta{margin-top:10px;color:#6b5d4f}.section-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.value-card{border:1px solid #ddd5cb;border-radius:20px;background:#fff;padding:20px;text-align:left;display:grid;gap:16px}.value-card--selected{background:#fff9f2;box-shadow:0 0 0 1px #c47a2a26}.values-selection-status{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;background:#f4efe8;border:1px solid #ddd5cb;border-radius:14px}.values-selection-count{font-weight:700;font-size:.9rem;color:#2c2418;white-space:nowrap}.values-selection-hint{font-size:.88rem;color:#6b5d4f}.values-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#f4efe8;border-top:1px solid #ddd5cb;position:sticky;bottom:0;z-index:10;box-shadow:0 -4px 16px #00000014}.values-footer__note{margin:0;font-size:.88rem;color:#6b5d4f;line-height:1.5;max-width:480px}.values-footer__continue{flex-shrink:0;font-size:1rem;padding:12px 28px}.value-card__top{display:flex;justify-content:space-between;gap:16px}.value-card h3{margin:0 0 8px;font-size:1.25rem;font-family:"Source Serif 4",Georgia,serif}.domain-chip{font-size:.85rem}.selection-chip{min-width:32px;height:32px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700}.prompt-callout{background:#f4efe8;border:1px solid #ddd5cb;border-radius:16px;padding:14px;display:grid;gap:6px}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.camera-frame{margin-top:18px;border-radius:24px;overflow:hidden;border:1px solid #ddd5cb;background:#17171c;max-width:900px;margin-left:auto;margin-right:auto}.camera-preview{aspect-ratio:16 / 9;max-height:60vh;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,#343438,#17171c)}.camera-meta{display:flex;gap:12px;align-items:center;padding:14px 16px;color:#fff}.recording-dot{width:10px;height:10px;border-radius:999px;background:#c45040}.recording-dot--pulse{animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.camera-video{width:100%;aspect-ratio:16 / 9;max-height:60vh;object-fit:cover;display:block;background:#17171c}.camera-start-btn{font-size:1rem}.camera-error-msg{color:#ddd;font-size:.9rem;max-width:280px;text-align:center;line-height:1.5}.camera-meta__hint{color:#ffffff80}.tips-toggle{background:none;border:none;color:#c47a2a;font-size:.85rem;cursor:pointer;padding:0;margin:8px 0 0;text-decoration:underline;text-underline-offset:2px}.tips-panel{background:#fff9f2;border:1px solid #ddd5cb;border-radius:16px;padding:14px 18px;margin:10px 0}.tips-panel ul{margin:0;padding-left:18px;display:grid;gap:6px}.tips-panel li{font-size:.88rem;color:#6b5d4f;line-height:1.5}.record-btn{background:#c45040!important;border-color:#c45040!important}.record-btn:hover{background:#a8372a!important}.stop-btn{background:#c45040!important;border-color:#c45040!important;animation:pulse-border 1.2s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 #c4504066}50%{box-shadow:0 0 0 6px #c4504000}}.upload-confirm{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}.upload-confirm__icon{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:#3a8a5c33;color:#6ee76e;font-size:1.5rem;border:1px solid rgba(58,138,92,.3)}.upload-confirm p{font-size:.9rem;color:#aaa}.recording-progress{display:flex;gap:8px;margin-bottom:20px}.progress-step{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #ddd5cb;border-radius:14px;background:#fff;text-align:left;transition:border-color .2s,background .2s}.progress-step--active{background:#fff9f2;border-width:2px}.progress-step--done{background:#f0f7f3}.progress-step__num{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#f4efe8;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}.progress-step--done .progress-step__num{color:#fff}.progress-step__label{font-size:.85rem;font-weight:600;color:#2c2418;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-step__time{font-size:.75rem;color:#6b5d4f;flex-shrink:0}.prompt-focus{border-left:4px solid #c47a2a;background:#fff9f2;border-radius:0 16px 16px 0;padding:18px 22px;margin-bottom:12px}.prompt-focus h3{margin:4px 0 8px;font-family:"Source Serif 4",Georgia,serif;font-size:1.25rem}.prompt-focus p:last-child{color:#6b5d4f;margin:0;line-height:1.6}.camera-video-wrap{position:relative}.countdown-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0000008c;z-index:2}.countdown-number{font-size:5rem;font-weight:700;color:#fff;line-height:1;animation:countdown-pop 1s ease-out infinite}@keyframes countdown-pop{0%{transform:scale(1.3);opacity:.5}50%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:.8}}.countdown-overlay p{color:#fff9;font-size:1rem;margin:0}.camera-meta__timer{font-variant-numeric:tabular-nums;font-weight:600}.camera-meta__limit{margin-left:auto;font-size:.8rem;opacity:.5}.clip-saved-badge{position:absolute;top:12px;right:12px;background:#3a8a5ce6;color:#fff;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.05em}.clip-done-badge{background:#3a8a5c33;color:#6ee76e;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.recording-summary{background:#f0f7f3;border:1px solid #c8e0d0;border-radius:16px;padding:16px 18px;margin-bottom:20px}.recording-summary__item{display:flex;justify-content:space-between;padding:8px 12px;border-left:3px solid #c47a2a;background:#fff;border-radius:0 10px 10px 0;margin-top:8px;font-size:.9rem}.recording-summary__total{margin:10px 0 0;font-size:.85rem;color:#6b5d4f;text-align:right}.upload-progress{margin-top:16px}.upload-progress__bar{height:6px;background:#ddd5cb;border-radius:999px;overflow:hidden}.upload-progress__fill{height:100%;background:#3a8a5c;border-radius:999px;transition:width .3s ease}.upload-progress__label{font-size:.85rem;color:#6b5d4f;margin-top:6px}.sticky{position:sticky;top:24px}.selected-prompt{border-left:3px solid #c47a2a;background:#fff;border-radius:14px;padding:12px 14px;margin-top:10px}.selected-prompt p{margin:8px 0 0;color:#6b5d4f}.form-stack{display:grid;gap:14px;margin-bottom:20px}.form-stack input,.form-stack textarea{width:100%;border-radius:16px;border:1px solid #ddd5cb;padding:1rem;background:#fff;color:#2c2418}.project-link-row{display:flex;gap:8px;align-items:center}.project-link-row input{flex:1;min-width:0}.project-link-remove{width:36px;height:36px;flex-shrink:0;border-radius:999px;border:1px solid #ddd5cb;background:#fff;color:#6b5d4f;font-size:1.1rem;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}.project-link-remove:hover{background:#fef0f0;color:#c45040;border-color:#c45040}.project-link-add{width:fit-content;padding:.6rem 1rem;font-size:.9rem}.confirmation-card{min-height:calc(100vh - 64px);display:grid;place-items:center;text-align:center}.confirmation-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0 8px;color:#6b5d4f;font-size:.95rem}.checkmark{width:88px;height:88px;border-radius:999px;display:grid;place-items:center;background:#3a8a5c1a;color:#3a8a5c;border:1px solid rgba(58,138,92,.22);font-size:2.5rem;margin:0 auto 18px}.prompt-focus__header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.prompt-focus__badge{display:inline-block;color:#fff;font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:999px;white-space:nowrap}.value-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 18px;background:#f4efe8;border:1px solid #ddd5cb;border-radius:16px}.value-nav__btn{background:#fff;border:1px solid #ddd5cb;border-radius:10px;padding:8px 16px;font-size:.9rem;font-weight:600;color:#2c2418;cursor:pointer;transition:background .15s,border-color .15s}.value-nav__btn:hover:not(:disabled){background:#fff9f2;border-color:#c47a2a}.value-nav__btn:disabled{opacity:.35;cursor:not-allowed}.value-nav__status{font-size:.85rem;color:#6b5d4f;font-weight:500}.all-done-banner{display:flex;align-items:center;gap:14px;margin-top:18px;padding:18px 22px;background:#f0f7f3;border:2px solid #3a8a5c;border-radius:16px}.all-done-banner__check{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:#3a8a5c26;color:#3a8a5c;font-size:1.25rem;font-weight:700;flex-shrink:0}.all-done-banner__text{display:flex;flex-direction:column;gap:2px;flex:1}.all-done-banner__text strong{font-size:1rem;color:#2c2418}.all-done-banner__text span{font-size:.85rem;color:#6b5d4f}.all-done-banner__btn{flex-shrink:0;font-size:1rem;padding:12px 24px;background:#3a8a5c;border-color:#3a8a5c}.all-done-banner__btn:hover{background:#2d7049;border-color:#2d7049}@media(max-width:1100px){.portal-shell,.two-column,.value-grid{grid-template-columns:1fr}.portal-main{padding:20px}.section-header{flex-direction:column;align-items:start}.recording-progress{flex-direction:column}.camera-video,.camera-preview{aspect-ratio:16 / 9;max-height:50vh}.value-nav,.all-done-banner{flex-direction:column;text-align:center}}
