/* v9: the printed fieldbook extends into every control. Live text and SVG icons remain native. */
:root{--ui-radius:3px;--ui-border:#cdd9bf;--ui-focus:#8ba8ef;--ui-blue-hover:#093fc4;--ui-paper:url('assets/ui-paper-strip-v9.web.webp');--ui-ink:url('assets/ui-cobalt-ink-v9.web.webp')}
.site-header{background:#fafbf6f5;border-bottom-color:#d6dfcc}
.brand-symbol{padding:4px;background:#fff;border:1px solid #d4dfc6;box-shadow:2px 2px 0 #e1ead5;box-sizing:content-box}
.brand:hover .brand-symbol{border-color:#a7ba8c;filter:none}
.brand small{color:#6a785e}
.site-header nav>a{border-radius:2px;font-weight:600;letter-spacing:.2px}
.site-header nav>a[aria-current=location]{color:#284129;background:#eaf0df}
.site-header nav>a[aria-current=location]:after{width:22px;height:3px;border-radius:0;background:var(--field-blue);bottom:4px}
.button{background-color:#114ee8;background-image:var(--ui-ink);background-size:360px auto;background-blend-mode:soft-light;border-radius:3px;border-color:#0c3fb6;box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #0b359d,0 6px 12px #1936a514;gap:22px}
.button>.ui-icon{background:#ffffff10;border:1px solid #ffffff38;border-radius:2px;transition:transform var(--ui-motion),color var(--ui-motion),background var(--ui-motion)}
.button:hover{background-color:#093fc4;background-image:var(--ui-ink);box-shadow:inset 0 1px 0 #ffffff24,0 4px 0 #082b8a,0 8px 17px #153b9520;transform:translateY(-1px)}
.button:hover>.ui-icon{background:var(--field-lime);color:#174636;border-color:var(--field-lime);transform:translate(1px,-1px)}
.button:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #09266a2b,0 1px 0 #092b91}
.button.light{background:#f7fbed var(--ui-paper) center/100% 100% no-repeat;color:#18392c;background-blend-mode:normal;border-color:#dae8c4;box-shadow:inset 0 1px 0 white,0 3px 0 #c3d4a6,0 6px 15px #062a7430}
.button.light:hover{background-color:white;background-image:var(--ui-paper);border-color:#e9f6d7;box-shadow:0 4px 0 #c3d4a6,0 8px 20px #062a7440}
.button.light>.ui-icon{background:#d7fa73;border-color:#c1e461;color:#29432c}
.icon-button,.gallery-controls button,.dialog-close{border-radius:3px;background:#fafcf5 var(--ui-paper) center/100% 100% no-repeat;box-shadow:0 2px 0 #dce5d1,0 3px 5px #1a36110a;color:#436131;border-color:#cbd8bb}
.icon-button:hover,.gallery-controls button:hover,.dialog-close:hover{background-color:#edf3ff;background-image:var(--ui-paper);border-color:#91aaf0;color:var(--blue);box-shadow:0 2px 0 #b9caeb,0 4px 9px #16387210}
.gallery-controls button:disabled{background:transparent;box-shadow:none;border-color:#d9e1d1;color:#a6b29a}
.text-link{font-weight:600;gap:13px}
.text-link>.ui-icon{width:25px;height:25px;padding:5px;border:1px solid #bdceaa;border-radius:50%;color:#43632e;background:#f6faee;transition:transform var(--ui-motion),color var(--ui-motion),border-color var(--ui-motion),background var(--ui-motion)}
.text-link:hover>.ui-icon{color:white;background:var(--blue);border-color:var(--blue);transform:translate(2px,-1px)}
.atlas-copy .text-link>.ui-icon{color:var(--lime);border-color:#d7fa7360;background:#0c40bb70}
.atlas-copy .text-link:hover>.ui-icon{color:#243d23;background:var(--lime);border-color:var(--lime)}
.poster-thumb>span{background:#fbfcf6 var(--ui-paper) center/100% 100% no-repeat;border-radius:2px;box-shadow:0 2px 0 #d1dcc6}
.mentor-choice[aria-pressed=true]>.ui-icon{background:#114ee8 var(--ui-ink) center/120px auto;border-radius:50%;box-shadow:0 2px 0 #092d9d}
.gallery-meter{font-family:ui-monospace,SFMono-Regular,monospace;color:#56733e;font-size:9px;padding:7px 8px;background:#fcfdf7;border:1px solid #d6e1c9;min-width:57px;border-radius:2px}
.gallery-progress{height:3px;border-radius:0;background:#d5dfc8}
.gallery-progress>span{background:#114ee8 var(--ui-ink) center/360px auto}
.plan-tabs button{background:#f6f9ee;background-image:var(--ui-paper);background-size:100% 100%;background-repeat:no-repeat}
.plan-tabs button[aria-selected=true]{background:#114ee8 var(--ui-ink) center/380px auto;box-shadow:inset 0 1px 0 #ffffff35}
.plan-tabs button[aria-selected=true]:after{content:"";position:absolute;top:0;right:0;width:18px;height:18px;background:linear-gradient(45deg,#0a379c 0 50%,var(--lime) 50% 100%);pointer-events:none}
.plan-tab-state{border-radius:2px;width:21px;height:21px}
.plan-tabs button[aria-selected=true] .plan-tab-state{background:#d7fa73;color:#244031;border-color:#d7fa73}
.plan-panel{position:relative;border-top:0}
.plan-label{display:inline-flex;align-items:center;gap:9px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}
.plan-label:before{content:"";width:7px;height:7px;background:var(--blue);box-shadow:2px 2px 0 #d7fa73}
.rate-details>summary{background:#eff5e5;letter-spacing:.2px}
.rate-details[open]>summary{border-bottom:1px solid #d6e0c8;margin-bottom:24px}
.rate-details>summary .ui-icon{border-radius:2px;background:#fcfdf7;box-shadow:0 2px 0 #d4dfc5}
.rates{padding-bottom:5px}
.rates strong{font-variant-numeric:tabular-nums}
.experiment-stage{background:#eef3e5;background-image:linear-gradient(#bac9a61a 1px,transparent 1px),linear-gradient(90deg,#bac9a61a 1px,transparent 1px);background-size:24px 24px}
.experiment-top{font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;letter-spacing:.2px}
.live-label{border-radius:1px;color:#42622b;background:#d7fa7340;border-color:#bfd996}
.experiment-controls{background:#fcfdf8}
.experiment-controls output{border-radius:2px;color:var(--blue);background:white;box-shadow:0 2px 0 #e3e9db;font-variant-numeric:tabular-nums}
.experiment-controls input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:0}
.experiment-controls input[type=range]::-webkit-slider-thumb{width:20px;height:20px;border-radius:3px;border:4px solid #fbfcf7;background:#114ee8;margin-top:-8px;box-shadow:0 0 0 1px #9eaf8b,0 2px 0 #b6c6a3}
.experiment-controls input[type=range]::-moz-range-thumb{border-radius:3px}
#demo-reset{background:#f7f9ef var(--ui-paper) center/100% 100%;border-radius:3px}
.faqs summary>.ui-icon{border-radius:2px;background:#fafcf5;box-shadow:0 2px 0 #e0e8d5}
.faqs details[open] summary>.ui-icon{background:#d7fa73;border-color:#c3df8b;color:#355e24;box-shadow:none}
.qr-card>a{border-radius:2px;background:#f5faeb var(--ui-paper) center/100% 100%;border-color:#cddbb9;box-shadow:0 2px 0 #dce7cc}
.qr-card>a:hover{border-color:#96b07b;background-color:#eef5e4}
dialog{border-radius:4px;border:1px solid #cfdabb;box-shadow:0 25px 100px #091d3840}
dialog::backdrop{background:#0d221d78;backdrop-filter:blur(6px)}
.consult-dialog{background:#fafbf5;border-top:4px solid #114ee8;isolation:isolate}
.consult-dialog:before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/paper-material-v7.web.webp') center/cover;opacity:.19;pointer-events:none}
.consult-dialog:after{content:"";position:absolute;left:14px;bottom:14px;width:17px;height:17px;border-left:1px solid #9daf85;border-bottom:1px solid #9daf85;pointer-events:none}
.consult-dialog>.dialog-close{border-radius:2px;background:#f6faef var(--ui-paper) center/100% 100%;box-shadow:0 2px 0 #dae4cc}
.consult-grid .eyebrow{font-size:10px;color:#58793b;letter-spacing:1px}
.consult-grid h2{font-weight:750;letter-spacing:-1px;line-height:1.4;color:#173a2b}
.consult-grid label{font-weight:600;color:#4d653d}
.consult-grid textarea{border-radius:2px;background:#ffffffb0;border-color:#c4d2b1;border-bottom:2px solid #c4d2b1}
.consult-grid textarea:focus{background:white;border-color:#8aa7ee;box-shadow:0 0 0 3px #114ee810}
.consult-qr>img{border-radius:1px;padding:13px;border-color:#d2dfc0;box-shadow:3px 4px 0 #e4ecd8}
.poster-dialog{border-radius:3px}
.poster-toolbar{background:#fbfcf5;border-bottom-color:#ccdaba}
.poster-toolbar>a{background:#f7faef var(--ui-paper) center/100% 100%;border-radius:2px;border-color:#cbdab6;box-shadow:0 2px 0 #dae5cd}
@media(max-width:960px){.site-header nav{background:#fafbf4;border-bottom:3px solid #114ee8;background-image:url('assets/paper-material-v7.web.webp');background-size:cover}.site-header nav>a[aria-current=location]:after{width:3px;height:20px;left:4px;bottom:auto}.site-header nav>a{border-radius:2px}.mobile-nav-note{font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;letter-spacing:.25px}.site-header.menu-open .menu-toggle{background-color:#eaf2dd;border-color:#aec292}}
@media(max-width:600px){.brand-symbol{padding:2px;box-shadow:1px 2px 0 #e1ead5}.hero-actions .text-link>.ui-icon{width:23px;height:23px;padding:5px}.gallery-meter{min-width:43px;padding:6px 5px;font-size:8px;margin-right:1px}.text-link>.ui-icon{width:23px;height:23px;padding:5px}.consult-dialog{border-radius:3px;padding-top:44px}.rate-details[open]>summary{margin-bottom:20px}.plan-tabs button[aria-selected=true]:after{width:14px;height:14px}}
@media(max-width:360px){.brand-symbol{padding:1px}.header-actions .button{gap:5px}.hero-actions .text-link{gap:6px}.gallery-meter{min-width:34px;padding:5px 3px;font-size:7px}.text-link>.ui-icon,.hero-actions .text-link>.ui-icon{width:20px;height:20px;padding:4px}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:active,.text-link:hover>.ui-icon{transform:none!important}}
/* Align snap targets with the paper-frame gutter, including the first poster. */
.mentor-gallery{scroll-padding-inline:8px}
@media(max-width:600px){.mentor-gallery{scroll-padding-inline:7px 22px}}
@media(max-width:360px){.mentor-gallery{scroll-padding-right:18px}}
/* Text contrast changes together with the printed selected face. */
.plan-tabs button{transition:box-shadow var(--ui-motion),border-color var(--ui-motion)}
.plan-tabs button[aria-selected=true]{color:white}
