:root{--purple:#30258b;--purple-dark:#191345;--violet:#6654e8;--gold:#f3b622;--cream:#fbfaf5;--ink:#17162a;--muted:#69677a;--line:#e3e0ef;--white:#fff;--safe:#eaf6ee;--safe-ink:#24633b;--warn:#fff4d5;--warn-ink:#805d08;--danger:#fcedeb;--danger-ink:#9a392c;--shadow:0 22px 70px rgba(33,25,86,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;min-height:100vh}.ambient{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.5}.ambient-one{width:430px;height:430px;background:#eee9ff;top:-190px;right:-130px}.ambient-two{width:380px;height:380px;background:#fff0bd;bottom:-250px;left:-130px}.topbar{height:78px;display:flex;align-items:center;gap:18px;padding:0 max(24px,calc((100vw - 1240px)/2));position:relative;z-index:20;background:rgba(251,250,245,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(48,37,139,.09)}.brand{display:flex;align-items:center;gap:11px;color:var(--purple-dark);font-weight:800;font-size:19px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--purple);color:#fff;border-radius:11px;font-family:"DM Serif Display",serif}.research-pill{margin-left:auto;border:1px solid #ddd8f0;background:#fff;border-radius:99px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--purple)}.research-pill span{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:6px}.icon-button{border:0;background:transparent;font-size:25px;cursor:pointer;color:var(--purple-dark);padding:8px}.drawer{position:fixed;z-index:50;top:0;right:0;width:min(390px,92vw);height:100vh;background:#fff;padding:25px;box-shadow:-20px 0 60px rgba(20,15,60,.18);transform:translateX(105%);transition:.3s}.drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center;font-size:20px;margin-bottom:20px}.drawer nav{display:grid;gap:5px;overflow:auto;max-height:calc(100vh - 150px)}.drawer nav button{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;padding:10px;border-radius:12px;color:var(--muted);cursor:pointer}.drawer nav button:hover,.drawer nav button.active{background:#f0edff;color:var(--purple)}.nav-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eeebfa;font-size:11px;font-weight:800}.scrim{display:none;position:fixed;inset:0;background:rgba(18,13,48,.42);z-index:40}.scrim.show{display:block}
#app{position:relative;z-index:1;max-width:1240px;margin:auto;padding:38px 24px 110px}.screen-shell{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.72fr);gap:26px;align-items:start}.screen-stage{min-height:650px;background:var(--white);border:1px solid rgba(42,34,105,.1);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.stage-inner{padding:54px 58px}.stage-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.screen-number{color:var(--purple);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.prototype-note{font-size:11px;color:var(--muted);background:#f5f3fa;border-radius:99px;padding:7px 11px}.eyebrow{display:block;color:var(--purple);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:11px}h1,h2,h3,p{margin-top:0}h1{font-family:"DM Serif Display",serif;font-weight:400;font-size:clamp(39px,5vw,66px);line-height:1.01;letter-spacing:-.025em;margin-bottom:18px}h2{font-family:"DM Serif Display",serif;font-size:28px;font-weight:400;margin-bottom:8px}h3{font-size:17px;margin-bottom:7px}.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:660px}.disclaimer{display:flex;gap:11px;background:var(--warn);color:var(--warn-ink);padding:13px 15px;border-radius:14px;font-size:12px;line-height:1.4;margin:28px 0}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.action-card{border:1px solid var(--line);background:#fff;text-align:left;border-radius:18px;padding:18px;cursor:pointer;transition:.2s;min-height:110px}.action-card:hover{transform:translateY(-2px);border-color:#c9c2ed;box-shadow:0 12px 30px rgba(48,37,139,.09)}.action-card.urgent{grid-column:1/-1;background:var(--purple);color:#fff;border:0;display:flex;align-items:center;justify-content:space-between;padding:23px}.action-card .icon,.circle-icon{font-size:24px}.action-card small{display:block;margin-top:6px;color:var(--muted)}.urgent small{color:#d8d3ff}.evaluation-panel{background:#f0eef8;border-radius:var(--radius);padding:25px;position:sticky;top:100px}.evaluation-head{display:flex;justify-content:space-between}.evaluation-head h2{font-size:24px}.collapse-button{display:none;border:0;background:#fff;border-radius:9px;width:32px;height:32px}.questions{display:grid;gap:10px;margin:20px 0}.question{background:#fff;border-radius:13px;padding:13px 14px;font-size:13px;line-height:1.45}.question::before{content:"?";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:6px;background:#eeebff;color:var(--purple);font-size:11px;font-weight:800}.note-label{font-size:12px;font-weight:800;color:var(--purple)}textarea,input,select{font:inherit}.notes{display:block;width:100%;resize:vertical;margin-top:8px;border:1px solid #d9d5e6;border-radius:13px;padding:13px;outline:0;line-height:1.45}.notes:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(102,84,232,.12)}.save-state{font-size:11px;color:var(--muted);margin-top:9px}.journey-footer{position:fixed;z-index:15;bottom:0;left:0;right:0;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-top:1px solid var(--line);height:78px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:25px}.progress-wrap{flex:1;text-align:center}.progress-label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.progress{height:5px;background:#e8e5f0;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--purple);transition:.3s}.primary,.secondary{border:0;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer}.primary{background:var(--purple);color:#fff}.secondary{background:#eeecf5;color:var(--purple-dark)}.full{width:100%;margin-top:15px}
.choice-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 14px;cursor:pointer}.chip.selected{background:var(--purple);color:#fff;border-color:var(--purple)}.guidance-banner{background:var(--purple-dark);color:#fff;border-radius:20px;padding:22px;margin:22px 0}.guidance-banner strong{font-family:"DM Serif Display";font-size:25px;font-weight:400}.guidance-banner p{color:#d7d2ee;margin:8px 0 0;line-height:1.5}.species-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:24px}.species{border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px;text-align:center;cursor:pointer}.species:hover,.species.selected{border-color:var(--violet);background:#f4f2ff}.species span{display:block;font-size:27px;margin-bottom:7px}.upload{border:2px dashed #cfc9e5;border-radius:18px;padding:25px;text-align:center;background:#faf9fd;color:var(--muted);cursor:pointer}.info-card{border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:14px}.risk{display:inline-block;padding:7px 10px;border-radius:99px;background:var(--warn);color:var(--warn-ink);font-size:11px;font-weight:800}.steps{display:grid;gap:12px;margin:25px 0}.step{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:15px}.step b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:var(--purple);color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.field{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--purple-dark)}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.option-list{display:grid;gap:10px;margin:22px 0}.option{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer}.option.selected{border-color:var(--violet);background:#f3f1ff}.toggle{margin-left:auto;width:40px;height:23px;border-radius:20px;background:#d8d5e1;padding:3px}.toggle::after{content:"";display:block;width:17px;height:17px;background:#fff;border-radius:50%;transition:.2s}.selected .toggle{background:var(--purple)}.selected .toggle::after{transform:translateX(17px)}.alert-card,.contact-card,.lesson{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:17px;margin-top:12px}.alert-card time{font-size:11px;color:var(--muted);white-space:nowrap}.contact-card button{margin-left:auto}.map{height:170px;border-radius:18px;background:linear-gradient(135deg,#d9e8d2,#f0ead0);position:relative;overflow:hidden;margin-top:20px}.map::before,.map::after{content:"";position:absolute;background:rgba(255,255,255,.65);transform:rotate(-15deg)}.map::before{width:500px;height:22px;top:65px;left:-30px}.map::after{width:22px;height:300px;left:54%;top:-60px}.pin{position:absolute;z-index:2;left:58%;top:50%;width:32px;height:32px;background:var(--purple);border:5px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 5px 15px #5555}.success{text-align:center;padding:45px 20px}.success-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--safe);color:var(--safe-ink);font-size:34px;margin:0 auto 18px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.summary-card{background:#f6f4fb;padding:17px;border-radius:15px}.summary-card small{color:var(--muted)}.rating{display:flex;gap:8px;margin:13px 0}.rating button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:white;cursor:pointer}.rating button.selected{background:var(--gold);border-color:var(--gold)}
@media(max-width:850px){.screen-shell{grid-template-columns:1fr}.screen-stage{min-height:auto}.evaluation-panel{position:static}.stage-inner{padding:35px 28px}.species-grid{grid-template-columns:repeat(2,1fr)}.journey-footer{height:72px}.progress-wrap{display:none}}
@media(max-width:540px){#app{padding:18px 13px 95px}.topbar{height:65px;padding:0 15px}.research-pill{display:none}.screen-stage{border-radius:22px}.stage-inner{padding:28px 20px}.stage-top{margin-bottom:25px}h1{font-size:39px}.hero-actions,.form-grid,.summary-grid{grid-template-columns:1fr}.action-card.urgent,.field.wide{grid-column:auto}.species-grid{grid-template-columns:1fr 1fr}.evaluation-panel{padding:20px}.journey-footer{padding:0 15px}.journey-footer button{padding:11px 13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.question::before{display:none}.question-title{font-weight:700;margin-bottom:10px}.answer-options{display:grid;gap:7px}.answer-option{display:flex;gap:8px;align-items:flex-start;padding:7px 8px;border:1px solid #ece9f3;border-radius:9px;cursor:pointer;color:var(--muted);font-size:12px}.answer-option:has(input:checked){border-color:var(--violet);background:#f2efff;color:var(--purple-dark)}.answer-option input{accent-color:var(--purple);margin-top:2px}.choice-hint{font-size:10px;color:var(--muted);font-weight:600;margin-left:5px}.word-guidance{float:right;color:var(--muted);font-weight:600}.note-meta{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.note-meta .save-state,.word-count{font-size:11px;color:var(--muted);margin:0}.word-count.valid{color:var(--safe-ink);font-weight:700}.word-count.over{color:var(--danger-ink);font-weight:700}.notes.invalid{border-color:#c65345}.rating{flex-wrap:wrap}.review-list{display:grid;gap:11px;margin:24px 0;max-height:430px;overflow:auto;padding-right:5px}.review-item{border:1px solid var(--line);border-radius:14px;padding:14px}.review-item h3{font-size:14px;color:var(--purple)}.review-item p{font-size:12px;color:var(--muted);margin:6px 0}.review-item strong{color:var(--ink)}.mail-note{font-size:12px;color:var(--muted);line-height:1.5}
.irb-menu-button{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #ddd8f0;background:#f7f5ff;color:var(--purple);padding:11px;border-radius:12px;text-align:left;cursor:pointer;margin-bottom:12px}.irb-menu-button small{display:block;color:var(--muted);margin-top:2px}.irb-onboarding{position:fixed;z-index:100;inset:0;background:linear-gradient(145deg,var(--purple-dark),#332585);padding:22px;display:grid;place-items:center;overflow:auto}.irb-onboarding.hidden{display:none}.irb-card{width:min(820px,100%);max-height:calc(100vh - 44px);background:#fff;border-radius:28px;box-shadow:0 30px 100px #0d092d99;display:flex;flex-direction:column;overflow:hidden}.irb-brand{display:flex;align-items:center;gap:10px;padding:22px 30px;border-bottom:1px solid var(--line);font-weight:800}.irb-approved{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);background:#efedff;border-radius:99px;padding:7px 10px}.irb-progress{padding:18px 30px 0;color:var(--muted);font-size:11px;font-weight:700}.irb-progress>div{height:4px;background:#ece9f4;border-radius:5px;margin-top:10px;overflow:hidden}.irb-progress>div span{display:block;height:100%;background:var(--gold);transition:.25s}.irb-content{padding:30px;overflow:auto}.irb-content h1{font-size:43px;margin-bottom:9px}.irb-content h2{font-size:27px;margin-top:25px}.irb-content p{font-size:16px;line-height:1.65;color:#444256}.irb-content .irb-context{color:var(--muted);font-style:italic;font-size:13px}.irb-content ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;padding:0;list-style:none}.irb-content li{background:#f7f5fc;border-radius:11px;padding:11px 13px;font-size:14px}.irb-content li::before{content:'✓';color:var(--purple);font-weight:800;margin-right:9px}.irb-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 30px;border-top:1px solid var(--line);background:#fbfaff}.irb-actions button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.irb-onboarding{padding:0}.irb-card{max-height:100vh;height:100vh;border-radius:0}.irb-brand{padding:15px 18px}.irb-approved{font-size:8px}.irb-progress{padding:15px 20px 0}.irb-content{padding:24px 20px}.irb-content h1{font-size:35px}.irb-content p{font-size:15px}.irb-content ul{grid-template-columns:1fr}.irb-actions{padding:14px 18px}}.primary-link{display:inline-block;text-decoration:none}.interview-next{margin-top:30px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#f2efff,#fff7d9);border:1px solid #ddd7f5}.interview-next p{color:var(--muted);line-height:1.55}.drawer .irb-menu-button{text-decoration:none}
