/*
 * steps.css  -  Step-specific + hierarchical criteria UI
 */

.crit-group{border:1px solid var(--border);border-radius:var(--rl);margin-bottom:10px;overflow:hidden;background:var(--surface);}
.crit-group-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bg2);border-bottom:1px solid var(--border2);cursor:pointer;}
.crit-group-head:hover{background:var(--bg3);}
.crit-group-toggle{font-size:12px;color:var(--ink3);width:16px;text-align:center;flex-shrink:0;transition:transform .2s;}
.crit-group-toggle.open{transform:rotate(90deg);}
.crit-group-name{flex:1;font-size:13px;font-weight:600;color:var(--ink);}
.crit-group-actions{display:flex;gap:4px;align-items:center;}
.crit-sub-list{padding:8px 12px 8px 28px;}
.crit-sub-row{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--border2);}
.crit-sub-row:last-child{border-bottom:none;}
.crit-sub-name{flex:1;font-size:12px;color:var(--ink2);}
.sub-add-row{display:flex;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border2);}
.inline-edit{border:1px solid var(--border);border-radius:var(--r);padding:4px 8px;font-size:12px;background:var(--bg);color:var(--ink);flex:1;}
.inline-edit:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.inline-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.inline-edit:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-l);}
.no-crits{font-family:var(--font-mono);font-size:13px;color:var(--ink4);padding:8px 0;text-align:center;}

/* ── Landing page (minimal, same style) ── */
.landing-page{min-height:100vh;}
.hero{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem 3rem;position:relative;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);}
.hero-eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px;margin-bottom:1.5rem;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--accent-glow);animation:pulseRing 2s infinite;}
@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(43,127,212,.35);}70%{box-shadow:0 0 0 14px rgba(43,127,212,0);}100%{box-shadow:0 0 0 0 rgba(43,127,212,0);}}
.hero h1{font-size:clamp(56px,8vw,100px);font-weight:700;letter-spacing:.04em;line-height:.95;margin-bottom:1rem;color:var(--ink);}
.hero h1 .accent{color:var(--accent);}
.hero-sub{font-family:var(--font-mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);margin-bottom:1.5rem;}
.lead{font-size:16px;color:var(--ink2);max-width:600px;line-height:1.7;margin-bottom:2.5rem;}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.start-btn{padding:14px 28px;border-radius:var(--r);background:var(--accent);color:#fff;border:none;font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;box-shadow:var(--accent-glow);}
.start-btn:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(43,127,212,.3);}
.start-btn.ghost{background:transparent;color:var(--ink2);border:1px solid var(--border);}
.start-btn.ghost:hover{background:var(--surface2);color:var(--ink);border-color:var(--border-acc);}
.arrow{transition:transform .2s;}
.start-btn:hover .arrow{transform:translateX(4px);}
.landing-footer{border-top:1px solid var(--border);padding:2rem 1.5rem;text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--ink3);letter-spacing:.06em;background:var(--bg2);}
.landing-footer .accent{color:var(--accent);}


/* Landing page fixes */
.hero{padding-bottom:7rem !important;}
.hero-cta-row{margin-bottom:3rem !important;position:relative;z-index:2;}
.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:1;}
.start-btn.ghost{
 background:#ffffff !important;
 color:var(--ink) !important;
 border:1px solid var(--border) !important;
}
.start-btn.ghost:hover,
.start-btn.ghost:focus{
 background:var(--accent) !important;
 color:#fff !important;
 border-color:var(--accent) !important;
}

/* Criteria add button same style as remove button */
.edit-btn{
 width:22px;
 height:22px;
 border-radius:50%;
 border:1px solid var(--border);
 background:var(--surface);
 color:var(--ink3);
 cursor:pointer;
 font-size:12px;
 display:grid;
 place-items:center;
 transition:var(--transition);
 flex-shrink:0;
 font-family:var(--font-mono);
}
.edit-btn:hover{
 background:var(--accent-l);
 border-color:var(--accent);
 color:var(--accent);
}


/* UCD logo responsive header fix */
.hdr-left{
    display:flex !important;
    align-items:center !important;
    gap:18px !important;
}

.hdr-logo,
.hdr-logo-wrapper{
    background:none !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    width:auto !important;
    height:auto !important;
    min-width:auto !important;
}

.hdr-logo-img{
    display:block !important;
    width:auto !important;
    height:clamp(50px, 7vh, 80px) !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    flex-shrink:0 !important;
}

.hdr-left > div:last-child{
    flex:1 !important;
    min-width:0 !important;
}
