/* Rivertree Discovery — shared styles (brand matched to rivertreewealth.com) */
/* Brand type: TT Commons Pro (licensed files supplied by Rivertree), Latin subset */
@font-face{font-family:'TT Commons Pro';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/tt-commons-pro-400.woff2') format('woff2')}
@font-face{font-family:'TT Commons Pro';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/tt-commons-pro-500.woff2') format('woff2')}
@font-face{font-family:'TT Commons Pro';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/tt-commons-pro-600.woff2') format('woff2')}
@font-face{font-family:'TT Commons Pro';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/tt-commons-pro-700.woff2') format('woff2')}
:root{
  --ink:#292B25; --cream:#F9F6F3; --linen:#F2EEE7; --sand:#DCDDD1;
  --green:#547558; --forest:#193623; --muted:#585858; --white:#fff;
  --clay:#B07A4F; --mint:#E3EAE3;
  --font:'TT Commons Pro',system-ui,-apple-system,'Segoe UI',sans-serif;
  --radius:10px; color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
.wrap.wide{max-width:1120px}
.hidden{display:none!important}
a{color:var(--forest)}

/* header */
header.top{background:var(--white);border-bottom:1px solid var(--sand)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.logo{text-decoration:none;display:flex;align-items:center;gap:14px}
.logo img{height:32px;display:block}
.logo .wordmark{font-weight:600;font-size:22px;color:var(--forest);display:none}
.back{font-size:14px;color:var(--muted);text-decoration:none;font-weight:500}
.back:hover{color:var(--forest)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:1.5px solid var(--green);background:transparent;color:var(--green);padding:9px 16px;border-radius:999px;font-weight:600;font-size:14px;transition:background .15s,color .15s;text-decoration:none;display:inline-block}
.btn:hover{background:var(--green);color:var(--white)}
.btn.solid{background:var(--forest);border-color:var(--forest);color:var(--white)}
.btn.solid:hover{background:var(--green);border-color:var(--green)}
.btn.ghost{border-color:transparent;color:var(--muted)}
.btn.ghost:hover{background:var(--linen);color:var(--ink)}
.btn[disabled]{opacity:.6;cursor:wait}

/* intro */
.intro{padding-top:44px;padding-bottom:26px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0 0 10px}
.intro h1{font-size:clamp(32px,6vw,50px);line-height:1.05;letter-spacing:-.02em;margin:0 0 14px;font-weight:600;color:var(--forest)}
.rule{width:56px;height:3px;background:var(--green);margin-bottom:18px;border-radius:2px}
.intro p{max-width:660px;margin:0;font-size:17px}

/* panels & form */
.panel{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.panel h2{margin:0 0 4px;font-size:22px;font-weight:600;color:var(--forest)}
.panel .sub{margin:0 0 6px;color:var(--muted);font-size:15px}
.who{background:var(--linen)}
label.lbl,.q{display:block;font-weight:600;font-size:15.5px;margin:0 0 8px}
.hint{display:block;font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}
input[type=text],input[type=date],textarea{width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:8px;padding:10px 12px;font-size:16px}
input:focus,textarea:focus{border-color:var(--green);outline:none}
textarea{min-height:70px;resize:vertical}
textarea.long{min-height:110px}
.seg{display:inline-flex;border:1.5px solid var(--green);border-radius:999px;padding:3px;background:var(--white);flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:7px 16px;border-radius:999px;font-weight:600;font-size:14px;color:var(--green)}
.seg button[aria-pressed=true]{background:var(--green);color:var(--white)}
.row2{display:grid;grid-template-columns:1fr;gap:0 16px}
@media(min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.row2>div{margin-top:14px}

.item{padding:20px 0;border-top:1px solid var(--sand)}
.section-items .item:first-child{border-top:0;padding-top:12px}
.item.answered .q::after{content:' \2713';color:var(--green);font-weight:700}

/* progress + person tabs */
.sticky-bar{position:sticky;top:0;z-index:5;background:var(--cream);padding:10px 0;margin-bottom:6px}
.progress{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
.bar{flex:1;height:6px;background:var(--sand);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--green);width:0;transition:width .3s}
.person-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14px;color:var(--muted);flex-wrap:wrap}

/* spectrum & scale */
.spec-ends{display:flex;justify-content:space-between;gap:16px;font-size:14.5px;font-weight:600;margin-bottom:8px}
.spec-ends span:last-child{text-align:right}
.pips{display:grid;gap:5px}
.pips button{border:1.5px solid var(--sand);background:var(--white);border-radius:8px;height:40px;font-size:14px;font-weight:600;color:var(--muted);padding:0}
.pips button:hover{border-color:var(--green)}
.pips button.on{background:var(--green);border-color:var(--green);color:var(--white)}
.pips.spec button{border-radius:999px;height:34px}
.pips.spec button.on{box-shadow:0 0 0 3px var(--mint)}
.p2 .pips button.on{background:var(--clay);border-color:var(--clay)}
.p2 .pips.spec button.on{box-shadow:0 0 0 3px #F1E4D9}
.scale-ends{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:4px}

/* choice */
.choices{display:grid;gap:8px}
.choices button{text-align:left;border:1.5px solid var(--sand);background:var(--white);border-radius:8px;padding:11px 14px;font-size:15px}
.choices button:hover{border-color:var(--green)}
.choices button.on{border-color:var(--green);background:var(--mint);font-weight:600;color:var(--forest)}
.p2 .choices button.on{border-color:var(--clay);background:#F6ECE3;color:#6B4527}

/* cards (values sort) */
.cards{display:flex;flex-wrap:wrap;gap:8px}
.cards button{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:500}
.cards button:hover{border-color:var(--green)}
.cards button.on{background:var(--green);border-color:var(--green);color:var(--white);font-weight:600}
.p2 .cards button.on{background:var(--clay);border-color:var(--clay)}
.cards button.full{opacity:.45}
.picked{margin-top:16px;padding:14px;background:var(--linen);border-radius:8px}
.picked h4{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:600}
.picked ol{margin:0;padding:0;list-style:none;counter-reset:pk}
.picked li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--sand);counter-increment:pk}
.picked li:first-child{border-top:0}
.picked li::before{content:counter(pk);width:24px;height:24px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:12.5px;font-weight:700;flex:none}
.picked li.core::before{background:var(--forest);color:var(--white)}
.picked li span{flex:1;font-weight:600}
.picked .mini{border:1px solid var(--sand);background:var(--white);border-radius:6px;width:30px;height:30px;padding:0;font-size:14px;color:var(--muted)}
.picked .mini:hover{border-color:var(--green);color:var(--green)}
.picked .mini[disabled]{opacity:.3;cursor:default}

/* actions */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.save-note{font-size:14px;color:var(--muted);margin:14px 0 0}
.submit-box{margin-top:16px;padding:14px 16px;background:var(--linen);border-left:3px solid var(--green);border-radius:6px;font-size:15px}
.submit-box a{font-weight:600}

/* answers view (presenter + report) */
.answers h2.sec{font-size:21px;color:var(--forest);margin:30px 0 4px;font-weight:600}
.answers h2.sec:first-child{margin-top:0}
.a-item{padding:16px 0;border-top:1px solid var(--sand)}
.a-item .aq{font-weight:600;margin:0 0 8px}
.a-grid{display:grid;gap:12px;grid-template-columns:1fr}
.a-grid.two{grid-template-columns:1fr}
@media(min-width:700px){.a-grid.two{grid-template-columns:1fr 1fr}}
.a-who{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);margin-bottom:2px}
.a-who.p2c{color:var(--clay)}
.a-text{white-space:pre-wrap}
.a-empty{color:#9a9a92;font-style:italic}
.track{position:relative;height:30px;margin:6px 10px 2px}
.track::before{content:'';position:absolute;left:0;right:0;top:14px;height:3px;background:var(--sand);border-radius:2px}
.track .tick{position:absolute;top:10px;width:2px;height:11px;background:var(--sand);transform:translateX(-1px)}
.track .dot{position:absolute;top:3px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;transform:translateX(-13px);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.track .dot.p2d{background:var(--clay)}
.track-ends{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;color:var(--muted)}
.track-ends span:last-child{text-align:right}
.flag{display:inline-block;margin-left:8px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#F6ECE3;color:#8A5A33;border-radius:999px;padding:2px 9px;vertical-align:2px}
.rank-list{margin:0;padding-left:20px}
.rank-list li.core{font-weight:600}
.shared{background:var(--mint);border-radius:4px;padding:0 4px}
.diff-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}

/* presenter */
body.presenter header.top .toolbar>:not(.exit-presenter){display:none}
.exit-presenter{display:none!important}
body.presenter .exit-presenter{display:inline-block!important}
body.presenter main>.intro, body.presenter #formArea, body.presenter footer{display:none}
#presentArea{display:none}
body.presenter #presentArea{display:block;padding:28px 0 60px}
body.presenter .answers{font-size:19px}
body.presenter .answers .aq{font-size:20px}
body.presenter .wrap{max-width:1100px}

/* report overlay */
#report{position:fixed;inset:0;background:rgba(25,54,35,.45);z-index:50;overflow:auto;padding:24px 12px}
#report .sheet{background:var(--white);max-width:860px;margin:0 auto;border-radius:var(--radius);padding:36px 32px}
#report .sheet-bar{display:flex;justify-content:flex-end;gap:8px;max-width:860px;margin:0 auto 10px;flex-wrap:wrap}
#report .sheet-bar .btn:not(.solid){background:var(--white)}
.rpt h1{font-size:30px;margin:0 0 4px;color:var(--forest);font-weight:600}
.rpt .meta{color:var(--muted);margin:0 0 20px}
@media print{
  @page{margin:14mm}
  body>*:not(#report){display:none!important}
  #report{position:static;background:none;padding:0}
  #report .sheet-bar{display:none}
  #report .sheet{padding:0;max-width:none}
  .a-item{break-inside:avoid}
}

/* footer */
footer{background:var(--forest);color:#DCE3DC;padding:30px 0;font-size:14px;margin-top:20px}
footer a{color:var(--white)}
footer .disc{opacity:.75;font-size:12.5px;max-width:680px;margin-top:6px}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--forest);color:var(--white);padding:10px 18px;border-radius:999px;font-size:14px;z-index:60;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw;text-align:center}
.toast.show{opacity:1}
