/* Concept 01: Unchained. Shared public and member visual language. */
:root { --paper:#f5f4ed;--card:#fffef9;--ink:#152e39;--muted:#4c626c;--line:#c3d0d3;--action:#152e39;--action-text:#fffef9;--soft:#eaf0d8;--optional:#4c626c;--lime:#d5ee78;--radius:10px; }
:root[data-theme="dark"] { --paper:#14242c;--card:#1c333f;--ink:#edf3ef;--muted:#c1d0d5;--line:#506a76;--action:#d5ee78;--action-text:#152e39;--soft:#2c4137;--optional:#c1d0d5; }
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#14242c;--card:#1c333f;--ink:#edf3ef;--muted:#c1d0d5;--line:#506a76;--action:#d5ee78;--action-text:#152e39;--soft:#2c4137;--optional:#c1d0d5;}}
.welcome { max-width:1440px; }
.hero-copy h1 { font-size:clamp(54px,6.6vw,94px);letter-spacing:-.065em;line-height:1; }
.hero-copy h1 span { color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:.12em;text-underline-offset:.07em; }
.hero-copy .eyebrow { max-width:430px;font-size:11px; }
.hero-copy .btnrow { align-items:center;gap:22px; }
.hero-copy .btnrow .btn { flex:0 1 auto; }
.hero-copy .btn.primary { background:var(--action);color:var(--action-text);border-color:var(--action); }
.unchained-poster { margin:0;position:relative;isolation:isolate;align-self:center;min-height:470px;background:#fffef9;color:#152e39;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #c3d0d3;border-radius:4px 44px 4px 4px;box-shadow:12px 12px 0 #d5ee78;transform:rotate(1deg);overflow:hidden; }
.unchained-poster img { position:absolute;inset:20% 0 0;width:100%;height:72%;object-fit:contain;z-index:-1; }
.unchained-poster .eyebrow { font-size:11px;max-width:210px; }
.unchained-poster figcaption { background:#152e39;color:#fffef9;align-self:flex-start;font-weight:850;font-size:clamp(25px,2.6vw,39px);line-height:1.08;letter-spacing:-.035em;padding:18px 22px;margin-top:230px; }
.poster-stamp { align-self:flex-end;margin-top:20px;font-size:9px;font-weight:850;letter-spacing:.12em;background:#d5ee78;border:1px solid #152e39;padding:8px 10px;transform:rotate(-5deg); }
.belief-strip { font-weight:750; }
.how-list { display:grid;grid-template-columns:1fr 1fr;gap:12px 30px; }
.how-list li { display:block; }
.how-list li>span { display:block;margin-bottom:12px; }
.how-list h3 { font-size:20px; }
.connection-note { border-left-color:#a5c649; }
.take-guide { display:flex;align-items:center;justify-content:space-between;gap:28px;margin:40px clamp(20px,5vw,80px);padding:30px;border:1px solid var(--line);background:var(--card);border-radius:10px; }
.take-guide h2 { font-size:30px;font-weight:850;letter-spacing:-.04em; }
.take-guide p:last-child { margin-bottom:0;color:var(--muted); }
.take-guide>.btn { flex-shrink:0; }
.btn { text-decoration:none; }
.app .topbar { padding-inline:max(20px,calc((100vw - 1200px)/2)); }
.app .brand h1 { font-weight:850;letter-spacing:-.035em; }
.app .header-tools>.btn[aria-current="page"] { background:var(--lime);color:#152e39; }
.bottomnav button[aria-current="page"] { box-shadow:inset 0 3px 0 #a5c649;font-weight:750;background:var(--soft); }
.app[data-view="schedule"] .main { max-width:1160px; }
.schedule-masthead { display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 28px; }
.schedule-welcome { display:block;margin:0; }
.schedule-welcome>span { font-size:10px;letter-spacing:.14em; }
.schedule-welcome h2 { font-size:clamp(30px,4vw,46px);font-weight:850;letter-spacing:-.045em;margin:8px 0 14px; }
.schedule-masthead .bucket-control { margin:0;flex-shrink:0;box-shadow:5px 5px 0 #d5ee78; }
.schedule-layout { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;margin-top:22px; }
.schedule-timeline,.schedule-goals { min-width:0; }
.schedule-goals { position:sticky;top:98px; }
.schedule-goal { padding:12px 0;border-top:1px solid var(--line); }
.schedule-goal small { font-size:12px; }
.schedule-goals .eyebrow { font-size:10px;margin-bottom:10px; }
.schedule-timeline>.block,.schedule-goals .card { background:rgb(255 254 249 / .67);border-color:#b2c1c7;box-shadow:0 2px 8px #152e3906; }
.schedule-timeline>.block { padding:18px 16px; }
.schedule-timeline>.block .check { border-color:#607b85; }
.schedule-timeline>.block.sleep { background:rgb(255 254 249 / .35); }
.schedule-timeline>.block.optional { border-style:dashed;border-color:#78983c; }
.schedule-timeline>.block.optional .title { color:#334c27; }
.plan-note { background:rgb(245 248 231 / .92);border-left:4px solid #a5c649;padding:20px;color:#152e39; }
.plan-note p,.plan-note a { font-size:13px;color:#3d5660; }
.plan-note h3 { font-size:19px; }
.app[data-view="build"] .main { max-width:1080px; }
.app[data-view="build"] .builder-hero { background:transparent;color:var(--ink);padding:30px 0 20px;border-bottom:1px solid var(--line);border-radius:0; }
.app[data-view="build"] .builder-hero h2 { font-size:clamp(32px,4.6vw,58px);letter-spacing:-.055em; }
.app[data-view="build"] .builder-hero h2 span { color:var(--ink); }
.app[data-view="build"] .builder-hero a { color:var(--action); }
.builder-layout { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:28px;align-items:start; }
.build-steps { margin:22px 0; }
.build-steps>li { border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:16px;padding:24px; }
.build-steps h3 { font-size:21px; }
.step-number { background:#d5ee78;color:#152e39; }
.builder-layout>.builder-note { margin-top:22px;position:sticky;top:100px;border:0;background:#d5ee78;color:#152e39;border-radius:4px 26px 4px 4px;padding:28px; }
.builder-layout>.builder-note h3 { font-size:35px;letter-spacing:-.045em;font-weight:850;line-height:1.05;margin:20px 0; }
.builder-layout>.builder-note .note { color:#3a522a;font-size:13px;margin-top:18px; }
.builder-layout>.builder-note .btn { background:#fffef9;color:#152e39;border-color:#8b9c6c;font-size:14px; }
.guide-intro { border-bottom:5px solid #d5ee78;padding-bottom:28px; }
.public-sample { max-width:1020px;margin:auto;padding:40px 20px 70px; }
.public-sample h1 { font-size:clamp(34px,5vw,62px);font-weight:900;letter-spacing:-.055em;line-height:1.02; }
.sample-intro { max-width:720px;margin:18px 0 24px;color:var(--muted); }
.public-sample-board { position:relative;isolation:isolate;margin-top:28px;border:1px solid var(--line);padding:22px;border-radius:12px;overflow:hidden; }
.public-sample-board::before { content:"";position:absolute;inset:0;background:url('./assets/rlm-dogs-watermark.jpg') center 24% / 100% auto no-repeat;mix-blend-mode:multiply;z-index:-1;pointer-events:none; }
.public-sample-board .sample-row { background:rgb(255 254 249 / .60);grid-template-columns:190px 1fr;padding:18px; }
.public-sample-board .sample-row:last-child { border:0; }
.public-sample-board .sample-row>span:first-child { font-weight:700;font-size:14px; }
.public-sample-board .sample-row b { font-size:18px; }
.sample-callout { margin:22px 0;padding:22px;background:var(--soft);border-left:4px solid #a5c649;border-radius:0 10px 10px 0; }
.pdf-link { margin-top:14px; }
:root[data-theme="dark"] .schedule-timeline>.block,:root[data-theme="dark"] .schedule-goals .card,:root[data-theme="dark"] .public-sample-board .sample-row { background:rgb(25 43 53 / .78);border-color:#69808b; }
:root[data-theme="dark"] .schedule-timeline>.block.optional .title { color:#d5ee78; }
:root[data-theme="dark"] .public-sample-board::before { filter:invert(1) grayscale(1);mix-blend-mode:screen;opacity:.65; }
@media(prefers-color-scheme:dark){
 :root:not([data-theme="light"]) .app:is([data-view="schedule"],[data-view="sample"]) { --muted:#d3e0e5;--optional:#d3e0e5; }
 :root:not([data-theme="light"]) .app:is([data-view="schedule"],[data-view="sample"])::before,:root:not([data-theme="light"]) .public-sample-board::before {filter:invert(1) grayscale(1);mix-blend-mode:screen;opacity:.55;}
 :root:not([data-theme="light"]) .schedule-timeline>.block,:root:not([data-theme="light"]) .schedule-goals .card,:root:not([data-theme="light"]) .public-sample-board .sample-row {background:rgb(25 43 53 / .78);border-color:#69808b;}
 :root:not([data-theme="light"]) .schedule-timeline>.block.optional .title {color:#d5ee78;}
 :root:not([data-theme="light"]) .app:is([data-view="schedule"],[data-view="sample"]) .main>.card {background:rgb(25 43 53 / .78);}
 :root:not([data-theme="light"]) .app:is([data-view="schedule"],[data-view="sample"]) .main>.note {background:rgb(23 37 44 / .84);}
}
@media(max-width:860px){.schedule-layout {grid-template-columns:minmax(0,1fr) 260px;gap:16px;}.schedule-timeline>.block .time {width:72px;}.builder-layout {grid-template-columns:1fr;}.builder-layout>.builder-note {position:static;margin-top:0;}.take-guide {align-items:flex-start;flex-direction:column;}}
@media(max-width:740px){
 .hero-copy h1 {font-size:clamp(52px,11vw,80px);}.unchained-poster {min-height:405px;margin-right:12px;transform:none;}.unchained-poster figcaption {margin-top:195px;}.hero-copy .btnrow {align-items:flex-start;flex-direction:column;gap:10px;}.how-list {gap:0 20px;}.schedule-layout {grid-template-columns:1fr;}.schedule-goals {position:static;}.schedule-masthead {gap:12px;align-items:flex-start;}.schedule-masthead .bucket-control {padding:10px;gap:8px;max-width:190px;box-shadow:3px 3px 0 #d5ee78;}.schedule-masthead .bucket-art {width:40px;height:48px;}.schedule-masthead .bucket-control small {font-size:10px;}.schedule-masthead .bucket-control>span:last-child>b {font-size:9px;}.schedule-welcome h2 {font-size:30px;}.schedule-welcome>span {font-size:9px;}.public-sample-board {padding:10px;}.public-sample-board .sample-row {grid-template-columns:1fr;gap:6px;padding:16px;}.public-sample-board::before {background-size:650px auto;background-position:52% 8%;}.take-guide {padding:22px;}.take-guide>.btn {max-width:100%;}.build-steps>li {padding:20px;gap:13px;}
}
@media(max-width:420px){.how-list {grid-template-columns:1fr;}.schedule-masthead {flex-wrap:wrap;}.schedule-welcome {flex:1 1 100%;}.schedule-masthead .bucket-control {margin-left:auto;max-width:none;}.schedule-masthead .bucket-control>span:last-child>b {font-size:11px;}.schedule-masthead .bucket-control small {font-size:12px;}.app .topbar {padding-inline:16px;}}
@media print, (forced-colors:active){.public-sample-board::before {display:none;}.schedule-timeline>.block,.schedule-goals .card,.public-sample-board .sample-row {background:var(--card);}.schedule-layout,.builder-layout {display:block;}.schedule-goals,.builder-layout>.builder-note {position:static;}}
