/* AGRI GX TERMINAL v6 — six-player, action-first interface */

:root {
  --action:#0b654d;
  --action-dark:#073d30;
  --action-soft:#e5f3ed;
  --display:#f2f4ef;
  --display-line:#d5dbd2;
  --focus:#f5bd43;
}

/* Language switches show one interface language at a time. Official catalog
   names rendered from MAFF data intentionally remain Japanese. */
body[data-lang="ja"] .lang-en { display:none!important; }
body[data-lang="en"] .lang-ja { display:none!important; }

button, select, input, label[for], a { -webkit-tap-highlight-color:transparent; }
button:not(:disabled), select, input[type="checkbox"], input[type="range"], input[type="file"] { cursor:pointer; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, summary:focus-visible { outline:3px solid var(--focus)!important; outline-offset:3px; }
button:disabled { cursor:not-allowed; opacity:.55; }

/* Current role is one clear control, not a row of tiny chips. */
.role-switcher { justify-content:center; padding:7px 14px; }
.current-role-button { width:min(100%,520px); min-height:48px; display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:11px; border:2px solid #c8d8d0; border-radius:11px; background:#fff; color:var(--deep); padding:5px 8px 5px 11px; text-align:left; box-shadow:0 2px 8px rgba(8,50,37,.06); }
.current-role-button:hover { border-color:var(--action); background:#f7fbf9; transform:translateY(-1px); }
.current-role-button>.ui-icon { width:28px; height:28px; color:var(--action); }
.current-role-button>span { min-width:0; }
.current-role-button small,.current-role-button b { display:block; }
.current-role-button small { color:#68766f; font-size:12px; font-weight:900; letter-spacing:.13em; }
.current-role-button b { margin-top:2px; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.current-role-button em { display:flex; align-items:center; gap:6px; border-radius:7px; background:var(--action); color:#fff; padding:9px 11px; font-size:13px; font-style:normal; font-weight:900; white-space:nowrap; }

/* First gate: six illustrated players. */
.onboarding-dialog { width:min(1220px,97vw); max-height:96vh; }
.onboarding-shell { min-height:min(780px,94vh); overflow-x:hidden; overflow-y:auto; }
.onboarding-step { padding:26px 42px 30px; }
.onboarding-step>h2 { max-width:900px; margin-bottom:8px; font-size:clamp(32px,4vw,54px); }
.onboarding-step>p:not(.terminal-kicker) { max-width:960px; font-size:13px; line-height:1.85; }
.onboarding-choice-help { display:flex; align-items:center; gap:13px; margin:18px 0 13px; color:#4e5e56; font-size:14px; font-weight:800; }
.onboarding-choice-help span { display:flex; align-items:center; gap:7px; }
.onboarding-choice-help i { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:#e1ece6; color:var(--action); font-style:normal; }
.onboarding-choice-help>b { color:#91a199; }
.onboarding-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:0; }
.onboarding-roles button { min-height:218px; position:relative; display:grid; grid-template-columns:1fr; grid-template-rows:84px auto 34px; gap:8px; padding:13px; border:2px solid #d2d9d3; border-radius:15px; background:#fff; color:var(--ink); text-align:left; overflow:hidden; cursor:pointer; box-shadow:0 3px 12px rgba(9,45,34,.05); }
.onboarding-roles button:hover { border-color:var(--action); transform:translateY(-2px); box-shadow:0 10px 25px rgba(9,68,50,.12); }
.onboarding-roles button.selected { border-color:var(--action); box-shadow:0 0 0 3px #cce8dc,0 10px 24px rgba(9,68,50,.12); background:#f7fcf9; }
.role-choice-number { position:absolute; top:10px; left:10px; z-index:2; min-width:31px; height:25px; display:grid; place-items:center; border-radius:6px; background:rgba(255,255,255,.92); color:#52635a; font-size:13px; font-weight:900; }
.role-choice-visual { height:84px; border-radius:10px; display:block; overflow:hidden; background:#edf4ee; }
.role-choice-visual svg { width:100%; height:100%; display:block; }
.choice-sun { fill:#f6c755; }
.choice-land { fill:#b6d5a2; }
.choice-icon { fill:none; stroke:#0b5c45; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.choice-line { fill:none; stroke:#6b9d78; stroke-width:2; stroke-linecap:round; }
.role-choice-technology .role-choice-visual,.role-choice-technology { --role-color:#176f82; }
.role-choice-food-company .role-choice-visual,.role-choice-food-company { --role-color:#9a5d24; }
.role-choice-investor .role-choice-visual,.role-choice-investor { --role-color:#6953a3; }
.role-choice-finance .role-choice-visual,.role-choice-finance { --role-color:#315e95; }
.role-choice-region .role-choice-visual,.role-choice-region { --role-color:#467c38; }
.role-choice-technology .choice-icon,.role-choice-food-company .choice-icon,.role-choice-investor .choice-icon,.role-choice-finance .choice-icon,.role-choice-region .choice-icon { stroke:var(--role-color); }
.role-choice-copy { display:block; padding:0 3px; }
.role-choice-copy b,.role-choice-copy small,.role-choice-copy em { display:block; }
.role-choice-copy b { font-size:14px; line-height:1.45; }
.role-choice-copy small { min-height:34px; margin-top:4px; color:#475951; font-size:14px; line-height:1.55; }
.role-choice-copy em { margin-top:5px; color:#77857e; font-size:12px; font-style:normal; }
.role-choice-action { display:flex; align-items:center; justify-content:space-between; align-self:end; min-height:34px; border:2px solid var(--action); border-radius:8px; background:#fff; color:var(--action); padding:0 11px; font-size:13px; font-weight:900; letter-spacing:.04em; }
.onboarding-roles button.selected .role-choice-action { background:var(--action); color:#fff; }
.onboarding-shell>footer .primary-button:disabled { background:#cfd6d2; border-color:#cfd6d2; color:#65736c; }
.onboarding-scope label { position:relative; border:2px solid #d7e4dd; background:#f7fbf9; padding:17px 14px 13px; border-radius:12px; color:#314a3e; font-size:14px; }
.onboarding-scope label:focus-within { border-color:var(--action); box-shadow:0 0 0 3px #d9eee5; }
.onboarding-scope select,.onboarding-scope input { font-size:13px; border:1px solid #9eb5aa; }
.onboarding-dialog .lang-en { display:none!important; }
body[data-lang="en"] .onboarding-dialog .lang-ja { display:none!important; }
body[data-lang="en"] .onboarding-dialog .lang-en { display:inline!important; }
.onboarding-purpose { padding-top:18px; }
.onboarding-purpose-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr); align-items:center; gap:28px; }
.onboarding-purpose-copy>p:not(.terminal-kicker) { max-width:780px; margin:10px 0 0; color:#53635b; font-size:13px; line-height:1.85; }
.onboarding-purpose-copy h2 { max-width:850px; margin:8px 0 0; font-family:"Yu Mincho",serif; font-size:clamp(30px,3vw,43px); line-height:1.28; }
.onboarding-shell>header .terminal-brand b { color:#fff; }
.onboarding-shell>header .terminal-brand strong { color:#d8f75a; }
.purpose-badge { display:inline-flex; margin-top:3px; border-radius:99px; background:#dff0e7; color:#0b654d; padding:7px 12px; font-size:13px; font-weight:900; }
.purpose-assurance { display:grid; grid-template-columns:34px 1fr; gap:11px; align-items:start; max-width:790px; margin-top:15px; border:1px solid #b9d8c9; border-left:5px solid var(--action); border-radius:10px; background:#f3fbf7; padding:13px 15px 13px 12px; }
.purpose-assurance>.ui-icon { width:30px; height:30px; color:var(--action); }
.purpose-assurance b,.purpose-assurance small { display:block; }
.purpose-assurance b { font-size:14px; }
.purpose-assurance small { margin-top:4px; color:#52675e; font-size:13px; line-height:1.6; }
.onboarding-purpose-art { min-height:250px; display:grid; place-items:center; border-radius:22px; overflow:hidden; background:#e9f3ec; box-shadow:inset 0 0 0 1px #d2e2d7; }
.onboarding-purpose-art svg { width:100%; height:auto; }
.purpose-sky { fill:#eef7f2; }.purpose-sun{fill:#f2c45b}.purpose-hill-back{fill:#bed7b1}.purpose-hill-front{fill:#83b98e}.purpose-road{fill:#f5efe0}.purpose-link{fill:none;stroke:#0b654d;stroke-width:3;stroke-dasharray:7 7}.purpose-node circle{fill:#fff;stroke:#0b654d;stroke-width:3}.purpose-node path{fill:none;stroke:#0b654d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.purpose-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:17px; }
.purpose-outcomes article { display:grid; grid-template-columns:38px 1fr; gap:10px; align-items:start; border:1px solid #d2ddd6; border-radius:11px; background:#fff; padding:13px; box-shadow:0 3px 10px rgba(8,50,37,.05); }
.purpose-outcomes .ui-icon { width:31px; height:31px; color:var(--action); }
.purpose-outcomes b,.purpose-outcomes small { display:block; }
.purpose-outcomes b { font-size:14px; }.purpose-outcomes small { margin-top:4px; color:#5a6961; font-size:13px; line-height:1.55; }
.purpose-more { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }
.purpose-more details { flex:1; border-top:1px solid #d6ded8; padding-top:8px; color:#526159; font-size:13px; }
.purpose-more summary { color:#31473c; font-weight:900; cursor:pointer; }.purpose-more details p { max-width:850px; line-height:1.65; }
.purpose-more>a { color:var(--action); font-size:13px; font-weight:900; text-decoration:none; white-space:nowrap; }
.role-selection-rule { display:grid; grid-template-columns:38px 1fr; gap:11px; max-width:1050px; margin:13px 0 14px; border:1px solid #c9d8d0; border-radius:11px; background:#f3f8f5; padding:13px 15px; }
.role-selection-rule>.ui-icon { width:31px; height:31px; color:var(--action); }.role-selection-rule p { margin:0; }
.role-selection-rule b,.role-selection-rule span,.role-selection-rule small { display:block; }.role-selection-rule b{font-size:14px}.role-selection-rule span{margin-top:3px;color:#42564c;font-size:13px;line-height:1.6}.role-selection-rule small{margin-top:5px;color:#65746c;font-size:12px;line-height:1.55}
.onboarding-roles button { min-height:300px; grid-template-rows:84px auto 38px; }
.role-choice-copy small strong { display:block; margin-bottom:2px; color:var(--role-color,var(--action)); font-size:12px; letter-spacing:.08em; }
.role-choice-why { display:block; min-height:31px; margin-top:5px; color:#5a6961; font-size:12px; line-height:1.5; }
.role-choice-output { display:block; margin-top:6px; border-radius:5px; background:#edf3ef; color:#355347; padding:5px 7px; font-size:12px; font-weight:900; line-height:1.4; }
.role-helper { margin-top:13px; border:1px solid #c9d8d0; border-radius:11px; background:#fff; padding:10px 13px; }
.role-helper summary { color:var(--action); font-size:14px; font-weight:900; cursor:pointer; }.role-helper>p { margin:8px 0; color:#55655d; font-size:13px; }
.role-helper>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.role-helper button { min-height:38px; border:1px solid #aac6b9; border-radius:7px; background:#f6fbf8; color:#234d3d; padding:7px 9px; font-size:12px; font-weight:850; }
.role-helper button:hover { border-color:var(--action); background:#e5f3ed; }
.onboarding-assumption-banner { display:grid; grid-template-columns:34px 1fr; gap:10px; max-width:1040px; margin:13px 0 15px; border:1px solid #e1c784; border-left:5px solid #d99c22; border-radius:10px; background:#fff9e9; padding:12px 14px 12px 11px; }
.onboarding-assumption-banner>.ui-icon { width:29px; height:29px; color:#9a6910; }.onboarding-assumption-banner p{margin:0}.onboarding-assumption-banner b,.onboarding-assumption-banner span{display:block}.onboarding-assumption-banner b{font-size:14px}.onboarding-assumption-banner span{margin-top:3px;color:#6a5b38;font-size:13px;line-height:1.6}
.onboarding-scope { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; align-items:stretch; }
.onboarding-scope .onboarding-field { min-width:0; display:flex; flex-direction:column; min-height:255px; padding:15px; }
.onboarding-field select,.onboarding-field input,.onboarding-field .input-unit { max-width:100%; min-width:0; }
.onboarding-field-title { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#183d30; }.onboarding-field-title b{font-size:12px}.onboarding-field-title em{border-radius:99px;background:#e5eee9;color:#52675e;padding:4px 7px;font-size:12px;font-style:normal;font-weight:900}
.scope-field-why,.scope-field-unknown { display:block; color:#596b62; font-size:12px; line-height:1.55; }.scope-field-why{min-height:46px;margin-top:8px}.scope-field-unknown{margin-top:9px}.scope-field-why strong,.scope-field-unknown strong{display:block;color:#1d654c;font-size:12px;letter-spacing:.06em}
.onboarding-field select,.onboarding-field input { margin-top:8px; }
.scope-field-status { display:block; align-self:flex-start; margin-top:auto; border-radius:5px; background:#fff0c9; color:#765415; padding:5px 7px; font-size:12px; font-weight:900; }
.onboarding-field.user-edited { border-color:var(--action); background:#f3fbf7; }.onboarding-field.user-edited .scope-field-status{background:#dcefe6;color:#0b654d}
.scope-choice-guide { margin-top:13px; border:1px solid #c9d8d0; border-radius:10px; background:#fff; padding:10px 13px; }.scope-choice-guide summary{color:var(--action);font-size:14px;font-weight:900;cursor:pointer}.scope-choice-guide div{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:8px}.scope-choice-guide p{margin:0;color:#55665d;font-size:13px;line-height:1.65}.scope-choice-guide p b{display:block;color:#304b3f;margin-bottom:3px}

/* Explicit action / display language. */
[data-ui="primary-action"],.primary-button { min-height:44px; border-width:2px; font-size:14px; font-weight:900; cursor:pointer; box-shadow:0 4px 10px rgba(6,67,49,.13); }
[data-ui="primary-action"]:hover,.primary-button:hover { transform:translateY(-1px); box-shadow:0 7px 15px rgba(6,67,49,.18); }
[data-ui="secondary-action"],.secondary-button { min-height:42px; border-width:2px; font-weight:850; }
[data-ui="display"] { cursor:default; }
[data-ui="display"]:hover { transform:none; }
[data-ui="input-panel"] { border:2px solid #9fc5b4!important; background:#f8fcfa!important; }
.input-tag { display:inline-flex; align-items:center; min-height:18px; margin-right:6px; border-radius:4px; background:var(--action); color:#fff!important; padding:2px 6px; font-size:12px!important; font-weight:900; letter-spacing:.08em; }
.interaction-key { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin:10px 0 13px; color:#52645b; font-size:12px; }
.interaction-key strong { color:#264b3c; font-size:12px; }
.interaction-key span { display:inline-flex; align-items:center; gap:6px; padding:0; font-size:12px; font-weight:700; }
.interaction-key .key-action,.interaction-key .key-display { border:0; border-radius:0; background:transparent; color:#52645b; }
.interaction-key .key-action i,.interaction-key .key-display i { width:12px; height:12px; flex:0 0 12px; border-radius:3px; background:var(--action); }
.interaction-key .key-display i { border:1px solid var(--display-line); background:var(--display); }

/* Illustrated command home. */
.role-command-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:24px; border-radius:20px; background:linear-gradient(135deg,#08291e,#15553d); color:#fff; padding:35px; overflow:hidden; }
.role-command-copy { min-width:0; }
.current-role-badge { display:inline-flex; align-items:center; min-height:28px; margin-bottom:17px; border:1px solid rgba(255,255,255,.26); border-radius:999px; background:rgba(255,255,255,.08); color:#dff1e7; padding:0 12px; font-size:12px; font-weight:900; letter-spacing:.08em; }
.role-command-copy>p { color:var(--lime); font-size:13px; font-weight:900; letter-spacing:.17em; }
.role-command-copy h1 { max-width:900px; margin:8px 0 12px; font-family:"Yu Mincho",serif; font-size:clamp(32px,3.5vw,53px); font-weight:600; line-height:1.24; letter-spacing:-.03em; }
.role-command-copy .player-mission-copy { max-width:820px; color:#cbdcd3; font-size:13px; line-height:1.85; }
.first-action-card { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:13px; margin-top:23px; padding:13px; border:0!important; border-radius:13px; color:var(--deep); }
.first-action-card>i { width:38px; height:38px; border-radius:9px; display:grid; place-items:center; background:var(--action-soft); color:var(--action); font-style:normal; font-size:12px; font-weight:900; }
.first-action-card span b,.first-action-card span strong { display:block; }
.first-action-card span b { color:#607068; font-size:12px; letter-spacing:.14em; }
.first-action-card span strong { margin-top:3px; font-size:14px; line-height:1.45; }
.role-scene { position:relative; align-self:stretch; min-height:240px; margin:0; border-radius:20px; overflow:hidden; background:#eaf3eb; }
.role-scene svg { width:100%; height:100%; min-height:240px; display:block; }
.role-scene figcaption { position:absolute; left:14px; right:14px; bottom:12px; border-radius:9px; background:rgba(5,42,30,.88); color:#fff; padding:9px 11px; font-size:13px; font-weight:800; line-height:1.45; }
.role-scene svg * { vector-effect:non-scaling-stroke; }
.role-scene .scene-bg { fill:#edf5ed; stroke:none; }
.role-scene .sun { fill:#f5c455; stroke:none; }
.role-scene .land-back { fill:#bedba8; stroke:none; }
.role-scene .land-front { fill:#78aa71; stroke:none; }
.role-scene .panel { fill:#fff; stroke:#0d604a; stroke-width:3; }
.role-scene svg path,.role-scene svg circle,.role-scene svg rect { stroke:#0d604a; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.role-scene .scene-bg { fill:#edf5ed; stroke:none; }
.role-scene .sun { fill:#f5c455; stroke:none; }
.role-scene .land-back { fill:#bedba8; stroke:none; }
.role-scene .land-front { fill:#78aa71; stroke:none; }
.role-scene .panel { fill:#fff; stroke:#0d604a; }
.role-scene .fill-accent,.role-scene .node { fill:#d5ee69; stroke:#0d604a; }
.role-scene .accent-stroke { stroke:#e18b3d; stroke-width:4; }
.role-scene .river-line { stroke:#5c9fcc; stroke-width:10; fill:none; }
.role-home-side { display:grid; gap:9px; align-content:start; }
.role-home-side>.role-scene { min-height:205px; }
.role-home-side>.role-scene svg { min-height:205px; }
.role-home-side .role-home-card { width:100%; }
.role-home-fallback { margin:0; }

.farmer-visual-cue { display:grid; grid-template-columns:128px minmax(0,1fr) auto; gap:16px; align-items:center; margin:0 0 16px; border:1px solid #cad9d0; border-radius:14px; background:#fff; padding:12px; }
.farmer-visual-cue>div { height:82px; border-radius:10px; overflow:hidden; }
.farmer-visual-cue .role-choice-visual { height:82px; }
.farmer-visual-cue span>p { margin:0; color:var(--action); font-size:12px; font-weight:900; letter-spacing:.14em; }
.farmer-visual-cue h2 { margin:3px 0; font-family:"Yu Mincho",serif; font-size:19px; font-weight:600; }
.farmer-visual-cue small { display:block; color:#5f6d66; font-size:13px; line-height:1.55; }
.farmer-visual-cue>.farmer-operate-button { min-height:44px; white-space:nowrap; }

.responsibility-grid { margin-top:12px; }
.responsibility-grid>article { background:var(--display); border-color:var(--display-line); }
.responsibility-grid li { font-size:14px; line-height:1.6; }
.player-kpis article { position:relative; background:var(--display); border-color:var(--display-line); padding-bottom:30px; }
.player-kpis article>em,.case-kpis article>em { position:absolute; left:14px; bottom:9px; border-radius:4px; background:#dfe4df; color:#657169; padding:3px 6px; font-size:12px; font-style:normal; font-weight:900; letter-spacing:.08em; }
.player-kpis strong { font-size:18px; line-height:1.4; }
.player-kpis span,.case-kpis span { font-size:12px; }
.player-kpis small,.case-kpis small { font-size:13px; }
.reference-section { background:var(--display); }
.reference-disclosure { margin:12px 0; border:1px solid var(--display-line); border-radius:12px; background:#fff; overflow:hidden; }
.reference-disclosure>summary { min-height:52px; display:flex; justify-content:space-between; align-items:center; padding:0 18px; color:var(--action); font-size:14px; font-weight:900; cursor:pointer; }
.reference-disclosure[open]>summary { border-bottom:1px solid var(--display-line); }
.reference-disclosure .actor-grid { padding:12px; }
.actor-grid article { background:var(--display); }
.actor-grid article.focus { border:2px solid var(--action); background:var(--action-soft); }

.assurance-lane { margin:12px 0; border:1px solid #c9d6cf; border-radius:13px; background:#f4f7f4; padding:16px; }
.assurance-lane>header { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.assurance-lane>header>.ui-icon { width:32px; height:32px; color:var(--action); }
.assurance-lane p { margin:0; color:#65736c; font-size:12px; font-weight:900; letter-spacing:.13em; }
.assurance-lane h2 { margin:3px 0 0; font-family:"Yu Mincho",serif; font-size:18px; font-weight:600; }
.assurance-lane>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.assurance-lane article { display:grid; grid-template-columns:32px 1fr; gap:10px; align-items:center; border:1px solid #dce3de; border-radius:9px; background:#fff; padding:11px; }
.assurance-lane article>.ui-icon { width:25px; height:25px; color:var(--action); }
.assurance-lane article b,.assurance-lane article small { display:block; }
.assurance-lane article b { font-size:14px; }
.assurance-lane article small { margin-top:3px; color:#66746d; font-size:12px; line-height:1.5; }

/* Every screen starts with an illustrated explanation and one action. */
.screen-guide { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:stretch; margin-bottom:9px; border:1px solid #d3ddd6; border-radius:17px; background:#fff; padding:22px; }
.screen-guide-copy>p { margin:0; color:var(--action); font-size:12px; font-weight:900; letter-spacing:.16em; }
.screen-guide-copy h1 { max-width:830px; margin:7px 0 8px; font-family:"Yu Mincho",serif; font-size:clamp(29px,3vw,43px); font-weight:600; line-height:1.3; }
.screen-guide-copy>span { display:block; max-width:800px; color:#5c6a63; font-size:14px; line-height:1.75; }
.screen-action-hint { display:flex; align-items:center; gap:12px; margin-top:16px; border-left:5px solid var(--action); border-radius:0 9px 9px 0; background:var(--action-soft); padding:11px 13px; }
.screen-action-hint b,.screen-action-hint strong { display:block; }
.screen-action-hint b { color:#5a6b62; font-size:12px; letter-spacing:.12em; }
.screen-action-hint strong { font-size:14px; }
.screen-guide>.role-scene { min-height:175px; border-radius:13px; }
.screen-guide>.role-scene svg { min-height:175px; }
.screen-guide>.role-scene figcaption { font-size:12px; }

/* Sticky scope is clearly editable. */
.player-context { min-height:88px; grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(145px,.7fr)) auto; gap:10px; background:#edf4f0; border-bottom:2px solid #c4d6cc; }
.player-context .context-title b { white-space:normal; font-size:14px; line-height:1.45; }
.player-context label { position:relative; color:#3c5147; font-size:12px; }
.player-context select,.player-context input { height:39px; border:2px solid #8faf9f; font-size:14px; cursor:pointer; }
.player-context label:focus-within select,.player-context label:focus-within input { border-color:var(--action); box-shadow:0 0 0 3px #d4e9df; }
.context-help { min-height:42px; border:2px solid var(--action); border-radius:8px; background:#fff; color:var(--action); padding:0 12px; font-size:13px; font-weight:900; white-space:nowrap; }

/* Selectable cards always look selectable, even without hover. */
.interactive-card { position:relative; border:2px solid #a9beb3!important; box-shadow:0 3px 9px rgba(10,55,41,.06); cursor:pointer!important; }
.interactive-card:hover { border-color:var(--action)!important; box-shadow:0 8px 18px rgba(10,68,49,.13); }
.interactive-card.selected { border-color:var(--action)!important; box-shadow:0 0 0 3px #cde8dc!important; }
.interactive-card footer { display:flex; justify-content:space-between; align-items:center; min-height:33px; margin:11px -15px -15px; border-radius:0 0 9px 9px; background:#e8efeb; color:var(--action); padding:0 13px; font-size:12px; font-weight:900; }
.interactive-card.selected footer { background:var(--action); color:#fff; }
.pipeline-detail { border:2px solid #275c47; }
.pipeline-detail .primary-button { margin-top:6px; }
.selected-project { border:2px solid #a9beb3; background:#fff; }
.selected-project>.primary-button { min-width:190px; }

/* Input panel versus calculated results. */
.player-form { overflow:hidden; }
.player-form>.panel-head { background:#e9f5ef; border-bottom:2px solid #b9d7c8; }
.player-form>label { margin-top:15px; color:#32483d; font-size:14px; }
.player-form input,.player-form select { height:44px; border:2px solid #90b2a1; background:#fff; font-size:12px; cursor:pointer; }
.player-form input:focus,.player-form select:focus { border-color:var(--action); box-shadow:0 0 0 3px #d4e9df; }
.case-kpis article { position:relative; min-height:124px; background:var(--display); border-color:var(--display-line); padding-bottom:31px; }
.case-kpis strong { font-size:22px; }
.cashflow-panel,.capital-stack,.bankability-ladder { cursor:default; }
.hard-stop-box { font-size:14px; }
.hard-stop-box b { font-size:14px; }
.hard-stop-box li,.hard-stop-box p { font-size:13px; line-height:1.55; }
.bankability-ladder>div { cursor:default; }

.impact-number-grid article { position:relative; min-height:113px; background:var(--display); border-color:var(--display-line); padding-bottom:30px; }
.impact-workspace>aside { border:2px solid #264e3b; }
.integrity-grid article { cursor:default; }
.integrity-grid b { font-size:14px; }
.integrity-grid p { font-size:13px; line-height:1.5; }
.claim-guardrail { cursor:default; }
.committee-hero,.committee-checklist article { cursor:default; }
.committee-checklist article { background:var(--display); }
.decision-actions { margin-top:15px; }
.impact-next { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin-top:14px; border-top:1px solid #cad9d0; padding-top:14px; }
.impact-next>span { margin-right:auto; }
.impact-next b,.impact-next small { display:block; }
.impact-next b { color:var(--action); font-size:12px; letter-spacing:.12em; }
.impact-next small { margin-top:3px; color:#66746c; font-size:13px; }

/* v6.1 model-validation board: STOP boundaries stay visible; corrected cases are auditable. */
.model-validation-board { margin:14px 0 16px; overflow:hidden; border:1px solid #28483b; border-radius:14px; background:#0d2b21; color:#fff; box-shadow:0 9px 25px rgba(6,35,26,.11); }
.model-validation-board .lang-en { display:none; }
body[data-lang="en"] .model-validation-board .lang-ja { display:none!important; }
body[data-lang="en"] .model-validation-board .lang-en { display:inline!important; }
.validation-board-head { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 20px 10px; }
.validation-board-head p { margin:0 0 4px; color:#9bc8b5; font-size:12px; font-weight:900; letter-spacing:.16em; }
.validation-board-head h2 { margin:0; color:#fff; font-size:20px; font-family:"Yu Mincho",serif; font-weight:650; }
.validation-score { min-width:118px; display:grid; justify-items:center; border:1px solid #416355; border-radius:10px; background:#15382c; padding:9px 14px; }
.validation-score strong { color:var(--lime); font-size:22px; line-height:1; }
.validation-score span { margin-top:5px; color:#b9d0c6; font-size:12px; font-weight:900; letter-spacing:.13em; }
.validation-score.failed { border-color:#bf6b50; background:#49251d; }
.validation-score.failed strong { color:#ffb59e; }
.validation-lead { margin:0; padding:0 20px 14px; color:#bed0c8; font-size:14px; line-height:1.65; }
.stop-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:0 12px 12px; }
.stop-example-grid article { position:relative; min-height:148px; display:grid; grid-template-columns:35px minmax(0,1fr); gap:9px; border:1px solid #d39a55; border-radius:10px; background:#fffaf0; color:#1e2e27; padding:14px 13px 29px; }
.stop-example-grid article>span { position:absolute; top:0; right:0; border-radius:0 9px 0 7px; background:#a7432d; color:#fff; padding:5px 8px; font-size:12px; font-weight:900; letter-spacing:.1em; }
.stop-example-grid article>.ui-icon { width:30px; height:30px; color:#a7432d; }
.stop-example-grid article b { display:block; padding-right:52px; font-size:14px; line-height:1.45; }
.stop-example-grid article p { margin:5px 0 0; color:#5b615d; font-size:13px; line-height:1.65; }
.stop-example-grid article>em { position:absolute; left:13px; bottom:9px; color:#9b4d35; font-size:12px; font-style:normal; font-weight:900; letter-spacing:.12em; }
.validation-details { border-top:1px solid #365247; background:#f4f6f2; color:var(--ink); }
.validation-details>summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 18px; cursor:pointer; color:#164d3b; font-size:14px; font-weight:900; }
.validation-details>summary b { color:#66766e; font-size:12px; font-weight:700; }
.validation-details[open]>summary { border-bottom:1px solid #d9dfda; }
.validation-table-wrap { max-height:470px; overflow:auto; background:#fff; }
.validation-table-wrap table { width:100%; min-width:920px; border-collapse:collapse; }
.validation-table-wrap th { position:sticky; top:0; z-index:1; background:#e9efeb; color:#5a6d63; padding:9px 10px; font-size:12px; letter-spacing:.08em; text-align:left; }
.validation-table-wrap td { border-top:1px solid #e2e6e2; padding:10px; vertical-align:top; color:#34423b; font-size:12px; line-height:1.55; }
.validation-table-wrap td:first-child { width:155px; color:#153e31; font-family:Consolas,monospace; font-size:12px; font-weight:800; }
.validation-table-wrap td:nth-child(2) { width:21%; color:#806254; background:#fffaf7; }
.validation-table-wrap td:nth-child(3) { width:24%; color:#195c43; background:#f7fcf9; font-weight:750; }
.validation-table-wrap td:nth-child(4) { width:30%; }
.validation-result-pill { display:inline-flex; min-width:48px; justify-content:center; border-radius:999px; padding:4px 7px; background:#dff1e8; color:#126344; font-size:12px; font-weight:900; letter-spacing:.08em; }
.validation-result-pill.fail { background:#fde2da; color:#a13c26; }
.model-validation-board>footer { display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid #365247; padding:11px 18px; color:#b8cbc2; font-size:12px; line-height:1.55; }
.model-validation-board>footer a { flex:0 0 auto; border:1px solid #78998b; border-radius:6px; color:#fff; padding:7px 9px; font-size:12px; font-weight:900; }

/* v6.3 action-first titles and source-backed evidence libraries. */
.view-subtitle { margin:10px 0 0; max-width:760px; color:var(--green); font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",sans-serif; font-size:clamp(18px,1.7vw,24px); font-weight:800; line-height:1.45; letter-spacing:-.015em; }
.evidence-library { margin-top:30px; overflow:hidden; border:1px solid #bfd0c5; border-radius:16px; background:#f4f7f2; box-shadow:0 10px 28px rgba(14,54,38,.07); }
.evidence-library-head { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:17px; align-items:center; padding:24px 25px 21px; border-bottom:1px solid #cbd8d0; background:linear-gradient(135deg,#e6f0e7,#f8faf5); }
.evidence-heading-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:14px; background:var(--deep); color:var(--lime); }
.evidence-heading-icon .ui-icon { width:30px; height:30px; }
.evidence-library-head p { margin:0 0 4px; color:var(--orange); font-size:12px; font-weight:900; letter-spacing:.13em; }
.evidence-library-head h2 { margin:0; font-family:"Yu Mincho",serif; font-size:26px; font-weight:650; line-height:1.35; }
.evidence-library-head>div:nth-child(2)>span { display:block; max-width:900px; margin-top:7px; color:#586a60; font-size:14px; line-height:1.7; }
.evidence-library-head>aside { min-width:150px; display:grid; justify-items:end; align-content:center; }
.evidence-library-head>aside strong { color:var(--green); font-size:31px; line-height:1; }
.evidence-library-head>aside span,.evidence-library-head>aside small { color:#617168; font-size:12px; }
.evidence-library-head>aside small { margin-top:5px; font-weight:800; }
.evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:14px; }
.evidence-card { min-width:0; display:flex; flex-direction:column; border:1px solid #d1dcd5; border-radius:12px; background:#fff; padding:17px; }
.evidence-card:hover { border-color:#85a691; box-shadow:0 8px 20px rgba(16,64,45,.08); transform:translateY(-1px); }
.evidence-card>header { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:11px; }
.evidence-type { display:inline-flex; align-items:center; min-height:25px; border-radius:999px; background:#e7f1e6; color:#245e42; padding:4px 8px; font-size:12px; font-weight:900; letter-spacing:.04em; }
.evidence-research .evidence-type { background:#e6eef4; color:#315f7a; }
.evidence-case .evidence-type { background:#fff0d6; color:#815c18; }
.evidence-market .evidence-type { background:#f0e8f3; color:#6b4674; }
.evidence-link-state { display:flex; align-items:center; gap:5px; color:#64756c; font-size:12px; font-weight:850; white-space:nowrap; }
.evidence-link-state i { width:8px; height:8px; border-radius:50%; background:#4d915c; box-shadow:0 0 0 3px rgba(77,145,92,.12); }
.evidence-card h3 { min-height:58px; margin:0 0 13px; color:#153d30; font-family:"Yu Mincho",serif; font-size:19px; line-height:1.52; }
.evidence-support,.evidence-scope { border-radius:9px; padding:11px 12px; }
.evidence-support { background:#edf5e9; }
.evidence-scope { margin-top:8px; background:#fff7e8; }
.evidence-support b,.evidence-scope b { display:block; margin-bottom:3px; color:#2e6a4a; font-size:12px; font-weight:900; letter-spacing:.08em; }
.evidence-scope b { color:#886522; }
.evidence-support p,.evidence-scope p { margin:0; color:#4e5f56; font-size:13px; line-height:1.65; }
.evidence-card dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:13px 0; padding-top:12px; border-top:1px solid #e0e6e1; }
.evidence-card dt { color:#708078; font-size:12px; font-weight:800; }
.evidence-card dd { margin:2px 0 0; color:#283c32; font-size:13px; font-weight:750; line-height:1.5; }
.evidence-card>a { min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; border:1px solid #497c64; border-radius:8px; color:#1e5c42; padding:9px 12px; font-size:13px; font-weight:900; }
.evidence-card>a:hover,.evidence-card>a:focus-visible { outline:0; background:var(--green); color:#fff; }
.evidence-card>a span { font-size:18px; }
.evidence-library>footer { display:flex; align-items:center; gap:11px; border-top:1px solid #cbd8d0; background:#102f24; color:#d8e5dd; padding:14px 19px; }
.evidence-library>footer>.ui-icon { width:27px; height:27px; flex:0 0 auto; color:var(--lime); }
.evidence-library>footer p { margin:0; font-size:13px; line-height:1.65; }

@media (max-width:1200px) {
  .evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .onboarding-roles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .role-command-hero { grid-template-columns:minmax(0,1fr) 300px; }
  .player-context { grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(120px,.65fr)); }
  .context-help { grid-column:2/-1; justify-self:end; }
}

@media (max-width:800px) {
  .view-subtitle { font-size:19px; }
  .evidence-library-head { grid-template-columns:46px minmax(0,1fr); padding:19px 17px; }
  .evidence-heading-icon { width:44px; height:44px; }
  .evidence-library-head h2 { font-size:22px; }
  .evidence-library-head>aside { grid-column:2; justify-items:start; grid-template-columns:auto auto; align-items:baseline; gap:6px 9px; }
  .evidence-library-head>aside small { grid-column:1/-1; margin:0; }
  .evidence-grid { grid-template-columns:1fr; padding:10px; }
  .evidence-card h3 { min-height:0; }
  .current-role-button { width:100%; max-width:none; min-height:41px; }
  .current-role-button b { font-size:14px; }
  .current-role-button em { padding:7px 8px; }
  .current-role-button em span { display:none; }
  .onboarding-step { padding:20px 22px 26px; }
  .onboarding-purpose-hero { grid-template-columns:1fr; }
  .onboarding-purpose-art { min-height:170px; max-height:210px; }
  .onboarding-purpose-art svg { transform:translateY(-12px); }
  .purpose-outcomes { grid-template-columns:1fr; }
  .purpose-more { align-items:flex-start; flex-direction:column; }
  .onboarding-scope { grid-template-columns:1fr; }
  .role-helper>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .scope-choice-guide div { grid-template-columns:1fr; }
  .onboarding-roles { grid-template-columns:1fr; }
  .onboarding-roles button { min-height:155px; grid-template-columns:120px 1fr; grid-template-rows:auto 35px; }
  .role-choice-visual { height:104px; grid-row:1/3; }
  .role-choice-copy { align-self:center; }
  .role-choice-action { grid-column:2; }
  .onboarding-choice-help { overflow:auto; padding-bottom:4px; }
  .onboarding-choice-help span { min-width:max-content; }
  .role-command-hero,.screen-guide { grid-template-columns:1fr; }
  .role-command-hero { padding:24px 21px; }
  .role-command-hero>.role-scene { order:-1; min-height:190px; }
  .role-command-hero>.role-scene svg { min-height:190px; }
  .first-action-card { grid-template-columns:35px 1fr; }
  .first-action-card>.primary-button { grid-column:1/-1; width:100%; }
  .screen-guide { padding:17px; }
  .screen-guide>.role-scene { order:-1; min-height:145px; }
  .screen-guide>.role-scene svg { min-height:145px; }
  .screen-guide>.role-scene figcaption { left:9px; right:9px; bottom:8px; }
  .interaction-key { justify-content:flex-start; overflow:auto; }
  .interaction-key span { white-space:nowrap; }
  .player-context { grid-template-columns:1fr 1fr; }
  .player-context .context-title { grid-column:1/-1; }
  .context-help { grid-column:1/-1; width:100%; }
  .assurance-lane>div { grid-template-columns:1fr; }
  .selected-project>.primary-button { width:100%; }
  .farmer-visual-cue { grid-template-columns:96px 1fr; }
  .farmer-visual-cue>.farmer-operate-button { grid-column:1/-1; width:100%; }
  .stop-example-grid { grid-template-columns:1fr; }
  .stop-example-grid article { min-height:124px; }
  .validation-board-head { align-items:flex-start; }
  .validation-board-head h2 { font-size:17px; }
  .model-validation-board>footer { align-items:flex-start; flex-direction:column; }
}

@media (max-width:520px) {
  .evidence-library { margin-top:22px; border-radius:13px; }
  .evidence-library-head { grid-template-columns:1fr; }
  .evidence-heading-icon { display:none; }
  .evidence-library-head>aside { grid-column:auto; }
  .evidence-card { padding:14px; }
  .evidence-card>header { align-items:flex-start; flex-direction:column; }
  .evidence-card dl { grid-template-columns:1fr; }
  .role-switcher { padding:4px 6px!important; }
  .current-role-button { grid-template-columns:28px minmax(0,1fr) 28px; gap:6px; padding:3px 5px 3px 7px; }
  .current-role-button>.ui-icon { width:23px; height:23px; }
  .current-role-button em { width:28px; height:28px; padding:0; justify-content:center; }
  .onboarding-step>h2 { font-size:30px; }
  .onboarding-purpose-copy h2 { font-size:28px; }
  .onboarding-purpose-art { display:none; }
  .purpose-outcomes article { padding:10px; }
  .role-selection-rule { grid-template-columns:28px 1fr; padding:10px; }
  .role-selection-rule>.ui-icon { width:24px; height:24px; }
  .role-helper>div { grid-template-columns:1fr; }
  .onboarding-scope .onboarding-field { min-height:230px; }
  .onboarding-step>p:not(.terminal-kicker) { font-size:14px; }
  .onboarding-choice-help { gap:8px; }
  .onboarding-choice-help>b { display:none; }
  .onboarding-roles button { min-height:166px; grid-template-columns:92px 1fr; padding:10px; }
  .role-choice-visual { height:116px; }
  .role-choice-copy b { font-size:12px; }
  .role-choice-copy small { font-size:13px; }
  .role-choice-copy em { display:none; }
  .role-choice-action { font-size:12px; }
  .role-command-copy h1 { font-size:30px; }
  .role-command-copy .player-mission-copy { font-size:14px; }
  .screen-guide-copy h1 { font-size:28px; }
  .screen-guide-copy>span { font-size:14px; }
  .player-context { grid-template-columns:1fr; }
  .player-context .context-title { grid-column:auto; }
  .player-kpis,.case-kpis,.impact-number-grid { grid-template-columns:1fr!important; }
  .assurance-lane h2 { font-size:16px; }
  .farmer-visual-cue { grid-template-columns:76px 1fr; gap:10px; }
  .farmer-visual-cue>div,.farmer-visual-cue .role-choice-visual { height:72px; }
  .farmer-visual-cue h2 { font-size:16px; }
  .impact-next { align-items:stretch; flex-direction:column; }
  .impact-next>.primary-button { width:100%; }
  .validation-board-head { gap:10px; padding:15px 14px 9px; }
  .validation-score { min-width:87px; padding:8px; }
  .validation-score strong { font-size:17px; }
  .validation-lead { padding:0 14px 12px; }
}

@media (prefers-reduced-motion:reduce) {
  .current-role-button,.interactive-card,[data-ui="primary-action"] { transition:none!important; }
}

@media print { .screen-guide .role-scene,.interaction-key,.current-role-button { display:none!important; } }

/* v6.4 official MAFF MIDORI technology navigator. */
.catalog-button { min-height:42px; display:flex; align-items:center; gap:8px; border:1px solid #b8cebf; border-radius:8px; background:#eef6e8; color:#174f3a; padding:0 11px; cursor:pointer; }
.catalog-button:hover,.catalog-button:focus-visible { outline:0; border-color:#659174; background:#e0efda; box-shadow:0 0 0 3px rgba(70,126,89,.12); }
.catalog-button>i { width:24px; height:24px; display:grid; place-items:center; color:var(--green); }
.catalog-button .ui-icon { width:22px; height:22px; }
.catalog-button>span { display:grid; text-align:left; line-height:1.12; }
.catalog-button b { font-size:13px; }
.catalog-button small { color:#64806f; font-size:12px; font-weight:900; letter-spacing:.07em; }

.midori-catalog-view { max-width:1480px; margin:0 auto; padding-bottom:56px; }
.technology-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); align-items:center; gap:38px; border-radius:22px; background:linear-gradient(135deg,#0b2f22 0%,#16503a 65%,#236a4c 100%); color:#fff; padding:42px 46px; box-shadow:0 18px 42px rgba(8,45,32,.17); }
.technology-hero:before { content:""; position:absolute; width:470px; height:470px; left:-230px; top:-325px; border:1px solid rgba(216,242,106,.18); border-radius:50%; }
.technology-hero-copy { position:relative; z-index:1; }
.technology-hero-copy .terminal-kicker { color:var(--lime); }
.technology-hero h1 { margin:4px 0 8px; font-family:"Yu Mincho",serif; font-size:clamp(44px,5vw,70px); line-height:1.12; letter-spacing:-.045em; }
.technology-hero .view-subtitle { max-width:790px; color:#e1ede6; font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",sans-serif; font-size:clamp(17px,1.6vw,23px); font-weight:750; line-height:1.65; }
.technology-hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.technology-hero-actions .primary-button { background:var(--lime); border-color:var(--lime); color:#123329; }
.technology-hero-actions .primary-button span { color:inherit; }
.technology-hero-actions .secondary-button { border-color:#7ca18f; background:#163f30; color:#fff; }
.technology-hero-visual { position:relative; z-index:1; margin:0; }
.technology-hero-visual svg { display:block; width:100%; filter:drop-shadow(0 20px 28px rgba(0,0,0,.18)); }
.technology-hero-visual figcaption { margin-top:8px; color:#c0d4c9; font-size:12px; line-height:1.55; text-align:center; }

.catalog-truth-banner { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; align-items:center; margin-top:13px; border:1px solid #dcc894; border-radius:12px; background:#fff8e9; padding:14px 17px; color:#574a2c; }
.catalog-truth-banner>i { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff; color:#a87516; }
.catalog-truth-banner .ui-icon { width:24px; height:24px; }
.catalog-truth-banner p,.catalog-truth-banner b,.catalog-truth-banner span { display:block; margin:0; }
.catalog-truth-banner b { color:#6f5016; font-size:14px; }
.catalog-truth-banner p>span { margin-top:3px; font-size:13px; line-height:1.65; }

.catalog-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:13px; }
.catalog-stat { position:relative; min-height:150px; overflow:hidden; display:flex; flex-direction:column; border:1px solid #cfdcd3; border-radius:13px; background:#fff; padding:18px; box-shadow:0 7px 20px rgba(19,65,45,.05); }
.catalog-stat:before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:#365f4d; }
.catalog-stat.available:before { background:#3d9160; }
.catalog-stat.development:before { background:#a67a31; }
.catalog-stat.certified:before { background:#477997; }
.catalog-stat>span { color:#668076; font-size:12px; font-weight:900; letter-spacing:.1em; }
.catalog-stat strong { margin:7px 0 1px; color:#153f31; font-size:37px; line-height:1.05; }
.catalog-stat strong em { color:#71817a; font-size:25px; font-style:normal; }
.catalog-stat>b { color:#283f35; font-size:14px; }
.catalog-stat>small { margin-top:auto; color:#697a71; font-size:12px; line-height:1.45; }

.catalog-stage-section,.catalog-search-section,.catalog-results-section,.catalog-policy-links,.catalog-source-ledger { margin-top:18px; border:1px solid #cbd8d0; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(17,58,41,.055); }
.catalog-stage-section>header,.catalog-search-section>header,.catalog-results-section>header,.catalog-policy-links>header,.catalog-source-ledger>header { display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid #d5dfd8; padding:18px 21px; }
.catalog-stage-section>header p,.catalog-search-section>header p,.catalog-results-section>header p,.catalog-policy-links>header p,.catalog-source-ledger>header p { margin:0 0 3px; color:#ba6c35; font-size:12px; font-weight:900; letter-spacing:.12em; }
.catalog-stage-section>header h2,.catalog-search-section>header h2,.catalog-results-section>header h2,.catalog-policy-links>header h2,.catalog-source-ledger>header h2 { margin:0; color:#173b2e; font-family:"Yu Mincho",serif; font-size:25px; line-height:1.35; }
.catalog-action-label { display:flex; align-items:center; gap:7px; color:#4f665a; padding:0; font-size:12px; font-weight:700; }
.catalog-action-label i { display:block; width:10px; height:10px; flex:0 0 10px; border-radius:3px; background:var(--green); }
.catalog-stage-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:13px; }
.catalog-stage-tabs>button { min-height:104px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; border:2px solid #d8e1db; border-radius:11px; background:#fafbf8; color:#284237; padding:14px; text-align:left; cursor:pointer; }
.catalog-stage-tabs>button:hover,.catalog-stage-tabs>button:focus-visible { outline:0; border-color:#8eb19a; background:#f0f6ec; }
.catalog-stage-tabs>button.active { border-color:#43815c; background:#e8f3e4; box-shadow:inset 0 0 0 1px #a9caa6; }
.catalog-stage-tabs>button>i { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff; color:#3c7654; }
.catalog-stage-tabs .ui-icon { width:23px; height:23px; }
.catalog-stage-tabs b,.catalog-stage-tabs small { display:block; }
.catalog-stage-tabs b { font-size:14px; line-height:1.4; }
.catalog-stage-tabs small { margin-top:4px; color:#64796e; font-size:12px; line-height:1.35; }

.catalog-intent-chips { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; padding:13px 13px 0; }
.catalog-intent-chips>button { min-height:58px; display:flex; align-items:center; gap:9px; border:1px solid #cfdcd3; border-radius:9px; background:#f7faf5; color:#264838; padding:8px 10px; cursor:pointer; text-align:left; }
.catalog-intent-chips>button:hover,.catalog-intent-chips>button:focus-visible,.catalog-intent-chips>button.active { outline:0; border-color:#57906c; background:#e5f2e0; box-shadow:inset 0 0 0 1px #aed0ab; }
.catalog-intent-chips>button>span { min-width:39px; height:34px; display:grid; place-items:center; border-radius:7px; background:#163c2d; color:#d8ef6b; font-size:12px; font-weight:900; }
.catalog-intent-chips>button>b { font-size:12px; line-height:1.35; }
.catalog-filter-form { display:grid; grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(160px,.75fr)); gap:9px; padding:13px; }
.catalog-filter-form label { min-width:0; display:flex; flex-direction:column; border:1px solid #d2ddd6; border-radius:10px; background:#fff; padding:11px; }
.catalog-filter-form label>span { min-height:44px; }
.catalog-filter-form b,.catalog-filter-form small { display:block; }
.catalog-filter-form b { color:#304a3e; font-size:13px; }
.catalog-filter-form small { color:#7a8981; font-size:12px; line-height:1.35; }
.catalog-filter-form input,.catalog-filter-form select { width:100%; height:44px; margin-top:7px; border:1px solid #aebeb4; border-radius:7px; background:#f8faf7; color:#1c392d; padding:0 10px; font-size:14px; }
.catalog-filter-form input:focus,.catalog-filter-form select:focus { outline:3px solid rgba(75,139,93,.16); border-color:#4e8965; }
.catalog-filter-form select:disabled { opacity:.55; cursor:not-allowed; }
.catalog-active-filters { min-height:46px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; border-top:1px solid #e0e6e2; background:#f7f9f6; padding:8px 13px; }
.catalog-active-filters>b { margin-right:4px; color:#64766d; font-size:12px; letter-spacing:.08em; }
.catalog-active-filters>span { color:#73817a; font-size:12px; }
.catalog-active-filters>button { border:1px solid #a9c4b2; border-radius:999px; background:#e8f2e5; color:#28583d; padding:6px 9px; font-size:12px; font-weight:800; cursor:pointer; }
.catalog-active-filters>button span { color:#8a4c35; }

.catalog-results-section>header>div>small { display:block; max-width:780px; margin-top:4px; color:#667970; font-size:12px; line-height:1.55; }
.catalog-result-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.catalog-result-legend>span { display:flex; align-items:center; gap:5px; color:#5c7166; font-size:12px; font-weight:800; white-space:nowrap; }
.stage-dot,.technology-stage i { width:9px; height:9px; border-radius:50%; background:#3d9160; }
.stage-dot.development,.stage-development .technology-stage i { background:#aa7a2e; }
.stage-dot.certified,.stage-certified .technology-stage i { background:#477997; }
.catalog-results-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:13px; }
.technology-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #d2dcd6; border-radius:12px; background:#fff; }
.technology-card:hover { border-color:#88a797; box-shadow:0 9px 22px rgba(21,64,46,.09); transform:translateY(-1px); }
.technology-card>header { min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid #dce4df; background:#f3f8f2; padding:8px 12px; }
.technology-card.stage-development>header { background:#fff8ea; }
.technology-card.stage-certified>header { background:#edf5f9; }
.technology-stage { display:flex; align-items:center; gap:6px; color:#356447; font-size:12px; font-weight:900; }
.technology-card.stage-development .technology-stage { color:#7e5a20; }
.technology-card.stage-certified .technology-stage { color:#335f78; }
.technology-card>header>em { color:#718078; font-size:12px; font-style:normal; font-weight:850; letter-spacing:.05em; }
.technology-card-body { flex:1; padding:15px; }
.official-japanese-label { display:block; margin-bottom:4px; color:#8b6a40; font-size:12px; font-weight:900; letter-spacing:.07em; }
.technology-card h3 { margin:0; color:#17382c; font-family:"Yu Mincho",serif; font-size:19px; line-height:1.55; overflow-wrap:anywhere; }
.technology-card-body>p { margin:11px 0; color:#5a6c63; font-size:13px; line-height:1.55; }
.technology-card-body>p b { display:block; color:#819087; font-size:12px; }
.technology-card dl { display:grid; gap:5px; margin:10px 0; }
.technology-card dl>div { display:grid; grid-template-columns:70px minmax(0,1fr); gap:8px; border-top:1px solid #edf0ed; padding-top:6px; }
.technology-card dt { color:#7c8a83; font-size:12px; font-weight:800; }
.technology-card dd { margin:0; color:#31473c; font-size:13px; font-weight:750; line-height:1.4; }
.technology-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:8px; }
.technology-tags span { border-radius:999px; background:#e5f1df; color:#346445; padding:4px 7px; font-size:12px; font-weight:800; }
.technology-tags.class-tags span { background:#eff1ed; color:#5b6a62; }
.technology-card>footer { display:grid; grid-template-columns:.85fr 1.15fr; gap:7px; border-top:1px solid #dce4df; background:#fafbf9; padding:10px; }
.technology-card>footer .secondary-button { min-width:0; padding:8px; }
.technology-select { min-height:44px; border:2px solid #4e8366; border-radius:7px; background:#edf6e8; color:#24583b; padding:8px; font-size:12px; font-weight:900; cursor:pointer; }
.technology-select.selected { border-color:#173f30; background:#173f30; color:#fff; }
.catalog-load-more { display:flex; justify-content:center; border-top:1px solid #e0e6e2; padding:13px; }
.catalog-load-more>button { min-width:230px; }
.catalog-empty { grid-column:1/-1; min-height:260px; display:grid; place-items:center; align-content:center; border:1px dashed #b9c8be; border-radius:11px; background:#fafbf8; padding:28px; text-align:center; }
.catalog-empty>span { color:#bdc8c0; font-size:55px; font-weight:900; }
.catalog-empty h3 { margin:2px 0; font-family:"Yu Mincho",serif; font-size:22px; }
.catalog-empty p { margin:2px 0 14px; color:#6d7c74; font-size:13px; }

.catalog-selection-tray { position:sticky; z-index:12; bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 8px 0; border:1px solid #4b765f; border-radius:13px; background:rgba(12,47,35,.97); color:#fff; padding:12px 14px; box-shadow:0 14px 35px rgba(3,28,19,.28); backdrop-filter:blur(8px); }
.catalog-selection-tray[hidden] { display:none; }
.catalog-selection-tray>div { min-width:0; flex:1; display:flex; align-items:center; gap:13px; }
.catalog-selection-tray>div>span { flex:0 0 auto; }
.catalog-selection-tray>div>span b,.catalog-selection-tray>div>span strong { display:block; }
.catalog-selection-tray>div>span b { color:#aeca9e; font-size:12px; letter-spacing:.08em; }
.catalog-selection-tray>div>span strong { color:var(--lime); font-size:20px; }
.catalog-selection-tray>div>div { min-width:0; display:flex; gap:6px; overflow:auto; }
.catalog-selection-tray>div>div button { max-width:260px; min-width:160px; border:1px solid #557565; border-radius:7px; background:#173d2e; color:#fff; padding:7px 9px; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; cursor:pointer; }
.catalog-selection-tray>div>div small { display:block; color:#a8c7b5; font-size:12px; }
.catalog-selection-tray>div>div b { color:#efb184; }
.catalog-selection-tray>.primary-button { flex:0 0 auto; background:var(--lime); border-color:var(--lime); color:#17382c; }

.catalog-policy-links>header>div>span,.catalog-source-ledger>header>div>span { display:block; margin-top:5px; color:#697a71; font-size:13px; line-height:1.6; }
.catalog-policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; padding:13px; }
.catalog-policy-grid>a { min-height:105px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid #d1ddd5; border-radius:10px; background:#f9fbf7; color:#244535; padding:13px; }
.catalog-policy-grid>a:hover,.catalog-policy-grid>a:focus-visible { outline:0; border-color:#679174; background:#edf5e9; transform:translateY(-1px); }
.catalog-policy-grid>a>i { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; background:#e5f0e0; color:#3b7551; }
.catalog-policy-grid .ui-icon { width:22px; height:22px; }
.catalog-policy-grid b,.catalog-policy-grid small { display:block; }
.catalog-policy-grid b { font-size:14px; line-height:1.4; }
.catalog-policy-grid small { margin-top:3px; color:#6f8077; font-size:12px; line-height:1.4; }
.catalog-policy-grid em { color:#6b7b73; font-size:12px; font-style:normal; font-weight:900; white-space:nowrap; }

.quality-pass { border-radius:999px; background:#dff1e5; color:#216441; padding:7px 11px; font-size:12px; font-weight:900; letter-spacing:.08em; }
.catalog-quality-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:13px; }
.catalog-quality-grid article { min-height:100px; display:flex; flex-direction:column; border:1px solid #d6e0d9; border-radius:9px; background:#f7faf6; padding:12px; }
.catalog-quality-grid span { color:#74847b; font-size:12px; font-weight:900; letter-spacing:.08em; }
.catalog-quality-grid strong { margin:4px 0; color:#245b3e; font-size:24px; }
.catalog-quality-grid small { margin-top:auto; color:#607168; font-size:12px; line-height:1.4; }
.catalog-source-table { overflow:auto; border-top:1px solid #e0e6e2; }
.catalog-source-table table { width:100%; min-width:720px; border-collapse:collapse; }
.catalog-source-table th,.catalog-source-table td { border-bottom:1px solid #e4e9e6; padding:10px 13px; text-align:left; vertical-align:top; }
.catalog-source-table th { background:#f2f6f1; color:#687970; font-size:12px; letter-spacing:.06em; }
.catalog-source-table td { color:#41554a; font-size:13px; }
.catalog-source-table td b,.catalog-source-table td small { display:block; }
.catalog-source-table td small { margin-top:2px; color:#839087; font-size:12px; }
.catalog-source-table a { color:#1f6645; font-weight:900; }
.catalog-source-ledger>footer { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; border-radius:0 0 14px 14px; background:#17392d; color:#dbe7df; padding:14px 17px; }
.catalog-source-ledger>footer b { color:var(--lime); font-size:12px; letter-spacing:.09em; }
.catalog-source-ledger>footer p { margin:0; font-size:13px; line-height:1.6; }

.catalog-launch-band { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:14px; margin-bottom:12px; border:1px solid #a6c39f; border-radius:12px; background:linear-gradient(115deg,#e6f2e1,#f8fbf5); padding:14px 16px; }
.catalog-launch-band>i { width:50px; height:50px; display:grid; place-items:center; border-radius:11px; background:#17432f; color:var(--lime); }
.catalog-launch-band .ui-icon { width:29px; height:29px; }
.catalog-launch-band p { margin:0; color:#b06331; font-size:12px; font-weight:900; letter-spacing:.1em; }
.catalog-launch-band h2 { margin:2px 0; color:#1a4232; font-family:"Yu Mincho",serif; font-size:18px; }
.catalog-launch-band>div>span { color:#5f7368; font-size:13px; }

.catalog-role-context { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:13px; margin:0 0 12px; border:1px solid #a8c59f; border-radius:11px; background:linear-gradient(110deg,#edf6e8,#f9fbf7); padding:12px 14px; }
.catalog-role-mark { width:56px; height:56px; display:grid; place-items:center; border-radius:11px; background:#173e2f; color:var(--lime); font-size:12px; font-weight:900; line-height:1.1; text-align:center; }
.catalog-role-context p { margin:0; color:#a76032; font-size:12px; font-weight:900; letter-spacing:.08em; }
.catalog-role-context h2 { margin:2px 0; color:#234536; font-size:14px; line-height:1.5; }
.catalog-role-context small { display:block; max-width:820px; overflow:hidden; color:#6e7d75; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.catalog-role-context>em { grid-column:2/-1; margin-top:-5px; color:#4f6b5c; font-size:12px; font-style:normal; }

.technology-dialog { width:min(1120px,94vw); max-width:none; max-height:92vh; overflow:auto; border:0; border-radius:17px; background:#f7f8f4; padding:0; box-shadow:0 30px 90px rgba(0,0,0,.4); }
.technology-dialog::backdrop { background:rgba(3,20,14,.76); backdrop-filter:blur(5px); }
.technology-dialog>.dialog-close { position:sticky; z-index:4; top:11px; float:right; margin:11px 11px -52px 0; }
.technology-detail>header,.technology-comparison>header { border-bottom:1px solid #cfdbd3; background:linear-gradient(130deg,#e6f2e3,#f9fbf7); padding:29px 34px 23px; }
.technology-detail.stage-development>header { background:linear-gradient(130deg,#fff3d9,#fffaf0); }
.technology-detail.stage-certified>header { background:linear-gradient(130deg,#e4f0f6,#f8fbfc); }
.technology-detail>header>em { float:right; margin-right:38px; color:#6f7f77; font-size:12px; font-style:normal; font-weight:900; }
.technology-detail h1,.technology-comparison h1 { max-width:890px; margin:10px 0 6px; color:#173b2e; font-family:"Yu Mincho",serif; font-size:clamp(28px,3vw,42px); line-height:1.35; }
.technology-detail>header>p,.technology-comparison>header>span { margin:0; color:#5f7368; font-size:14px; line-height:1.6; }
.technology-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:15px; }
.technology-detail-grid>section,.technology-detail-grid>aside { border:1px solid #d4ded7; border-radius:11px; background:#fff; padding:19px; }
.technology-detail-grid h2 { margin:0 0 12px; font-family:"Yu Mincho",serif; font-size:20px; }
.technology-detail-grid dl { display:grid; gap:7px; margin:0; }
.technology-detail-grid dl>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; border-top:1px solid #e3e8e5; padding-top:8px; }
.technology-detail-grid dt { color:#75867d; font-size:12px; font-weight:800; }
.technology-detail-grid dd { margin:0; color:#30483c; font-size:13px; line-height:1.55; }
.technology-detail-grid ol { margin:0; padding-left:24px; color:#41594d; }
.technology-detail-grid li { margin:7px 0; font-size:13px; line-height:1.6; }
.detail-boundary { display:grid; grid-template-columns:auto 1fr; gap:9px; margin-top:16px; border:1px solid #e0b39d; border-radius:8px; background:#fff0e8; padding:11px; color:#783e2e; }
.detail-boundary b { font-size:12px; letter-spacing:.08em; }
.detail-boundary span { font-size:12px; line-height:1.55; }
.technology-detail>footer,.technology-comparison>footer { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #d4ddd7; background:#fff; padding:14px 16px; }
.technology-comparison>header p { margin:0; color:#b06a36; font-size:12px; font-weight:900; letter-spacing:.11em; }
.comparison-table { overflow:auto; padding:15px; }
.comparison-table table { width:100%; min-width:780px; border-collapse:collapse; background:#fff; }
.comparison-table th,.comparison-table td { min-width:180px; border:1px solid #d9e1dc; padding:11px; text-align:left; vertical-align:top; font-size:13px; line-height:1.55; }
.comparison-table th:first-child { min-width:110px; background:#f0f5ef; color:#5d7066; }
.comparison-table thead th { background:#e7f1e5; color:#254b38; }
.comparison-table a { color:#1f6745; font-weight:900; }

@media (max-width:1320px) {
  .catalog-button>span b { display:none; }
  .catalog-button { padding-inline:8px; }
  .catalog-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-intent-chips { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .catalog-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .technology-hero { grid-template-columns:1fr; padding:31px; }
  .technology-hero-visual { display:none; }
  .catalog-stage-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-keyword { grid-column:1/-1; }
  .catalog-policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-quality-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:800px) {
  .catalog-button { width:42px; padding:0; justify-content:center; }
  .catalog-button>span { display:none; }
  .midori-catalog-view { padding-top:26px; }
  .technology-hero { border-radius:16px; padding:27px 22px; }
  .technology-hero h1 { font-size:41px; }
  .technology-hero .view-subtitle { font-size:16px; }
  .catalog-stage-section>header,.catalog-search-section>header,.catalog-results-section>header,.catalog-policy-links>header,.catalog-source-ledger>header { align-items:flex-start; flex-direction:column; padding:16px; }
  .catalog-stage-tabs { padding:9px; }
  .catalog-intent-chips { grid-template-columns:repeat(2,minmax(0,1fr)); padding:9px 9px 0; }
  .catalog-filter-form { padding:9px; }
  .catalog-results-grid { grid-template-columns:1fr; padding:9px; }
  .catalog-selection-tray { bottom:72px; align-items:stretch; flex-direction:column; margin-inline:0; }
  .catalog-selection-tray>div { align-items:flex-start; flex-direction:column; }
  .catalog-selection-tray>div>div { width:100%; }
  .catalog-selection-tray>.primary-button { width:100%; }
  .catalog-launch-band { grid-template-columns:44px minmax(0,1fr); }
  .catalog-launch-band>i { width:43px; height:43px; }
  .catalog-launch-band>button { grid-column:1/-1; width:100%; }
  .catalog-role-context { grid-template-columns:50px minmax(0,1fr); }
  .catalog-role-mark { width:48px; height:48px; }
  .catalog-role-context>button { grid-column:1/-1; width:100%; }
  .catalog-role-context>em { grid-column:1/-1; margin:0; }
  .technology-detail-grid { grid-template-columns:1fr; }
}

@media (max-width:560px) {
  .catalog-summary,.catalog-stage-tabs,.catalog-filter-form,.catalog-policy-grid,.catalog-quality-grid { grid-template-columns:1fr; }
  .catalog-keyword { grid-column:auto; }
  .catalog-stat { min-height:130px; }
  .catalog-stage-tabs>button { min-height:88px; }
  .catalog-intent-chips { grid-template-columns:1fr 1fr; }
  .technology-card>footer { grid-template-columns:1fr; }
  .catalog-result-legend { justify-content:flex-start; }
  .catalog-policy-grid>a { grid-template-columns:38px minmax(0,1fr); }
  .catalog-policy-grid>a>em { grid-column:2; }
  .catalog-truth-banner { grid-template-columns:1fr; }
  .catalog-truth-banner>i { display:none; }
  .technology-hero-actions>* { width:100%; }
  .technology-detail>header,.technology-comparison>header { padding:26px 19px 18px; }
  .technology-detail-grid { padding:9px; }
  .technology-detail-grid dl>div { grid-template-columns:1fr; gap:2px; }
}

@media print {
  .catalog-button,.catalog-selection-tray,.technology-dialog { display:none!important; }
}

/* v6.5 role courses and crop -> technology stack -> finance navigator. */
.course-button { min-height:42px; display:flex; align-items:center; gap:8px; border:1px solid #d7bd70; border-radius:8px; background:#fff5d9; color:#60470e; padding:0 11px; cursor:pointer; }
.course-button:hover,.course-button:focus-visible { outline:0; border-color:#b38320; background:#ffedba; box-shadow:0 0 0 3px rgba(179,131,32,.14); }
.course-button>i { width:24px; height:24px; display:grid; place-items:center; color:#8a6413; }
.course-button .ui-icon { width:22px; height:22px; }
.course-button>span { display:grid; text-align:left; line-height:1.12; }
.course-button b { font-size:13px; }
.course-button small { color:#8d711f; font-size:12px; font-weight:900; letter-spacing:.07em; }
body[data-active-view="course"] #farmContextBar,body[data-active-view="course"] #playerContext { display:none!important; }
.course-view { padding-top:21px; }
.course-hero { min-height:380px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(350px,.8fr); align-items:center; gap:30px; border-radius:22px; padding:42px 45px; color:#fff; background:linear-gradient(132deg,#0a2c20,#17523a); overflow:hidden; }
.course-hero>div>p,.course-role-choice>header p,.course-work-section>header>span,.stack-map header p,.stack-sequence header p,.official-stack-records>header p,.course-next-actions>header p,.role-course-entry>header p { margin:0 0 8px; color:#d6ef70; font-size:12px; font-weight:900; letter-spacing:.14em; }
.course-hero h1 { max-width:850px; margin:0; font-family:"Yu Mincho",serif; font-size:clamp(35px,4.2vw,60px); font-weight:600; line-height:1.22; letter-spacing:-.035em; }
.course-hero>div>span { display:block; max-width:820px; margin-top:17px; color:#c6d9ce; font-size:15px; line-height:1.8; }
.course-hero>svg { width:100%; height:auto; filter:drop-shadow(0 22px 32px rgba(0,0,0,.22)); }
.course-stats { display:flex; gap:9px; margin-top:28px; }
.course-stats article { min-width:124px; border:1px solid rgba(255,255,255,.15); border-radius:10px; padding:10px 13px; background:rgba(255,255,255,.08); }
.course-stats strong,.course-stats small { display:block; }
.course-stats strong { color:#dff56e; font-size:26px; }
.course-stats small { color:#c5d4cb; font-size:12px; }
.course-truth { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:14px; margin-top:13px; border:1px solid #e5d09a; border-radius:12px; padding:15px 18px; background:#fff7df; }
.course-truth>i { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; background:#fff; color:#806014; }
.course-truth .ui-icon { width:23px; height:23px; }
.course-truth b,.course-truth span { display:block; }
.course-truth b { color:#59430d; font-size:14px; }
.course-truth span { margin-top:3px; color:#736641; font-size:13px; line-height:1.55; }
.course-truth a { color:#5b4510; font-size:13px; font-weight:900; }
.course-role-choice,.course-work-section { margin-top:14px; border:1px solid #cfdad2; border-radius:15px; background:#fff; overflow:hidden; }
.course-role-choice>header,.course-work-section>header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 23px; border-bottom:1px solid #d9e1dc; }
.course-role-choice>header p { color:#ba6c35; }
.course-role-choice>header h2,.course-work-section>header h2,.stack-map h2,.stack-sequence h2,.official-stack-records h2,.course-next-actions h2 { margin:0; color:#173b2e; font-family:"Yu Mincho",serif; font-size:26px; font-weight:600; line-height:1.35; }
.role-course-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; }
.role-course-card { position:relative; min-width:0; display:grid; grid-template-columns:46px 1fr; gap:10px; align-items:start; border:2px solid #d4ddd7; border-radius:13px; padding:17px 16px 15px; background:#fbfcf9; color:#173b2e; text-align:left; cursor:pointer; transition:.16s ease; }
.role-course-card:hover,.role-course-card:focus-visible { outline:0; border-color:#4c8665; background:#f2f8ef; transform:translateY(-2px); box-shadow:0 8px 20px rgba(24,74,52,.09); }
.role-course-card.selected { border-color:#176145; background:#eaf5e7; box-shadow:inset 0 0 0 1px #176145; }
.role-course-card>i { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:#e4efdf; color:#176145; }
.role-course-card .ui-icon { width:24px; height:24px; }
.role-course-card>span:not(.course-number) { min-width:0; }
.role-course-card b,.role-course-card small,.role-course-card em { display:block; }
.role-course-card b { font-size:17px; line-height:1.45; }
.role-course-card small { margin-top:5px; color:#64746b; font-size:13px; line-height:1.55; }
.role-course-card em { margin-top:10px; color:#805c16; font-size:12px; font-style:normal; font-weight:900; }
.role-course-card>strong { grid-column:1/-1; min-height:35px; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#183e2f; color:#fff; font-size:13px; }
.role-course-card:not(.selected)>strong { background:#edf2ec; color:#28533f; }
.course-number { position:absolute; top:8px; right:10px; color:#9aa9a0; font-size:12px; font-weight:900; }
.course-route-map { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; }
.course-route-map button { min-height:66px; display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:8px; border:1px solid #ccd7d0; border-radius:11px; padding:10px 13px; background:#fff; color:#315847; text-align:left; cursor:pointer; }
.course-route-map button:hover,.course-route-map button:focus-visible { outline:0; border-color:#52836a; background:#f1f7ef; }
.course-route-map button.active { border-color:#173f30; background:#173f30; color:#fff; box-shadow:0 7px 18px rgba(11,48,34,.14); }
.course-route-map i { width:30px; height:30px; display:grid; place-items:center; }
.course-route-map .ui-icon { width:22px; height:22px; }
.course-route-map span { font-size:14px; font-weight:900; }
.course-route-map b { font-size:12px; }
.active-course-banner { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; margin-top:9px; border-radius:10px; padding:11px 14px; background:#eaf2e7; color:#234d39; }
.active-course-banner>i { width:40px; height:40px; display:grid; place-items:center; border-radius:9px; background:#fff; }
.active-course-banner .ui-icon { width:23px; height:23px; }
.active-course-banner small,.active-course-banner b,.active-course-banner em { display:block; }
.active-course-banner small { color:#718276; font-size:12px; font-weight:900; }
.active-course-banner b { font-size:15px; }
.active-course-banner em { color:#6e7e74; font-size:12px; font-style:normal; }
.active-course-banner button { border:0; background:transparent; color:#285940; font-size:13px; font-weight:900; cursor:pointer; }
.course-work-section>header { justify-content:flex-start; align-items:flex-start; }
.course-work-section>header>span { flex:0 0 auto; margin:2px 0 0; border-radius:6px; padding:6px 9px; background:#b96c38; color:#fff; }
.course-work-section>header p { max-width:920px; margin:5px 0 0; color:#63736a; font-size:14px; line-height:1.6; }
.course-work-section>footer { display:flex; justify-content:flex-end; gap:8px; border-top:1px solid #dce3de; padding:15px 18px; background:#f8faf6; }
.course-crop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:18px; }
.course-crop-grid button { min-height:94px; display:grid; grid-template-columns:50px 1fr 24px; align-items:center; gap:12px; border:2px solid #d4ded7; border-radius:12px; padding:15px; background:#fff; color:#1c4936; text-align:left; cursor:pointer; }
.course-crop-grid button:hover,.course-crop-grid button:focus-visible { outline:0; border-color:#53876c; background:#f4f9f1; }
.course-crop-grid button.selected { border-color:#176145; background:#e8f4e5; box-shadow:inset 0 0 0 1px #176145; }
.course-crop-grid button>i { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; background:#edf3e9; }
.course-crop-grid .ui-icon { width:27px; height:27px; }
.course-crop-grid b,.course-crop-grid small { display:block; }
.course-crop-grid b { font-size:18px; }
.course-crop-grid small { margin-top:4px; color:#708077; font-size:12px; }
.course-crop-grid strong { font-size:16px; }
.pattern-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 18px 0; }
.pattern-toolbar b,.pattern-toolbar small { display:block; }
.pattern-toolbar b { color:#1c4d38; font-size:16px; }
.pattern-toolbar small { margin-top:3px; color:#6d7b73; font-size:13px; }
.technology-pattern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; padding:18px; }
.technology-pattern-card { min-width:0; display:flex; flex-direction:column; border:2px solid #d3ddd6; border-radius:13px; padding:16px; background:#fff; color:#183e2f; text-align:left; cursor:pointer; overflow:hidden; transition:.16s ease; }
.technology-pattern-card:hover,.technology-pattern-card:focus-visible { outline:0; border-color:#4c8665; transform:translateY(-2px); box-shadow:0 10px 23px rgba(24,74,52,.10); }
.technology-pattern-card.selected { border-color:#166145; background:#edf7e9; box-shadow:inset 0 0 0 1px #166145; }
.technology-pattern-card>header { display:flex; justify-content:space-between; align-items:center; color:#9a5d34; }
.technology-pattern-card>header span { font-size:12px; font-weight:900; letter-spacing:.06em; }
.technology-pattern-card>header i { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; background:#edf3ea; color:#176145; }
.technology-pattern-card .ui-icon { width:21px; height:21px; }
.technology-pattern-card h3 { margin:10px 0 6px; color:#173b2e; font-family:"Yu Mincho",serif; font-size:20px; line-height:1.42; }
.technology-pattern-card>p { min-height:59px; margin:0; color:#63736a; font-size:13px; line-height:1.55; }
.technology-pattern-card>ol { display:grid; gap:4px; margin:12px 0; padding:0; list-style:none; }
.technology-pattern-card>ol li { position:relative; padding-left:17px; color:#324f41; font-size:13px; line-height:1.45; }
.technology-pattern-card>ol li:before { content:"✓"; position:absolute; left:0; color:#4c875d; font-weight:900; }
.pattern-dimensions { display:flex; flex-wrap:wrap; gap:4px; }
.pattern-dimensions span,.stack-effects span { border-radius:99px; padding:4px 7px; background:#e7f0e3; color:#315d45; font-size:12px; font-weight:800; }
.technology-pattern-card>aside { min-height:68px; display:block; margin-top:12px; border-top:1px solid #dbe3dd; padding-top:10px; }
.technology-pattern-card>aside b,.technology-pattern-card>aside small { display:block; }
.technology-pattern-card>aside b { color:#956127; font-size:12px; }
.technology-pattern-card>aside small { margin-top:3px; color:#68786f; font-size:12px; line-height:1.45; }
.technology-pattern-card>footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:12px -16px -16px; padding:11px 16px; background:#edf2eb; }
.technology-pattern-card.selected>footer { background:#176145; color:#fff; }
.technology-pattern-card>footer strong { font-size:13px; }
.technology-pattern-card>footer em { font-size:12px; font-style:normal; }
.course-empty { margin:20px; border:1px dashed #acbcb1; border-radius:12px; padding:35px; text-align:center; background:#f7faf5; }
.course-empty>i { width:54px; height:54px; display:grid; place-items:center; margin:0 auto; color:#477b5e; }
.course-empty h3 { margin:8px 0; font-family:"Yu Mincho",serif; font-size:24px; }
.course-empty p { max-width:650px; margin:0 auto 18px; color:#68776e; font-size:14px; }
.stack-dashboard { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:12px; padding:18px; }
.stack-map,.stack-sequence { border:1px solid #d2ddd5; border-radius:12px; overflow:hidden; }
.stack-map>header,.stack-sequence>header,.official-stack-records>header,.course-next-actions>header { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; border-bottom:1px solid #d9e2dc; padding:16px 18px; }
.stack-map header p,.stack-sequence header p,.official-stack-records>header p,.course-next-actions>header p { color:#b56b39; }
.stack-map>header>span { border-radius:7px; padding:5px 8px; background:#173f30; color:#fff; font-size:13px; font-weight:900; }
.stack-layers { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.stack-layers article { min-height:76px; display:grid; place-items:center; align-content:center; gap:4px; border-right:1px solid #dae3dd; color:#a3aea7; background:#f7f9f5; }
.stack-layers article:last-child { border:0; }
.stack-layers article.active { color:#17543b; background:#eaf4e6; }
.stack-layers i { font-style:normal; font-size:14px; font-weight:900; }
.stack-layers b { font-size:12px; text-align:center; }
.stack-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d9e2dc; }
.stack-metrics article { padding:14px; border-right:1px solid #d9e2dc; }
.stack-metrics article:last-child { border:0; }
.stack-metrics strong,.stack-metrics span { display:block; }
.stack-metrics strong { color:#174e38; font-size:24px; }
.stack-metrics span { color:#697970; font-size:12px; }
.stack-effects { display:flex; flex-wrap:wrap; gap:5px; border-top:1px solid #d9e2dc; padding:13px; }
.stack-sequence>ol { max-height:390px; overflow:auto; margin:0; padding:10px 14px 14px; list-style:none; }
.stack-sequence li { display:grid; grid-template-columns:31px 1fr; gap:9px; padding:9px 3px; border-bottom:1px solid #e2e7e3; }
.stack-sequence li:last-child { border:0; }
.stack-sequence li>i { color:#a86634; font-size:12px; font-style:normal; font-weight:900; }
.stack-sequence b,.stack-sequence small { display:block; }
.stack-sequence b { font-size:13px; }
.stack-sequence small { color:#75837a; font-size:12px; }
.stack-caution { display:grid; grid-template-columns:40px 1fr; gap:12px; margin:0 18px 18px; border:1px solid #e5d09a; border-radius:10px; padding:14px; background:#fff7df; }
.stack-caution>i { width:38px; height:38px; display:grid; place-items:center; color:#845f18; }
.stack-caution b,.stack-caution span { display:block; }
.stack-caution b { color:#644c18; font-size:14px; }
.stack-caution span { margin-top:3px; color:#766747; font-size:13px; line-height:1.55; }
.official-stack-records { margin:0 18px 18px; border:1px solid #d1ddd5; border-radius:12px; overflow:hidden; }
.official-stack-records>header>div>span { display:block; margin-top:4px; color:#6f7e75; font-size:12px; }
.official-stack-records>div { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; }
.official-stack-records>div>button { min-width:0; display:flex; flex-direction:column; border:1px solid #d3ddd6; border-radius:9px; padding:12px; background:#fff; color:#234b39; text-align:left; cursor:pointer; }
.official-stack-records>div>button:hover,.official-stack-records>div>button:focus-visible { outline:0; border-color:#4d8667; background:#f0f7ed; }
.official-stack-records button span,.official-stack-records button b,.official-stack-records button small,.official-stack-records button em { display:block; }
.official-stack-records button span { color:#a06638; font-size:12px; font-weight:900; }
.official-stack-records button b { margin-top:5px; font-size:13px; line-height:1.45; }
.official-stack-records button small { margin-top:4px; color:#6e7d74; font-size:12px; }
.official-stack-records button em { margin-top:auto; padding-top:9px; color:#286345; font-size:12px; font-style:normal; font-weight:900; }
.finance-route-note { display:grid; grid-template-columns:44px 1fr; gap:12px; margin:18px 18px 0; border-radius:11px; padding:14px; background:#edf4e9; }
.finance-route-note>i { width:42px; height:42px; display:grid; place-items:center; border-radius:9px; background:#fff; color:#1b6547; }
.finance-route-note b,.finance-route-note span { display:block; }
.finance-route-note b { font-size:14px; }
.finance-route-note span { margin-top:4px; color:#66766d; font-size:13px; line-height:1.55; }
.finance-route-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; padding:18px; }
.finance-route-grid>button { min-width:0; display:grid; grid-template-columns:43px 1fr; gap:10px; border:2px solid #d2dcd5; border-radius:12px; padding:16px; background:#fff; color:#204b38; text-align:left; cursor:pointer; }
.finance-route-grid>button:hover,.finance-route-grid>button:focus-visible { outline:0; border-color:#4c8465; }
.finance-route-grid>button.selected { border-color:#176145; background:#edf7e9; box-shadow:inset 0 0 0 1px #176145; }
.finance-route-grid>button>i { width:41px; height:41px; display:grid; place-items:center; border-radius:9px; background:#e7f0e2; }
.finance-route-grid small,.finance-route-grid b,.finance-route-grid em { display:block; }
.finance-route-grid small { color:#a16131; font-size:12px; font-weight:900; }
.finance-route-grid b { font-size:17px; }
.finance-route-grid em { margin-top:4px; color:#697970; font-size:13px; font-style:normal; }
.finance-route-grid dl { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:5px 0; }
.finance-route-grid dl>div { border-radius:7px; padding:9px; background:#f1f4ef; }
.finance-route-grid dt { color:#748178; font-size:12px; font-weight:900; }
.finance-route-grid dd { margin:3px 0 0; font-size:13px; line-height:1.45; }
.finance-route-grid>button>strong { grid-column:1/-1; min-height:34px; display:flex; align-items:center; justify-content:center; border-radius:7px; background:#e9efea; font-size:13px; }
.finance-route-grid>button.selected>strong { background:#176145; color:#fff; }
.course-next-actions { margin:0 18px 18px; border:1px solid #d1ddd5; border-radius:12px; overflow:hidden; }
.course-next-actions>div { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; }
.course-next-actions button { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:9px; border:1px solid #cbd8d0; border-radius:8px; padding:9px 12px; background:#fff; color:#21533b; font-size:13px; font-weight:900; cursor:pointer; }
.course-next-actions button:hover,.course-next-actions button:focus-visible { outline:0; border-color:#477f60; background:#eef6eb; }
.role-course-entry { position:relative; z-index:2; grid-column:1/-1; margin-top:3px; border:1px solid #cbd9cf; border-radius:13px; background:#fff; overflow:hidden; }
.role-course-entry>header { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid #d8e1da; padding:15px 17px; }
.role-course-entry>header p { color:#b36a37; }
.role-course-entry>header h2 { margin:0; color:#173b2e; font-family:"Yu Mincho",serif; font-size:22px; }
.role-course-entry>header span { display:block; margin-top:3px; color:#6d7c73; font-size:13px; }
.role-course-entry .role-course-cards { padding:10px; }
.role-course-entry .role-course-card { padding:13px; }
.role-course-entry .role-course-card>i { width:38px; height:38px; }
.role-course-entry .role-course-card b { font-size:15px; }
.role-course-entry .role-course-card small { font-size:12px; }
.onboarding-course-zone { flex:1 0 100%; width:100%; margin-top:14px; border:1px solid #cddbd1; border-radius:12px; background:#f6f9f3; overflow:hidden; }
.onboarding-course-zone>header { padding:13px 15px 0; }
.onboarding-course-zone>header b,.onboarding-course-zone>header span { display:block; }
.onboarding-course-zone>header b { color:#174b36; font-size:15px; }
.onboarding-course-zone>header span { margin-top:3px; color:#6a796f; font-size:12px; }
.onboarding-course-zone .role-course-cards { padding:10px; }
.onboarding-course-zone .role-course-card { min-height:150px; padding:12px; grid-template-columns:36px 1fr; }
.onboarding-course-zone .role-course-card>i { width:34px; height:34px; }
.onboarding-course-zone .role-course-card b { font-size:14px; }
.onboarding-course-zone .role-course-card small,.onboarding-course-zone .role-course-card em { font-size:12px; }

@media (max-width:1320px) {
  .course-button>span b { display:none; }
  .course-button { padding-inline:8px; }
  .technology-pattern-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:1000px) {
  .course-hero { grid-template-columns:1fr; }
  .course-hero>svg { display:none; }
  .role-course-cards,.course-crop-grid { grid-template-columns:1fr; }
  .role-course-card { min-height:auto; }
  .official-stack-records>div { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:800px) {
  .course-button,.catalog-button { width:42px; padding:0; justify-content:center; }
  .course-button>span,.catalog-button>span { display:none; }
  .course-view { padding-top:12px; }
  .course-hero { min-height:0; padding:28px 23px; border-radius:15px; }
  .course-hero h1 { font-size:36px; }
  .course-hero>div>span { font-size:14px; }
  .course-stats { display:grid; grid-template-columns:repeat(3,1fr); }
  .course-stats article { min-width:0; padding:9px; }
  .course-truth { grid-template-columns:38px 1fr; }
  .course-truth a { grid-column:2; }
  .course-role-choice>header,.course-work-section>header,.official-stack-records>header { align-items:flex-start; flex-direction:column; }
  .course-route-map { display:flex; overflow:auto; }
  .course-route-map button { min-width:190px; }
  .active-course-banner { grid-template-columns:38px 1fr; }
  .active-course-banner button { grid-column:2; justify-self:start; padding:0; }
  .technology-pattern-grid,.stack-dashboard,.finance-route-grid { grid-template-columns:1fr; }
  .technology-pattern-card>p { min-height:0; }
  .official-stack-records>div { grid-template-columns:1fr; }
  .course-next-actions>div { grid-template-columns:1fr; }
  .role-course-entry>header { align-items:flex-start; flex-direction:column; }
  .role-course-entry>header button { width:100%; }
  .onboarding-course-zone .role-course-cards { grid-template-columns:1fr; }
  .onboarding-course-zone .role-course-card { min-height:0; }
}
@media (max-width:520px) {
  .course-button { display:flex; }
  .catalog-button { display:none; }
  .course-hero h1 { font-size:31px; }
  .course-stats { grid-template-columns:1fr; }
  .course-stats article { display:grid; grid-template-columns:45px 1fr; align-items:center; }
  .course-truth { grid-template-columns:1fr; }
  .course-truth a { grid-column:auto; }
  .course-crop-grid,.technology-pattern-grid { padding:12px; }
  .pattern-toolbar { align-items:flex-start; flex-direction:column; }
  .pattern-toolbar button { width:100%; }
  .stack-layers { display:flex; overflow:auto; }
  .stack-layers article { min-width:105px; }
  .stack-metrics { grid-template-columns:1fr; }
  .stack-metrics article { border-right:0; border-bottom:1px solid #d9e2dc; }
  .finance-route-grid dl { grid-template-columns:1fr; }
  .course-work-section>footer { align-items:stretch; flex-direction:column; }
  .course-work-section>footer button { width:100%; }
}

@media print {
  .course-button,.course-route-map,.role-course-entry { display:none!important; }
}

/* v6.6 — NOTE knowledge layer: learn in NOTE, practise in the terminal */
.note-learning-button {
  min-height:42px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #313531;
  border-radius:8px;
  background:#fff;
  color:#202521;
  padding:0 11px;
  cursor:pointer;
  white-space:nowrap;
}
.note-learning-button:hover,.note-learning-button:focus-visible {
  outline:0;
  border-color:#0c2f22;
  background:#f4f7ef;
  box-shadow:0 0 0 3px rgba(25,83,59,.12);
}
.note-learning-button .note-n {
  width:25px;
  height:25px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#2f3430;
  color:#fff;
  font:900 15px/1 Arial,sans-serif;
}
.note-learning-button>span:last-child { display:grid; text-align:left; line-height:1.12; }
.note-learning-button b { font-size:13px; }
.note-learning-button small { color:#64736a; font-size:12px; font-weight:900; letter-spacing:.07em; }

.note-context-band {
  margin-top:24px;
  border:1px solid #cbd8cf;
  border-top:5px solid #2e3430;
  border-radius:14px;
  background:linear-gradient(135deg,#f8faf5,#edf4e9);
  overflow:hidden;
}
.note-context-band>header {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  padding:20px 22px 16px;
}
.note-context-mark {
  width:76px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:10px;
  background:#132f25;
  color:#fff;
}
.note-context-mark span {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:#fff;
  color:#1f2521;
  font-size:13px;
  font-weight:900;
}
.note-context-mark span:last-child { width:29px; background:var(--lime); color:#0c2b20; font-size:12px; }
.note-context-mark i { color:#9bb4a5; font-size:12px; font-style:normal; }
.note-context-band>header p {
  margin:0;
  color:#5c7466;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
}
.note-context-band>header h2 {
  margin:2px 0 3px;
  color:#14382b;
  font-family:"Yu Mincho",serif;
  font-size:22px;
  line-height:1.45;
}
.note-context-band>header>div:nth-child(2)>span {
  display:block;
  color:#607067;
  font-size:13px;
  line-height:1.65;
}
.note-all-button {
  min-height:44px;
  border:0;
  border-radius:8px;
  background:#123e2c;
  color:#fff;
  padding:0 15px;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.note-all-button b { color:var(--lime); margin-left:5px; }
.note-all-button:hover,.note-all-button:focus-visible { background:#0b2d20; transform:translateY(-1px); }
.note-context-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  padding:0 14px 14px;
}
.note-context-card {
  min-height:195px;
  display:flex;
  flex-direction:column;
  border:1px solid #d2ddd5;
  border-radius:10px;
  background:#fff;
  padding:15px;
  box-shadow:0 4px 15px rgba(14,47,34,.04);
}
.note-context-card:hover {
  border-color:#648a74;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(14,47,34,.1);
}
.note-card-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.note-card-meta b {
  color:#1b5c41;
  font-size:12px;
  font-weight:900;
}
.note-card-meta time { color:#7a887f; font-size:12px; font-weight:700; }
.note-context-card>strong,.note-article-card>strong {
  display:block;
  margin-top:10px;
  color:#18392e;
  font-family:"Yu Mincho",serif;
  font-size:16px;
  line-height:1.55;
}
.note-context-card>em,.note-article-card>em {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
  color:#1d6546;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.note-context-card>em i,.note-article-card>em i { font-size:16px; font-style:normal; }
.note-card-actions {
  display:grid;
  grid-template-columns:minmax(104px,.75fr) minmax(0,1.35fr);
  gap:7px;
  margin-top:auto;
  padding-top:14px;
}
.note-card-actions a,.note-card-actions button {
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  border-radius:7px;
  padding:7px 10px;
  text-align:left;
  font-size:12px;
  font-weight:900;
  line-height:1.35;
}
.note-card-actions a {
  border:1px solid #cbd6ce;
  background:#f6f8f4;
  color:#2f4439;
}
.note-card-actions button {
  border:1px solid #164833;
  background:#164833;
  color:#fff;
}
.note-card-actions a:hover,.note-card-actions a:focus-visible { border-color:#5e7d6a; background:#fff; }
.note-card-actions button:hover,.note-card-actions button:focus-visible { background:#0c3323; }
.note-card-actions b { flex:0 0 auto; color:#7c9718; font-size:15px; }
.note-card-actions button b { color:var(--lime); }
.note-context-band>footer {
  display:flex;
  align-items:flex-start;
  gap:10px;
  border-top:1px solid #d4dfd7;
  padding:11px 17px;
  background:#f8faf6;
  color:#65736b;
  font-size:12px;
  line-height:1.6;
}
.note-context-band>footer b {
  flex:0 0 auto;
  border-radius:99px;
  background:#e4e9e4;
  color:#3e4d44;
  padding:2px 8px;
  font-size:12px;
}

.note-library-dialog {
  width:min(1180px,95vw);
  max-width:none;
  max-height:94vh;
  border:0;
  border-radius:18px;
  background:#f5f6f1;
  padding:0;
  overflow:hidden;
  box-shadow:0 35px 110px rgba(0,0,0,.42);
}
.note-library-dialog::backdrop { background:rgba(4,20,14,.8); backdrop-filter:blur(6px); }
.note-library-shell { max-height:94vh; overflow:auto; }
.note-library-shell>header {
  position:relative;
  display:grid;
  grid-template-columns:108px minmax(0,1fr) 42px;
  align-items:center;
  gap:22px;
  min-height:188px;
  padding:27px 30px;
  background:linear-gradient(120deg,#0a291e,#174b35);
  color:#fff;
}
.note-library-shell>header .dialog-close {
  position:static;
  align-self:start;
  color:#18382d;
  border-color:rgba(255,255,255,.7);
}
.note-library-shell>header p {
  margin:0;
  color:#d7f26a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.15em;
}
.note-library-shell>header h2 {
  margin:5px 0 7px;
  font-family:"Yu Mincho",serif;
  font-size:clamp(28px,3.2vw,43px);
  font-weight:600;
  line-height:1.3;
}
.note-library-shell>header h2:focus { outline:0; }
.note-library-shell>header>div:nth-child(2)>span {
  display:block;
  max-width:820px;
  color:#bfd0c7;
  font-size:14px;
  line-height:1.65;
}
.note-library-brand {
  width:108px;
  height:108px;
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  border:1px solid #3a5d4d;
  border-radius:17px;
  background:#0d3325;
}
.note-library-brand span,.note-library-brand b {
  width:42px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#fff;
  color:#222a25;
  font:900 16px/1 Arial,sans-serif;
}
.note-library-brand b { background:var(--lime); color:#0b2a1f; font-size:13px; }
.note-library-brand i { color:#95ac9f; font-size:13px; font-style:normal; line-height:1; }
.note-library-guide {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:11px;
  margin:18px 22px 0;
  border:1px solid #e1c787;
  border-left:5px solid var(--gold);
  border-radius:10px;
  background:#fff6df;
  padding:14px 16px;
  color:#665b42;
}
.note-learning-loop {
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:8px;
  background:#fff;
  padding:8px 10px;
}
.note-learning-loop>span { display:grid; grid-template-columns:24px 1fr; align-items:center; column-gap:7px; }
.note-learning-loop i {
  grid-row:1/3;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#303531;
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.note-learning-loop b,.note-learning-loop em { display:block; line-height:1.2; white-space:nowrap; }
.note-learning-loop b { color:#193d2f; font-size:12px; }
.note-learning-loop em { color:#6b766f; font-size:12px; font-style:normal; }
.note-learning-loop>strong { color:#8b6c1f; font-size:16px; }
.note-library-guide>p { margin:0; align-self:center; }
.note-library-guide>p b,.note-library-guide>p span { display:block; }
.note-library-guide>p b { color:#554414; font-size:13px; }
.note-library-guide>p span { margin-top:3px; font-size:13px; line-height:1.65; }
.note-library-filters {
  display:flex;
  align-items:center;
  gap:7px;
  padding:18px 22px 12px;
  overflow:auto;
}
.note-library-filters button {
  min-height:39px;
  flex:0 0 auto;
  border:1px solid #cbd5ce;
  border-radius:99px;
  background:#fff;
  color:#405349;
  padding:0 14px;
  font-size:13px;
  font-weight:900;
}
.note-library-filters button.active {
  border-color:#123e2c;
  background:#123e2c;
  color:#fff;
}
.note-library-filters>span { margin-left:auto; color:#6b796f; font-size:12px; font-weight:900; white-space:nowrap; }
.note-article-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 22px 22px;
}
.note-article-card {
  min-height:350px;
  display:flex;
  flex-direction:column;
  border:1px solid #d2ddd5;
  border-radius:12px;
  background:#fff;
  padding:19px;
}
.note-article-card:hover,.note-article-card:focus-visible {
  border-color:#5f8d72;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(13,49,35,.1);
}
.note-article-card>strong { margin-top:12px; font-size:19px; }
.note-article-card>p {
  margin:9px 0 14px;
  color:#637168;
  font-size:13px;
  line-height:1.75;
}
.note-practice-preview {
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:2px 12px;
  margin-top:auto;
  border-left:4px solid #1c6445;
  border-radius:7px;
  background:#edf4e9;
  padding:11px 12px;
}
.note-practice-preview small {
  grid-row:1/3;
  align-self:center;
  color:#5b7164;
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
}
.note-practice-preview b { color:#173c2e; font-size:13px; }
.note-practice-preview span { color:#627168; font-size:12px; line-height:1.55; }
.note-article-card .note-card-actions { margin-top:9px; }
.note-library-shell>footer {
  position:sticky;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #d8dfd9;
  background:rgba(255,255,255,.97);
  padding:13px 22px;
}
.note-library-shell>footer a {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:8px;
  background:#2e3430;
  color:#fff;
  padding:0 15px;
  font-size:13px;
  font-weight:900;
}
.note-library-shell>footer a b { color:var(--lime); }
.note-library-shell>footer>span { color:#718078; font-size:12px; font-weight:900; letter-spacing:.08em; }

@media (max-width:1320px) {
  .note-learning-button>span:last-child b { display:none; }
  .note-learning-button { padding-inline:8px; }
}
@media (max-width:900px) {
  .note-context-band>header { grid-template-columns:auto 1fr; }
  .note-context-band>header .note-all-button { grid-column:2; justify-self:start; }
  .note-context-grid { grid-template-columns:1fr; }
  .note-context-card { min-height:165px; }
}
@media (max-width:800px) {
  .note-learning-button { width:42px; padding:0; justify-content:center; }
  .note-learning-button>span:last-child { display:none; }
  .note-library-shell>header { grid-template-columns:62px 1fr 38px; gap:13px; min-height:160px; padding:22px 17px; }
  .note-library-brand { width:62px; height:84px; border-radius:12px; }
  .note-library-brand span,.note-library-brand b { width:35px; height:26px; font-size:13px; }
  .note-library-brand b { font-size:12px; }
  .note-article-grid { grid-template-columns:1fr; }
  .note-article-card { min-height:225px; }
}
@media (max-width:560px) {
  .note-context-band>header { grid-template-columns:1fr; padding:17px; }
  .note-context-mark { width:68px; height:45px; }
  .note-context-band>header .note-all-button { grid-column:auto; width:100%; }
  .note-context-grid { padding:0 10px 10px; }
  .note-context-band>footer { display:block; }
  .note-context-band>footer b { display:inline-block; margin-bottom:5px; }
  .note-library-dialog { width:97vw; border-radius:13px; }
  .note-library-shell>header { grid-template-columns:1fr 38px; }
  .note-library-brand { display:none; }
  .note-library-shell>header h2 { font-size:29px; }
  .note-library-guide { grid-template-columns:1fr; margin-inline:12px; }
  .note-learning-loop { justify-content:center; overflow:auto; }
  .note-library-filters { padding-inline:12px; }
  .note-library-filters>span { display:none; }
  .note-article-grid { padding-inline:12px; }
  .note-article-card { min-height:0; }
  .note-practice-preview { grid-template-columns:1fr; }
  .note-practice-preview small { grid-row:auto; }
  .note-card-actions { grid-template-columns:1fr; }
  .note-library-shell>footer { align-items:stretch; flex-direction:column; }
  .note-library-shell>footer a { justify-content:center; }
}
@media print {
  .note-learning-button,.note-library-dialog,.note-context-band { display:none!important; }
}

/* v6.7 — beginner-first visual system */
.beginner-guide-button {
  border-color:#d8bd70;
  background:linear-gradient(145deg,#fffaf0,#fff1cc);
  color:#423714;
  box-shadow:0 3px 10px rgba(93,69,13,.08);
}
.beginner-guide-button:hover,.beginner-guide-button:focus-visible {
  outline:0;
  border-color:#ae8722;
  background:#fff7df;
  box-shadow:0 0 0 3px rgba(201,153,34,.15);
}
.beginner-guide-button>span {
  display:grid;
  min-width:88px;
  text-align:left;
  line-height:1.12;
}
.beginner-guide-button>span b { font-size:12px; }
.beginner-guide-button>span small { color:#8d6d18; font-size:12px; font-weight:800; }

.guide-illustration {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  border-radius:22px;
  background:#e9f0df;
  box-shadow:0 24px 44px rgba(0,0,0,.22);
}
.guide-illustration img {
  width:100%;
  height:310px;
  display:block;
  object-fit:cover;
  object-position:center;
}
.guide-illustration>span {
  position:absolute;
  right:14px;
  bottom:14px;
  left:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:99px;
  background:rgba(9,45,33,.88);
  color:#fff;
  padding:10px 14px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(5px);
}
.guide-illustration>span b { font-size:12px; }
.guide-illustration>span i { color:var(--lime); font-style:normal; font-weight:900; }
.guide-actions .secondary-button {
  border-color:#fff;
  background:#fff;
  color:#173d2f;
}
.guide-actions .secondary-button:hover,.guide-actions .secondary-button:focus-visible {
  border-color:var(--lime);
  box-shadow:0 0 0 3px rgba(216,242,106,.18);
}

.beginner-start-board {
  margin-top:16px;
  border:1px solid #d5ddcf;
  border-radius:18px;
  background:linear-gradient(135deg,#fffdf7,#f2f7ec);
  padding:24px;
  box-shadow:0 10px 28px rgba(19,62,45,.06);
}
.beginner-start-board>header {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:17px;
}
.beginner-start-board>header>span {
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:99px;
  background:#173f30;
  color:#fff;
  padding:8px 12px 8px 8px;
  font-size:12px;
  white-space:nowrap;
}
.beginner-start-board>header>span i {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--lime);
  color:#16382b;
  font-style:normal;
  font-weight:900;
}
.beginner-start-board h2 {
  margin:0;
  color:#173c2f;
  font-family:"Yu Mincho",serif;
  font-size:clamp(23px,2.4vw,33px);
  font-weight:600;
  line-height:1.35;
}
.beginner-start-board>header p {
  margin:5px 0 0;
  color:#68756d;
  font-size:13px;
  line-height:1.65;
}
.beginner-start-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-top:19px;
}
.beginner-start-card {
  position:relative;
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:15px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.beginner-start-card.learn { border-color:#e4c797; background:#fff4df; color:#4b361d; }
.beginner-start-card.path { border-color:#b5d1d7; background:#eaf6f5; color:#163f40; }
.beginner-start-card.try { border-color:#b9d0a7; background:#eaf4df; color:#173d2c; }
.beginner-start-card:hover,.beginner-start-card:focus-visible {
  outline:0;
  transform:translateY(-4px);
  border-color:#196346;
  box-shadow:0 13px 28px rgba(12,65,44,.14);
}
.beginner-card-art {
  width:100%;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
  border-radius:11px;
  background:rgba(255,255,255,.72);
  padding:0 10px;
}
.beginner-card-art i {
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#183d2f;
  color:#fff;
  font:900 16px/1 Arial,sans-serif;
  font-style:normal;
}
.beginner-card-art b {
  color:#6d7e73;
  font-size:12px;
  letter-spacing:.12em;
}
.beginner-start-card>small {
  color:#6d786f;
  font-size:12px;
  font-weight:900;
}
.beginner-start-card>strong {
  margin-top:4px;
  font-family:"Yu Mincho",serif;
  font-size:19px;
  line-height:1.4;
}
.beginner-start-card>em {
  margin-top:auto;
  padding-top:12px;
  color:#196144;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.beginner-start-board>footer {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:15px;
  border-top:1px solid #dce3d8;
  padding-top:14px;
  color:#5f6d65;
  font-size:12px;
}
.beginner-start-board>footer>b { color:#244a39; }
.beginner-start-board>footer>span { display:flex; align-items:center; gap:6px; }
.beginner-start-board>footer i {
  width:18px;
  height:13px;
  display:inline-block;
  border-radius:4px;
}
.beginner-control-demo i { background:#164833; }
.beginner-link-demo i { border:1px solid #759083; background:#fff; }
.beginner-data-demo i { background:#e5e9e5; }

.note-context-band>header {
  grid-template-columns:auto minmax(0,1fr) 156px auto;
}
.note-context-picture {
  position:relative;
  width:156px;
  height:88px;
  margin:0;
  overflow:hidden;
  border:1px solid #b9cabd;
  border-radius:11px;
  background:#e9f0df;
}
.note-context-picture img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.note-context-picture figcaption {
  position:absolute;
  right:7px;
  bottom:7px;
  border-radius:99px;
  background:rgba(11,47,34,.88);
  color:#fff;
  padding:4px 8px;
  font-size:12px;
  font-weight:900;
}

.note-library-shell>header {
  grid-template-columns:minmax(320px,.82fr) minmax(430px,1.18fr) 42px;
  gap:24px;
  min-height:330px;
  padding:24px 26px;
}
.note-library-heading { min-width:0; }
.note-library-eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
}
.note-library-eyebrow>span {
  width:34px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#fff;
  color:#222a25;
  font:900 16px/1 Arial,sans-serif;
}
.note-library-eyebrow p { margin:0; }
.note-library-heading>span {
  display:block;
  max-width:560px;
  color:#c3d3ca;
  font-size:14px;
  line-height:1.75;
}
.note-library-hero-art {
  position:relative;
  height:278px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.34);
  border-radius:17px;
  background:#edf1e5;
  box-shadow:0 18px 38px rgba(0,0,0,.24);
}
.note-library-hero-art img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.note-library-hero-art figcaption {
  position:absolute;
  right:12px;
  bottom:12px;
  left:12px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:11px;
  background:rgba(8,38,28,.9);
  color:#fff;
  padding:9px 11px;
  backdrop-filter:blur(5px);
}
.note-library-hero-art figcaption span {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
}
.note-library-hero-art figcaption i {
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--lime);
  color:#17362b;
  font-style:normal;
  font-weight:900;
}
.note-library-hero-art figcaption strong { color:var(--lime); }

.note-card-theme-visual {
  min-height:62px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:-7px -7px 13px;
  overflow:hidden;
  border-radius:9px;
  background:linear-gradient(110deg,#eef5df,#dcecd0);
  padding:9px 11px;
}
.note-theme-regenerative .note-card-theme-visual { background:linear-gradient(110deg,#e6f4e9,#cfe6d6); }
.note-theme-food .note-card-theme-visual { background:linear-gradient(110deg,#fff0d8,#f5d7b8); }
.note-visual-book {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#303531;
  color:#fff;
  font:900 15px/1 Arial,sans-serif;
}
.note-card-theme-visual>i { color:#718579; font-style:normal; font-weight:900; }
.note-visual-sprout {
  position:relative;
  width:34px;
  height:34px;
  display:block;
  border-radius:50%;
  background:#fff;
}
.note-visual-sprout::before,.note-visual-sprout::after {
  content:"";
  position:absolute;
  top:8px;
  width:11px;
  height:16px;
  border-radius:12px 2px 12px 2px;
  background:#2e7c54;
}
.note-visual-sprout::before { left:8px; transform:rotate(-28deg); }
.note-visual-sprout::after { right:7px; transform:scaleX(-1) rotate(-28deg); }
.note-visual-sprout b {
  position:absolute;
  bottom:5px;
  left:16px;
  width:2px;
  height:15px;
  background:#2e7c54;
}
.note-card-theme-visual em {
  margin-left:auto;
  color:#315343;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.note-card-actions a,.note-card-actions button {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  min-height:55px;
}
.note-card-actions small {
  grid-column:1;
  color:#6b786f;
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
}
.note-card-actions button small { color:#bcd1c5; }
.note-card-actions span { grid-column:1; }
.note-card-actions b {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
}

@media (max-width:1500px) {
  .beginner-guide-button>span { min-width:0; }
  .beginner-guide-button>span small { display:none; }
  .report-button span { display:none; }
  .report-button { padding-inline:11px; }
}
@media (max-width:1100px) {
  .beginner-start-grid { grid-template-columns:1fr; }
  .beginner-start-card { min-height:135px; }
  .beginner-card-art { width:76px; height:48px; }
  .note-context-band>header { grid-template-columns:auto minmax(0,1fr) auto; }
  .note-context-picture { display:none; }
  .note-library-shell>header { grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr) 40px; }
}
@media (max-width:800px) {
  .guide-illustration { display:block; margin-top:3px; }
  .guide-illustration img { height:190px; }
  .beginner-start-board { padding:19px; }
  .beginner-start-board>header { grid-template-columns:1fr; }
  .beginner-start-board>header>span { justify-self:start; }
  .note-library-shell>header {
    grid-template-columns:minmax(0,1fr) 38px;
    min-height:0;
  }
  .note-library-heading { grid-column:1; }
  .note-library-hero-art {
    grid-column:1/-1;
    grid-row:2;
    height:225px;
  }
  .note-library-shell>header .dialog-close { grid-column:2; grid-row:1; }
}
@media (max-width:560px) {
  .beginner-start-board { padding:15px; }
  .beginner-start-card { min-height:148px; }
  .beginner-start-board>footer { display:grid; grid-template-columns:1fr; }
  .guide-illustration img { height:160px; }
  .guide-illustration>span { right:8px; bottom:8px; left:8px; gap:6px; padding:8px; }
  .note-context-picture { width:100%; height:125px; display:block; }
  .note-library-shell>header { padding:18px 14px; }
  .note-library-shell>header h2 { font-size:28px; }
  .note-library-hero-art { height:190px; }
  .note-library-hero-art figcaption { right:7px; bottom:7px; left:7px; }
  .note-library-hero-art figcaption span { display:grid; justify-items:center; gap:3px; text-align:center; }
  .note-card-theme-visual { min-height:56px; }
}
@media (prefers-reduced-motion:reduce) {
  .beginner-start-card { transition:none; }
}
@media print {
  .beginner-start-board { box-shadow:none; }
}

/* FARM MANAGEMENT NAVIGATOR / v6.8 */
body[data-active-view="farm-nav"] #farmContextBar,
body[data-active-view="farm-nav"] #playerContext { display:none!important; }
.farm-navigation-view { max-width:1480px; margin:0 auto; padding-bottom:80px; }
.farm-navigation-view button,
.farm-navigation-view input,
.farm-navigation-view textarea { font:inherit; }
.farm-navigation-view button,
.farm-navigation-view a { -webkit-tap-highlight-color:transparent; }
.farm-nav-hero {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
  gap:30px;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:42px;
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 20%,rgba(192,223,116,.22),transparent 28%),
    linear-gradient(135deg,#09271d 0%,#123d2c 58%,#245c3a 100%);
  color:white;
  box-shadow:0 24px 60px rgba(9,39,29,.18);
}
.farm-nav-hero:after {
  content:"";
  position:absolute;
  right:-90px;
  bottom:-150px;
  width:420px;
  height:260px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  transform:rotate(-9deg);
}
.farm-nav-hero-copy { position:relative; z-index:2; }
.farm-nav-hero .terminal-kicker { color:#c8ed79; font-size:14px; }
.farm-nav-hero h1 {
  margin:7px 0 5px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(42px,5vw,68px);
  line-height:1.12;
  letter-spacing:-.04em;
}
.farm-nav-hero h1:focus { outline:none; }
.farm-nav-subtitle { margin:0 0 17px!important; color:#d8f3a2!important; font-size:20px!important; font-weight:900; }
.farm-nav-hero-copy>p:not(.terminal-kicker):not(.farm-nav-subtitle) { max-width:720px; margin:0; color:#d2dfd7; font-size:16px; line-height:1.8; }
.farm-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.farm-nav-hero .primary-button { background:#d2f178; color:#10251b; border-color:#d2f178; }
.farm-nav-hero .secondary-button { background:rgba(255,255,255,.08); color:white; border-color:rgba(255,255,255,.32); }
.farm-cycle-illustration { position:relative; z-index:2; min-width:0; }
.farm-scene {
  position:relative;
  height:230px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(190,230,232,.22) 0 53%,transparent 53%),
    repeating-linear-gradient(165deg,#306a43 0 16px,#39784a 16px 31px);
}
.farm-scene:before {
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:48%;
  height:70px;
  border-radius:50% 50% 0 0;
  background:#78a85a;
  transform:rotate(-3deg);
}
.farm-scene span { position:absolute; z-index:2; filter:drop-shadow(0 5px 4px rgba(0,0,0,.2)); }
.scene-sun { top:22px; right:30px; font-size:45px; }
.scene-field { bottom:25px; left:28px; font-size:62px; }
.scene-crop { bottom:30px; left:32%; font-size:70px; }
.scene-animal { right:28%; bottom:24px; font-size:68px; transform:scaleX(-1); }
.scene-tree { right:23px; bottom:24px; font-size:70px; }
.farm-cycle-illustration ol {
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  margin:-20px 12px 0;
  padding:9px;
  list-style:none;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(6,28,20,.92);
  box-shadow:0 12px 25px rgba(0,0,0,.22);
}
.farm-cycle-illustration li { display:grid; place-items:center; min-width:0; padding:7px 2px; border-radius:8px; background:rgba(255,255,255,.05); }
.farm-cycle-illustration li b { font-size:18px; color:#d2f178; }
.farm-cycle-illustration li span { position:static; font-size:14px; color:#c1d1c7; filter:none; white-space:nowrap; }
.farm-start-guide {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:14px 0 22px;
}
.farm-start-guide article {
  display:grid;
  grid-template-columns:45px 1fr;
  gap:13px;
  align-items:center;
  min-height:96px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:13px;
  background:white;
}
.farm-start-guide article>span {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:12px;
  background:#ecf4db;
  color:#245b35;
  font-size:20px;
  font-weight:1000;
}
.farm-start-guide b { display:block; font-size:16px; }
.farm-start-guide p { margin:3px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.farm-fact-boundary {
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-bottom:24px;
  padding:18px 20px;
  border:1px solid #bed491;
  border-radius:13px;
  background:#f3f8e8;
}
.farm-fact-boundary>span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#2f6d40; color:white; font-size:20px; font-weight:1000; }
.farm-fact-boundary b { display:block; color:#295e38; font-size:14px; letter-spacing:.08em; }
.farm-fact-boundary p { margin:3px 0 0; color:#3c5145; font-size:14px; line-height:1.65; }
.farm-fact-boundary small { font-size:14px; color:#607067; white-space:nowrap; }
.farm-nav-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:34px;
}
.farm-nav-stats article {
  display:grid;
  grid-template-columns:54px auto 1fr;
  grid-template-rows:auto auto;
  gap:0 11px;
  align-items:center;
  padding:18px;
  border:1px solid var(--line);
  border-radius:13px;
  background:white;
}
.farm-nav-stats article>span { grid-row:1/3; display:grid; place-items:center; width:52px; height:52px; border-radius:12px; background:#f2f4e9; font-size:26px; }
.farm-nav-stats strong { font-size:30px; line-height:1; color:#173f2b; }
.farm-nav-stats b { align-self:end; padding-left:3px; color:#4a5e51; font-size:14px; letter-spacing:.07em; }
.farm-nav-stats small { grid-column:2/4; margin-top:5px; color:var(--muted); font-size:14px; }
.farm-chooser,
.farm-cycle-workspace,
.farm-evidence-library { margin-top:22px; padding:27px; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 11px 30px rgba(22,56,39,.055); }
.farm-section-head { display:flex; justify-content:space-between; gap:22px; align-items:flex-end; margin-bottom:20px; }
.farm-section-head>div:first-child>p { margin:0 0 4px; color:#5c8747; font-size:14px; font-weight:1000; letter-spacing:.09em; }
.farm-section-head h2 { margin:0; font-size:30px; line-height:1.25; letter-spacing:-.025em; }
.farm-section-head>div:first-child>span { display:block; margin-top:5px; color:var(--muted); font-size:14px; }
.family-toggle { display:grid; grid-template-columns:1fr 1fr; gap:7px; min-width:380px; padding:5px; border-radius:14px; background:#edf0e7; }
.family-toggle button {
  display:grid;
  grid-template-columns:40px 1fr;
  gap:8px;
  align-items:center;
  min-height:60px;
  padding:9px 13px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#526158;
  text-align:left;
  cursor:pointer;
}
.family-toggle button:hover { background:rgba(255,255,255,.7); }
.family-toggle button.active { border-color:#bed096; background:white; color:#173b28; box-shadow:0 3px 10px rgba(24,57,40,.1); }
.family-toggle i { font-style:normal; font-size:28px; }
.family-toggle b,.family-toggle small { display:block; }
.family-toggle b { font-size:15px; }
.family-toggle small { margin-top:2px; color:var(--muted); font-size:14px; }
.farm-filter-bar { display:grid; grid-template-columns:minmax(250px,.36fr) minmax(0,1fr); gap:12px; align-items:end; padding:15px; border-radius:13px; background:#f6f6f0; }
.farm-search { position:relative; display:block; }
.farm-search>span { display:block; margin-bottom:6px; color:#536158; font-size:14px; font-weight:900; }
.farm-search input { width:100%; height:47px; padding:0 44px 0 14px; border:1px solid #bfc8be; border-radius:9px; background:white; color:var(--ink); font-size:16px; }
.farm-search i { position:absolute; right:15px; bottom:11px; color:#63776a; font-style:normal; font-size:22px; }
.farm-category-chips { display:flex; flex-wrap:wrap; gap:7px; }
.farm-category-chips button {
  min-height:42px;
  padding:8px 13px;
  border:1px solid #c9d0c8;
  border-radius:999px;
  background:white;
  color:#536158;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
}
.farm-category-chips button:hover { border-color:#5f8e49; color:#2d6539; }
.farm-category-chips button.active { border-color:#235c37; background:#235c37; color:white; }
.farm-results-meta { display:flex; align-items:center; gap:10px; margin:19px 0 11px; }
.farm-results-meta b { font-size:16px; }
.farm-results-meta span { padding:4px 8px; border-radius:6px; background:#edf4df; color:#3b6d38; font-size:14px; font-weight:900; }
.farm-results-meta small { margin-left:auto; color:var(--muted); font-size:14px; }
.farm-entity-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.farm-entity-card {
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto auto;
  gap:3px 10px;
  position:relative;
  min-height:126px;
  padding:15px;
  overflow:hidden;
  border:1px solid #d2d8d0;
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:border-color .16s,transform .16s,box-shadow .16s;
}
.farm-entity-card:hover { transform:translateY(-2px); border-color:#719a57; box-shadow:0 8px 17px rgba(31,74,43,.1); }
.farm-entity-card.selected { border:2px solid #2b6a3d; background:#f0f7e6; box-shadow:0 0 0 3px rgba(100,144,69,.11); }
.farm-entity-number { position:absolute; top:8px; right:9px; color:#9ba79f; font-size:14px; font-weight:900; }
.farm-entity-card>i { grid-row:1/4; display:grid; place-items:center; width:43px; height:43px; margin-top:8px; border-radius:11px; background:#f0f2e9; font-style:normal; font-size:24px; }
.farm-entity-card>b { align-self:end; padding-right:20px; font-size:15px; line-height:1.4; }
.farm-entity-card>small { color:var(--muted); font-size:14px; line-height:1.35; }
.farm-entity-card>em { align-self:end; color:#367144; font-size:14px; font-style:normal; font-weight:1000; letter-spacing:.03em; }
.farm-entity-card.selected>em { color:#1c5a32; }
.farm-empty { grid-column:1/-1; margin:0; padding:35px; border:1px dashed #bec8bd; border-radius:11px; color:var(--muted); font-size:15px; text-align:center; }
.farm-entity-profile {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(370px,1.1fr);
  gap:0;
  margin-top:14px;
  overflow:hidden;
  border:1px solid #b9cda8;
  border-radius:16px;
  background:#f5f9ed;
}
.farm-profile-main { display:grid; grid-template-columns:82px 1fr; gap:17px; align-items:center; padding:25px; border-right:1px solid #ceddc2; }
.farm-profile-icon { display:grid; place-items:center; width:78px; height:78px; border-radius:18px; background:white; box-shadow:0 8px 18px rgba(30,71,41,.08); font-size:42px; }
.farm-profile-main p:first-child { margin:0; color:#558048; font-size:14px; font-weight:1000; letter-spacing:.1em; }
.farm-profile-main h2 { margin:3px 0 7px; font-size:30px; }
.farm-system-tag { display:inline-flex; padding:5px 9px; border-radius:7px; background:#2d663d; color:white; font-size:14px; font-weight:900; }
.farm-local-note { margin:9px 0 0!important; color:#46574c; font-size:14px; line-height:1.55; }
.farm-profile-proof { padding:23px 25px; background:#fff; }
.farm-profile-proof>b { display:block; margin-bottom:9px; color:#476348; font-size:14px; letter-spacing:.06em; }
.farm-profile-proof div { display:grid; gap:6px; }
.farm-profile-proof a { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid #d7ded5; border-radius:8px; color:#255e38; font-size:14px; font-weight:800; text-decoration:none; }
.farm-profile-proof a:hover { border-color:#6d9455; background:#f4f8ed; }
.farm-profile-proof small { display:block; margin-top:9px; color:var(--muted); font-size:14px; }
.farm-context-form { grid-column:1/-1; border-top:1px solid #ceddc2; background:white; }
.farm-context-form summary,
.farm-source-ledger summary {
  display:grid;
  grid-template-columns:32px auto 1fr;
  gap:9px;
  align-items:center;
  padding:16px 20px;
  cursor:pointer;
  list-style:none;
}
.farm-context-form summary::-webkit-details-marker,
.farm-source-ledger summary::-webkit-details-marker { display:none; }
.farm-context-form summary>span,
.farm-source-ledger summary>span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#e7efdc; color:#2a6439; font-size:18px; font-weight:900; }
.farm-context-form[open] summary>span,
.farm-source-ledger[open] summary>span { transform:rotate(45deg); }
.farm-context-form summary b,
.farm-source-ledger summary b { font-size:15px; }
.farm-context-form summary small,
.farm-source-ledger summary small { justify-self:end; color:var(--muted); font-size:14px; }
.farm-context-form>div { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:0 20px 20px; }
.farm-context-form label { display:block; }
.farm-context-form label.wide { grid-column:1/-1; }
.farm-context-form label>span { display:block; margin-bottom:5px; color:#536158; font-size:14px; font-weight:850; }
.farm-context-form input,
.farm-context-form textarea { width:100%; border:1px solid #c5cec3; border-radius:8px; background:#fbfcf8; color:var(--ink); font-size:15px; }
.farm-context-form input { height:45px; padding:0 12px; }
.farm-context-form textarea { min-height:88px; padding:11px 12px; resize:vertical; }
.farm-cycle-workspace { margin-top:34px; }
.farm-total-progress { min-width:180px; padding:10px 13px; border-radius:11px; background:#153b29; color:white; }
.farm-total-progress>span { display:block; color:#a9bfaf; font-size:14px; font-weight:900; letter-spacing:.06em; }
.farm-total-progress strong { display:block; margin:2px 0 5px; font-size:22px; }
.farm-total-progress>i { display:block; height:6px; overflow:hidden; border-radius:99px; background:#345544; }
.farm-total-progress>i>b { display:block; height:100%; border-radius:99px; background:#c4e86d; }
.farm-cycle-tabs { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; padding:7px; border-radius:13px; background:#e9ede5; }
.farm-cycle-tabs button {
  min-width:0;
  min-height:82px;
  padding:10px 6px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#526158;
  cursor:pointer;
}
.farm-cycle-tabs button:hover { background:rgba(255,255,255,.78); }
.farm-cycle-tabs button.active { border-color:#95b574; background:#fff; color:#194d2e; box-shadow:0 4px 11px rgba(28,66,38,.1); }
.farm-cycle-tabs span,.farm-cycle-tabs b,.farm-cycle-tabs small { display:block; }
.farm-cycle-tabs span { color:#4e8041; font-size:14px; font-weight:1000; }
.farm-cycle-tabs b { margin:3px 0; font-size:14px; line-height:1.3; }
.farm-cycle-tabs small { color:#7b897f; font-size:14px; }
.farm-cycle-intro {
  display:grid;
  grid-template-columns:minmax(240px,.65fr) minmax(0,1.1fr) minmax(280px,.8fr);
  gap:18px;
  align-items:center;
  margin:14px 0 10px;
  padding:20px;
  border:1px solid #cbd8c4;
  border-radius:13px;
  background:#f5f8f0;
}
.farm-cycle-intro>div { display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; }
.farm-cycle-intro>div>span { display:grid; place-items:center; width:62px; height:62px; border-radius:15px; background:#245e38; color:#d0ec78; font-size:18px; font-weight:1000; text-align:center; }
.farm-cycle-intro p { margin:0; color:#45564a; font-size:14px; line-height:1.7; }
.farm-cycle-intro>div p { color:#608251; font-size:14px; font-weight:900; letter-spacing:.07em; }
.farm-cycle-intro h3 { margin:3px 0 0; font-size:22px; }
.farm-cycle-intro aside { padding:12px 14px; border-left:4px solid #d09138; border-radius:7px; background:#fff6e5; }
.farm-cycle-intro aside b,.farm-cycle-intro aside span { display:block; }
.farm-cycle-intro aside b { color:#8b5a16; font-size:14px; }
.farm-cycle-intro aside span { margin-top:4px; color:#665238; font-size:14px; line-height:1.55; }
.farm-task-list { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.farm-task {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,.58fr);
  gap:13px;
  align-items:center;
  min-height:116px;
  padding:15px;
  border:1px solid #d0d7ce;
  border-radius:11px;
  background:#fff;
}
.farm-task.done { border-color:#96bb75; background:#f4f8ec; }
.farm-task label { display:grid; grid-template-columns:42px 1fr; gap:11px; align-items:center; cursor:pointer; }
.farm-task input { position:absolute; opacity:0; pointer-events:none; }
.farm-task-check { display:grid; place-items:center; width:40px; height:40px; border:2px solid #729459; border-radius:11px; color:#376b3c; font-size:17px; font-weight:1000; }
.farm-task.done .farm-task-check { border-color:#2b6a3c; background:#2b6a3c; color:white; }
.farm-task-copy small,.farm-task-copy b,.farm-task-copy em { display:block; }
.farm-task-copy small { color:#728077; font-size:14px; font-weight:900; letter-spacing:.06em; }
.farm-task-copy b { margin:3px 0 7px; font-size:15px; line-height:1.55; }
.farm-task-copy em { display:inline-flex; width:max-content; padding:4px 7px; border-radius:5px; background:#edf1e7; color:#56704f; font-size:14px; font-style:normal; font-weight:850; }
.farm-task-source { padding:10px; border-radius:8px; background:#f3f4ef; }
.farm-task-source span,.farm-task-source a,.farm-task-source b { display:block; }
.farm-task-source span { margin-bottom:4px; color:#7c887f; font-size:14px; font-weight:900; letter-spacing:.08em; }
.farm-task-source a,.farm-task-source b { color:#2d603a; font-size:14px; line-height:1.45; text-decoration:none; }
.farm-task-source a:hover { text-decoration:underline; }
.farm-cycle-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.7fr); gap:20px; margin-top:11px; padding:17px; border-radius:11px; background:#153a29; color:white; }
.farm-cycle-footer b { font-size:15px; }
.farm-cycle-footer p { margin:4px 0 0; color:#b6c6bc; font-size:14px; line-height:1.6; }
.farm-cycle-footer>div:last-child { display:grid; gap:5px; align-content:center; }
.farm-cycle-footer a { color:#d2ec81; font-size:14px; line-height:1.45; text-decoration:none; }
.farm-cycle-footer a:hover { text-decoration:underline; }
.farm-immediate-checks {
  display:grid;
  grid-template-columns:minmax(285px,.7fr) minmax(0,1.3fr);
  gap:20px;
  margin-top:14px;
  padding:22px;
  border:1px solid #e0b25b;
  border-radius:15px;
  background:#fff9ec;
}
.farm-immediate-checks>header { display:grid; grid-template-columns:45px 1fr; gap:12px; align-items:start; }
.farm-immediate-checks>header>span { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; background:#d88a2d; color:white; font-size:22px; font-weight:1000; }
.farm-immediate-checks header p { margin:0; color:#9a641e; font-size:14px; font-weight:1000; letter-spacing:.08em; }
.farm-immediate-checks h2 { margin:3px 0 5px; font-size:23px; }
.farm-immediate-checks header small { color:#6f604b; font-size:14px; line-height:1.5; }
.farm-immediate-checks>div { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.farm-immediate-checks a {
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:9px;
  align-items:center;
  min-height:68px;
  padding:10px 12px;
  border:1px solid #dfc58e;
  border-radius:9px;
  background:white;
  color:var(--ink);
  text-decoration:none;
}
.farm-immediate-checks a:hover { border-color:#c27b25; box-shadow:0 4px 9px rgba(100,70,20,.08); }
.farm-immediate-checks a>i { font-style:normal; font-size:24px; }
.farm-immediate-checks a b,.farm-immediate-checks a small { display:block; }
.farm-immediate-checks a b { font-size:14px; }
.farm-immediate-checks a small { margin-top:3px; color:var(--muted); font-size:14px; }
.farm-immediate-checks a em { color:#99631f; font-size:18px; font-style:normal; font-weight:900; }
.farm-evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.farm-evidence-grid article { display:flex; flex-direction:column; min-height:245px; padding:16px; border:1px solid #d3d9d1; border-radius:11px; background:#fbfcf8; }
.farm-evidence-grid article>div { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.farm-evidence-grid article>div span { color:#497443; font-size:14px; font-weight:1000; }
.farm-evidence-grid article>div em { color:#7a877d; font-size:14px; font-style:normal; }
.farm-evidence-grid h3 { margin:9px 0 7px; font-size:16px; line-height:1.45; }
.farm-evidence-grid p { margin:0 0 10px; color:#58665d; font-size:14px; line-height:1.55; }
.farm-evidence-grid article>small { display:block; margin-top:auto; padding:8px; border-radius:7px; background:#f0f1eb; color:#667168; font-size:14px; line-height:1.45; }
.farm-evidence-grid article>small b { margin-right:6px; color:#936527; font-size:14px; }
.farm-evidence-grid article>a { margin-top:9px; color:#245f38; font-size:14px; font-weight:900; text-decoration:none; }
.farm-evidence-grid article>a:hover { text-decoration:underline; }
.farm-source-ledger { margin-top:12px; border:1px solid #d4dbd2; border-radius:11px; background:#fbfcf9; }
.farm-source-table-wrap { max-height:590px; overflow:auto; border-top:1px solid #d4dbd2; }
.farm-source-table-wrap table { width:100%; border-collapse:collapse; font-size:14px; }
.farm-source-table-wrap th { position:sticky; top:0; z-index:1; padding:11px; background:#173b2a; color:white; font-size:14px; text-align:left; }
.farm-source-table-wrap td { min-width:145px; padding:11px; border-bottom:1px solid #e0e4de; color:#546158; font-size:14px; line-height:1.5; vertical-align:top; }
.farm-source-table-wrap td:nth-child(1) { min-width:175px; }
.farm-source-table-wrap td:nth-child(2) { min-width:260px; }
.farm-source-table-wrap td b,.farm-source-table-wrap td a { display:block; }
.farm-source-table-wrap td a { margin-top:3px; color:#29613a; text-decoration:none; }
.farm-source-table-wrap code { font-size:14px; color:#4d5c52; }
.farm-next-paths {
  display:grid;
  grid-template-columns:minmax(250px,1fr) repeat(3,minmax(190px,.7fr));
  gap:8px;
  align-items:stretch;
  margin-top:13px;
  padding:18px;
  border-radius:13px;
  background:#103526;
  color:white;
}
.farm-next-paths>div { padding:7px 10px; }
.farm-next-paths>div p { margin:0; color:#b9dc73; font-size:14px; font-weight:1000; letter-spacing:.08em; }
.farm-next-paths>div h2 { margin:4px 0 0; font-size:22px; line-height:1.35; }
.farm-next-paths button {
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:8px;
  align-items:center;
  min-height:82px;
  padding:11px;
  border:1px solid #3e5f4e;
  border-radius:10px;
  background:#1d4935;
  color:white;
  text-align:left;
  cursor:pointer;
}
.farm-next-paths button:hover { border-color:#c7e778; background:#275940; }
.farm-next-paths button>i { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:#315f46; color:#d0ec80; font-size:20px; font-style:normal; font-weight:1000; }
.farm-next-paths button b,.farm-next-paths button small { display:block; }
.farm-next-paths button b { font-size:14px; }
.farm-next-paths button small { margin-top:3px; color:#b5c6bb; font-size:14px; line-height:1.35; }
.farm-next-paths button em { color:#d2ec81; font-size:19px; font-style:normal; }
.farm-reset-row { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:12px; padding:13px 4px; }
.farm-reset-row p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.farm-reset-row button { flex:0 0 auto; border:0; background:transparent; color:#9a4938; font-size:14px; font-weight:850; text-decoration:underline; cursor:pointer; }
.global-nav-item>i { font-style:normal; }

@media(max-width:1250px) {
  .farm-nav-hero { grid-template-columns:minmax(0,1fr) 390px; padding:34px; }
  .farm-entity-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .farm-task { grid-template-columns:1fr; align-items:start; }
  .farm-evidence-grid { grid-template-columns:repeat(3,1fr); }
  .farm-next-paths { grid-template-columns:1fr repeat(3,minmax(175px,.7fr)); }
}
@media(max-width:1050px) {
  .farm-nav-hero { grid-template-columns:1fr; }
  .farm-cycle-illustration { max-width:650px; }
  .farm-nav-stats { grid-template-columns:repeat(2,1fr); }
  .farm-section-head { align-items:flex-start; flex-direction:column; }
  .family-toggle { width:100%; min-width:0; }
  .farm-filter-bar { grid-template-columns:1fr; }
  .farm-entity-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .farm-entity-profile { grid-template-columns:1fr; }
  .farm-profile-main { border-right:0; border-bottom:1px solid #ceddc2; }
  .farm-cycle-tabs { display:flex; overflow-x:auto; }
  .farm-cycle-tabs button { flex:0 0 130px; }
  .farm-cycle-intro { grid-template-columns:1fr 1fr; }
  .farm-cycle-intro aside { grid-column:1/-1; }
  .farm-task-list { grid-template-columns:1fr; }
  .farm-cycle-footer { grid-template-columns:1fr; }
  .farm-immediate-checks { grid-template-columns:1fr; }
  .farm-evidence-grid { grid-template-columns:repeat(2,1fr); }
  .farm-next-paths { grid-template-columns:1fr; }
  .farm-next-paths>div { padding:5px 0 9px; }
}
@media(max-width:800px) {
  .sidebar nav { grid-template-columns:repeat(6,1fr)!important; }
  .farm-navigation-view { padding-top:18px; }
  .farm-nav-hero { padding:25px 20px; border-radius:15px; }
  .farm-nav-hero h1 { font-size:40px; }
  .farm-nav-subtitle { font-size:18px!important; }
  .farm-scene { height:190px; }
  .scene-field { font-size:50px; }
  .scene-crop,.scene-animal,.scene-tree { font-size:56px; }
  .farm-cycle-illustration ol { margin-top:-14px; }
  .farm-cycle-illustration li span { font-size:14px; }
  .farm-start-guide { grid-template-columns:1fr; }
  .farm-start-guide article { min-height:82px; }
  .farm-fact-boundary { grid-template-columns:44px 1fr; }
  .farm-fact-boundary small { grid-column:2; white-space:normal; }
  .farm-nav-stats { grid-template-columns:1fr 1fr; }
  .farm-chooser,.farm-cycle-workspace,.farm-evidence-library { padding:18px; border-radius:14px; }
  .farm-section-head h2 { font-size:27px; }
  .farm-entity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .farm-entity-card { min-height:133px; padding:13px; }
  .farm-entity-card>i { width:39px; height:39px; }
  .farm-profile-main { grid-template-columns:64px 1fr; padding:19px; }
  .farm-profile-icon { width:62px; height:62px; font-size:34px; }
  .farm-profile-proof { padding:19px; }
  .farm-context-form>div { grid-template-columns:1fr 1fr; }
  .farm-cycle-intro { grid-template-columns:1fr; }
  .farm-cycle-intro aside { grid-column:auto; }
  .farm-immediate-checks>div { grid-template-columns:1fr; }
  .farm-evidence-grid { grid-template-columns:1fr; }
  .farm-evidence-grid article { min-height:0; }
  .farm-source-ledger summary { grid-template-columns:32px 1fr; }
  .farm-source-ledger summary small { grid-column:2; justify-self:start; }
  .farm-reset-row { align-items:flex-start; flex-direction:column; }
}
@media(max-width:520px) {
  .sidebar .nav-item b { font-size:13px; }
  .farm-nav-hero h1 { font-size:34px; }
  .farm-hero-actions>* { width:100%; justify-content:center; }
  .farm-scene { height:155px; }
  .scene-sun { font-size:34px; }
  .scene-field { left:14px; font-size:40px; }
  .scene-crop { left:27%; font-size:43px; }
  .scene-animal { right:24%; font-size:44px; }
  .scene-tree { right:10px; font-size:44px; }
  .farm-cycle-illustration ol { gap:2px; margin-inline:4px; padding:5px; }
  .farm-cycle-illustration li { padding:6px 1px; }
  .farm-cycle-illustration li b { font-size:16px; }
  .farm-cycle-illustration li span { font-size:14px; }
  .farm-nav-stats { grid-template-columns:1fr; }
  .family-toggle { grid-template-columns:1fr; }
  .farm-category-chips { display:grid; grid-template-columns:1fr 1fr; }
  .farm-category-chips button { border-radius:9px; }
  .farm-results-meta { align-items:flex-start; flex-wrap:wrap; }
  .farm-results-meta small { width:100%; margin-left:0; }
  .farm-entity-grid { grid-template-columns:1fr 1fr; }
  .farm-entity-card { display:flex; flex-direction:column; gap:4px; min-height:170px; }
  .farm-entity-card>i { margin:0; }
  .farm-entity-card>b { padding-right:20px; }
  .farm-profile-main { grid-template-columns:1fr; }
  .farm-context-form summary { grid-template-columns:32px 1fr; }
  .farm-context-form summary small { grid-column:2; justify-self:start; }
  .farm-context-form>div { grid-template-columns:1fr; }
  .farm-cycle-tabs button { flex-basis:112px; }
  .farm-cycle-intro>div { grid-template-columns:52px 1fr; }
  .farm-cycle-intro>div>span { width:50px; height:50px; font-size:15px; }
  .farm-task { padding:12px; }
  .farm-task label { grid-template-columns:37px 1fr; }
  .farm-task-check { width:35px; height:35px; }
  .farm-immediate-checks { padding:17px; }
}
@media(prefers-reduced-motion:reduce) {
  .farm-entity-card { transition:none; }
  .farm-entity-card:hover { transform:none; }
}
@media print {
  .farm-navigation-view { max-width:none; }
  .farm-nav-hero,.farm-cycle-footer,.farm-next-paths { color:#111; background:#fff; box-shadow:none; border:1px solid #888; }
  .farm-chooser,.farm-cycle-workspace,.farm-evidence-library { box-shadow:none; }
  .farm-evidence-grid { grid-template-columns:repeat(2,1fr); }
}

/* PROJECT DELIVERY DESK / v6.9 */
body[data-active-view="project-desk"] #farmContextBar,
body[data-active-view="project-desk"] #playerContext { display:none!important; }
.project-desk-view {
  max-width:1480px;
  margin:0 auto;
  padding:24px 0 80px;
  color:#183126;
}
.project-desk-view *,
.project-desk-view *:before,
.project-desk-view *:after { box-sizing:border-box; }
.project-desk-view button,
.project-desk-view input,
.project-desk-view select { font:inherit; }
.project-desk-view small { font-size:14px; }
.project-desk-view button,
.project-desk-view a,
.project-desk-view select,
.project-desk-view input { min-height:44px; }
.project-desk-view button:focus-visible,
.project-desk-view a:focus-visible,
.project-desk-view input:focus-visible,
.project-desk-view select:focus-visible {
  outline:3px solid #d0a632;
  outline-offset:3px;
}
.project-desk-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:32px;
  overflow:hidden;
  padding:38px 42px;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 12%,rgba(214,240,126,.23),transparent 28%),
    linear-gradient(135deg,#0a2c23,#15543d);
  box-shadow:0 20px 50px rgba(11,47,38,.18);
}
.project-desk-hero:after {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-90px;
  width:260px;
  height:260px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.project-desk-hero>div { position:relative; z-index:1; }
.project-desk-hero .terminal-kicker {
  margin:0 0 10px;
  color:#ccef78;
  font-size:14px;
  font-weight:900;
  letter-spacing:.13em;
}
.project-desk-hero h1 {
  max-width:820px;
  margin:0;
  font-size:clamp(38px,3.6vw,54px);
  line-height:1.08;
  letter-spacing:-.045em;
}
.project-desk-subtitle {
  margin:18px 0 8px!important;
  color:#d9f4a1!important;
  font-size:20px!important;
  font-weight:900;
}
.project-desk-hero>div>p:last-child {
  max-width:790px;
  margin:0;
  color:#d9e7df;
  font-size:16px;
  line-height:1.8;
}
.project-hero-art {
  display:grid;
  grid-template-columns:1fr 30px 1fr 30px 1fr;
  place-items:center;
  align-self:center;
  min-height:210px;
  padding:22px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:19px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.project-hero-art span,
.project-hero-art strong {
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 11px 30px rgba(0,0,0,.16);
  font-size:35px;
}
.project-hero-art i { color:#d9f4a1; font-size:21px; font-style:normal; font-weight:900; }
.project-hero-art b {
  grid-column:1/-1;
  color:#d9f4a1;
  font-size:28px;
  transform:rotate(90deg);
}
.project-hero-art strong {
  grid-column:1/-1;
  width:88px;
  height:72px;
  border:3px solid #d2ee78;
  background:#f7ffe3;
}
.project-ranking {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}
.project-ranking button {
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr auto;
  grid-template-rows:auto auto 1fr;
  gap:4px 9px;
  min-height:150px;
  padding:15px;
  border:1px solid #cbd8d0;
  border-radius:15px;
  color:#183126;
  text-align:left;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.project-ranking button:hover {
  transform:translateY(-2px);
  border-color:#6f957d;
  box-shadow:0 10px 25px rgba(17,59,44,.1);
}
.project-ranking button.active {
  border:2px solid #174f39;
  background:#eef7e8;
  box-shadow:inset 0 -4px 0 #c2df68;
}
.project-ranking button>span {
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:11px;
  background:#eef3ed;
  font-size:23px;
}
.project-ranking button>i {
  align-self:center;
  color:#6e7c73;
  font-size:14px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.09em;
}
.project-ranking button>b { grid-column:2/4; font-size:16px; line-height:1.35; }
.project-ranking button>small { grid-column:1/4; color:#5d6b63; font-size:14px; line-height:1.5; }
.project-ranking button>em {
  position:absolute;
  top:12px;
  right:12px;
  padding:3px 7px;
  border-radius:20px;
  color:#174f39;
  background:#dff0b2;
  font-size:14px;
  font-style:normal;
  font-weight:900;
}
.project-toolbar {
  display:flex;
  align-items:end;
  gap:8px;
  padding:14px;
  border:1px solid #cad7cf;
  border-radius:14px;
  background:#f8faf7;
}
.project-toolbar>label:first-child {
  display:grid;
  flex:1;
  gap:5px;
  min-width:240px;
}
.project-toolbar label>span { color:#536159; font-size:14px; font-weight:900; }
.project-toolbar select,
.project-form input,
.project-form select,
.project-entity-picker select,
.project-credit-gates input {
  width:100%;
  padding:10px 12px;
  border:1px solid #aebfb4;
  border-radius:9px;
  color:#183126;
  background:#fff;
}
.project-toolbar .primary-button,
.project-toolbar .secondary-button { white-space:nowrap; }
.project-import {
  position:relative;
  display:inline-grid!important;
  place-items:center;
  min-width:110px;
  cursor:pointer;
}
.project-import input {
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.project-trust-strip {
  display:grid;
  grid-template-columns:repeat(3,190px) 1fr;
  gap:10px;
  align-items:center;
  margin:12px 0 20px;
}
.project-trust-strip article {
  display:grid;
  grid-template-columns:42px 1fr;
  padding:12px;
  border:1px solid #d6dfd8;
  border-radius:12px;
  background:#fff;
}
.project-trust-strip article>span { grid-row:1/3; font-size:23px; }
.project-trust-strip article>b { font-size:24px; line-height:1; }
.project-trust-strip article>small { color:#637168; font-size:14px; }
.project-trust-strip>p {
  margin:0;
  padding:11px 14px;
  border-left:4px solid #9cb260;
  color:#56635b;
  background:#f4f6ed;
  font-size:14px;
  line-height:1.55;
}
.project-desk-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:18px;
  align-items:start;
}
.project-step-panel {
  min-width:0;
  padding:26px;
  border:1px solid #d0dad3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 35px rgba(16,54,41,.07);
}
.project-case-card {
  position:sticky;
  top:90px;
  padding:20px;
  border-radius:16px;
  color:#fff;
  background:#123c2d;
}
.project-case-card>p {
  margin:0 0 7px;
  color:#cae97f;
  font-size:14px;
  font-weight:900;
  letter-spacing:.1em;
}
.project-case-card h2 { margin:0 0 18px; font-size:22px; line-height:1.35; }
.project-case-card dl { margin:0; }
.project-case-card dl>div {
  display:grid;
  gap:2px;
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.13);
}
.project-case-card dt { color:#adc1b6; font-size:14px; }
.project-case-card dd { margin:0; overflow-wrap:anywhere; font-size:14px; font-weight:800; }
.project-case-card .text-button { margin-top:12px; color:#e5f7b9; }
.project-step-head {
  display:grid;
  grid-template-columns:64px 1fr;
  gap:15px;
  margin-bottom:18px;
}
.project-step-head>span {
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:16px;
  color:#123c2d;
  background:#ddefa0;
  font-size:24px;
  font-weight:950;
}
.project-step-head p { margin:0 0 3px; color:#617068; font-size:14px; font-weight:900; letter-spacing:.1em; }
.project-step-head h2 { margin:0 0 5px; font-size:30px; line-height:1.2; }
.project-step-head small { color:#59675f; font-size:15px; line-height:1.6; }
.project-action-guide {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid #bcd09c;
  border-radius:12px;
  background:#f1f8df;
}
.project-action-guide.warning { border-color:#e2c579; background:#fff8e5; }
.project-action-guide>span { font-size:27px; }
.project-action-guide p { margin:0; font-size:15px; line-height:1.65; }
.project-action-guide b { display:block; }
.project-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  padding:18px;
  border:1px solid #d6dfd9;
  border-radius:14px;
  background:#fafbf9;
}
.project-form.compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
.project-form>label,
.project-credit-gates form>label {
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
  color:#48574e;
  font-size:14px;
  font-weight:800;
}
.project-form label>span,
.project-credit-gates label>span { min-height:auto; }
.project-form .wide,
.project-credit-gates .wide { grid-column:1/-1; }
.project-form fieldset {
  min-width:0;
  margin:0;
  padding:15px;
  border:1px solid #cbd8cf;
  border-radius:11px;
}
.project-form legend { padding:0 7px; font-size:14px; font-weight:900; }
.project-form-actions {
  display:flex;
  gap:9px;
  align-items:center;
  padding-top:4px;
}
.project-fact-separation {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:14px 0;
}
.project-fact-separation article {
  display:grid;
  grid-template-columns:40px 1fr;
  align-content:start;
  padding:14px;
  border:1px solid #d8e0da;
  border-radius:12px;
  background:#fff;
}
.project-fact-separation article>span {
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:#3f7656;
  font-weight:900;
}
.project-fact-separation article:nth-child(2)>span { color:#524516; background:#ead675; }
.project-fact-separation article:nth-child(3)>span { color:#394740; background:#d8dfda; }
.project-fact-separation h3 { margin:0; font-size:16px; }
.project-fact-separation p { grid-column:2; margin:4px 0 0; color:#5c6961; font-size:14px; line-height:1.55; }
.project-snapshot {
  padding:17px;
  border:1px dashed #9eb0a4;
  border-radius:12px;
  background:#f6f8f5;
}
.project-snapshot header,
.project-import-candidates header,
.project-comparison-board header,
.project-credit-gates header,
.project-official-links header,
.project-national-gateways header {
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.project-snapshot header p,
.project-import-candidates header p,
.project-comparison-board header p,
.project-credit-gates header p,
.project-official-links header p,
.project-national-gateways header p { margin:0; color:#68756d; font-size:14px; font-weight:900; letter-spacing:.08em; }
.project-snapshot h3,
.project-import-candidates h3,
.project-comparison-board h3,
.project-credit-gates h3,
.project-official-links h3,
.project-national-gateways h3 { margin:2px 0 0; font-size:20px; }
.project-snapshot dl { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:14px 0 0; }
.project-snapshot dl>div { padding:10px; border-radius:8px; background:#fff; }
.project-snapshot dt { color:#68756d; font-size:14px; }
.project-snapshot dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:14px; font-weight:800; }
.project-entity-picker {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:10px;
  margin-bottom:14px;
  padding:15px;
  border-radius:12px;
  background:#eff4ef;
}
.project-entity-picker label { display:grid; gap:5px; color:#4f5e55; font-size:14px; font-weight:900; }
.project-bridge-result {
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 230px;
  gap:12px;
}
.project-entity-visual,
.project-model-match,
.project-next-actions {
  padding:18px;
  border:1px solid #d2ddd6;
  border-radius:14px;
}
.project-entity-visual {
  color:#fff;
  background:linear-gradient(145deg,#1a5a40,#0f3729);
}
.project-entity-visual>span { font-size:58px; }
.project-entity-visual>small { display:block; margin:8px 0 2px; color:#d2e99c; font-size:14px; font-weight:900; }
.project-entity-visual h3 { margin:0; font-size:24px; }
.project-entity-visual p { margin:10px 0 0; color:#d7e3dc; font-size:14px; line-height:1.6; }
.project-model-match>p:first-child { margin:0 0 8px; color:#65736b; font-size:14px; font-weight:900; letter-spacing:.09em; }
.project-model-match h3 { margin:10px 0 6px; font-size:26px; }
.project-model-match>p { color:#59675f; font-size:14px; line-height:1.6; }
.project-model-rule {
  display:grid;
  gap:3px;
  margin:12px 0;
  padding:11px;
  border-left:4px solid #d0ad42;
  background:#fff8df;
  font-size:14px;
  line-height:1.5;
}
.project-next-actions { display:grid; gap:9px; padding:10px; background:#f7f9f6; }
.project-next-actions button {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:2px 8px;
  align-items:center;
  padding:10px;
  border:1px solid #c8d5cc;
  border-radius:10px;
  color:#183126;
  text-align:left;
  background:#fff;
  cursor:pointer;
}
.project-next-actions button:hover { border-color:#357055; background:#f0f7eb; }
.project-next-actions button>span { grid-row:1/3; font-size:25px; }
.project-next-actions button>b { font-size:14px; }
.project-next-actions button>small { color:#66736b; font-size:14px; }
.project-import-candidates { margin-top:14px; padding:17px; border:1px solid #d5ded8; border-radius:14px; }
.project-candidate-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.project-candidate-columns>article { padding:14px; border-radius:10px; background:#f5f7f4; }
.project-candidate-columns h4 { display:flex; justify-content:space-between; margin:0 0 10px; font-size:16px; }
.project-candidate-columns article>div { display:grid; grid-template-columns:34px 1fr; gap:7px; padding:8px 0; border-top:1px solid #dde4df; }
.project-candidate-columns article>div p,
.project-candidate-columns .empty { margin:0; font-size:14px; line-height:1.45; }
.project-candidate-columns article>div small { display:block; color:#68766e; font-size:14px; }
.project-boundary-note {
  margin:14px 0 0;
  padding:12px 14px;
  border-left:4px solid #bf9031;
  color:#574c31;
  background:#fff8e7;
  font-size:14px;
  line-height:1.6;
}
.project-empty-state {
  display:grid;
  place-items:center;
  min-height:290px;
  padding:30px;
  border:2px dashed #c6d3ca;
  border-radius:15px;
  text-align:center;
  background:#f8faf7;
}
.project-empty-state.compact { min-height:190px; }
.project-empty-state>span { font-size:58px; }
.project-empty-state h3 { margin:10px 0 5px; font-size:23px; }
.project-empty-state p { max-width:630px; margin:0; color:#5b6960; font-size:15px; line-height:1.7; }
.project-status {
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:4px 9px;
  border-radius:20px;
  color:#3c493f;
  background:#e2e8e3;
  font-size:14px;
  font-weight:900;
}
.project-status.exact,
.project-status.confirmed,
.project-status.verified { color:#155133; background:#dff0d6; }
.project-status.aggregate,
.project-status.checking,
.project-status.observed,
.project-status.baseline { color:#654c0f; background:#f7e8b8; }
.project-status.none,
.project-status.rejected { color:#773d35; background:#f2dcd6; }
.project-status.plan,
.project-status.assumption,
.project-status.candidate { color:#385b6c; background:#dfeaf0; }
.project-comparison-board {
  margin:14px 0;
  padding:16px;
  border:1px solid #d2ddd6;
  border-radius:13px;
}
.project-comparison-board header>b { font-size:22px; }
.project-comparison-board>article {
  display:grid;
  grid-template-columns:1fr 160px 140px;
  gap:10px;
  align-items:center;
  padding:11px 0;
  border-top:1px solid #e0e6e1;
}
.project-comparison-board>article:first-of-type { margin-top:10px; }
.project-comparison-board article small { display:block; color:#66746c; font-size:14px; }
.project-comparison-board article>span,
.project-comparison-board article>strong { font-size:14px; }
.project-empty-inline { margin-top:12px; padding:14px; border-radius:9px; color:#5e6b63; background:#f3f5f2; font-size:14px; }
.project-ledger-table { overflow-x:auto; margin:14px 0; border:1px solid #d6dfd9; border-radius:12px; }
.project-ledger-table table { width:100%; min-width:830px; border-collapse:collapse; }
.project-ledger-table th,
.project-ledger-table td { padding:10px; border-bottom:1px solid #e0e5e1; text-align:left; vertical-align:top; font-size:14px; }
.project-ledger-table th { color:#4e5c53; background:#f1f4f1; font-weight:900; }
.project-ledger-table td small { display:block; margin-top:3px; color:#6c786f; font-size:14px; }
.project-ledger-table .danger { color:#9b3d32; }
.project-credit-gates { margin-top:18px; padding:18px; border-radius:15px; color:#183126; background:#edf3e8; }
.project-credit-gates header>span { display:grid; min-width:155px; padding:10px; border-radius:9px; text-align:right; background:#fff; }
.project-credit-gates header>span small { color:#647169; font-size:14px; }
.project-credit-gates header>span b { color:#7c4a24; font-size:22px; }
.project-credit-gates header>span.ready b { color:#17613d; }
.project-credit-gates form {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  margin-top:15px;
}
.project-credit-gates fieldset { margin:0; padding:15px; border:1px solid #becdc1; border-radius:11px; background:#fff; }
.project-credit-gates legend { padding:0 7px; font-size:14px; font-weight:900; }
.project-credit-checks { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.project-credit-checks label { display:grid; grid-template-columns:22px 1fr; gap:7px; align-items:start; padding:8px; border-radius:8px; background:#f5f7f4; font-size:14px; }
.project-credit-checks input { width:20px; min-height:20px; margin-top:2px; }
.project-credit-checks label span { display:flex; gap:7px; }
.project-credit-checks i { color:#68756d; font-style:normal; font-weight:900; }
.project-funding-criteria { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.project-funding-criteria label { display:grid; gap:5px; font-size:14px; }
.project-site-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:14px;
}
.project-site-list>article { padding:15px; border:1px solid #d2ddd6; border-radius:13px; background:#fff; }
.project-site-list>article.ready { border:2px solid #70a178; background:#f5faef; }
.project-site-list article>header { display:flex; gap:9px; align-items:center; }
.project-site-list article>header>span:first-child { font-size:30px; }
.project-site-list article header>div { flex:1; }
.project-site-list article header small { color:#69766e; font-size:14px; }
.project-site-list article h3 { margin:1px 0 0; font-size:19px; }
.project-site-list dl { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:13px 0; }
.project-site-list dl>div { min-width:0; padding:8px; border-radius:7px; background:#f4f6f3; }
.project-site-list dt { color:#68756d; font-size:14px; }
.project-site-list dd { margin:2px 0 0; overflow-wrap:anywhere; font-size:14px; font-weight:800; }
.fact-progress {
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 9px;
  align-items:center;
}
.fact-progress>span { overflow:hidden; height:8px; border-radius:9px; background:#dce4de; }
.fact-progress>span i { display:block; width:var(--facts); height:100%; background:#4e875e; }
.fact-progress>b { font-size:14px; }
.fact-progress>small { grid-column:1/-1; color:#68756d; font-size:14px; }
.project-site-list article footer { margin-top:9px; text-align:right; }
.project-official-links { margin-top:17px; padding:17px; border-radius:14px; background:#f2f5f1; }
.project-official-links>div { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:13px; }
.project-official-links a {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:8px;
  padding:12px;
  border:1px solid #d2dcd5;
  border-radius:9px;
  color:#193c2d;
  text-decoration:none;
  background:#fff;
}
.project-official-links a:hover { border-color:#4f8664; }
.project-official-links a>span { font-size:22px; }
.project-official-links a p { margin:0; }
.project-official-links a b,
.project-official-links a small,
.project-official-links a em { display:block; }
.project-official-links a small,
.project-official-links a em { margin-top:3px; color:#65736b; font-size:14px; font-style:normal; line-height:1.45; }
.project-prefecture-gateway {
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:16px;
  align-items:center;
  padding:17px;
  border-radius:14px;
  color:#fff;
  background:#174c38;
}
.prefecture-map-art { display:grid; place-items:center; width:78px; height:78px; border-radius:18px; background:#fff; font-size:45px; }
.project-prefecture-gateway p { margin:0; color:#cfe995; font-size:14px; font-weight:900; letter-spacing:.08em; }
.project-prefecture-gateway h3 { margin:2px 0; font-size:27px; }
.project-prefecture-gateway span,
.project-prefecture-gateway small { display:block; color:#d7e5de; font-size:14px; }
.project-prefecture-gateway .primary-button { color:#173f2c; background:#d5ef85; border-color:#d5ef85; text-decoration:none; }
.project-prefecture-directory {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:5px;
  max-height:225px;
  overflow:auto;
  margin:12px 0;
  padding:8px;
  border:1px solid #d4ded7;
  border-radius:11px;
  background:#f7f9f6;
}
.project-prefecture-directory button {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:2px 4px;
  align-items:center;
  padding:7px;
  border:1px solid transparent;
  border-radius:7px;
  color:#294438;
  text-align:left;
  background:#fff;
  cursor:pointer;
}
.project-prefecture-directory button:hover,
.project-prefecture-directory button.active { border-color:#3d7556; background:#eaf4de; }
.project-prefecture-directory b,
.project-prefecture-directory span,
.project-prefecture-directory small { font-size:14px; }
.project-prefecture-directory small { grid-column:1/-1; color:#66736b; }
.project-national-gateways { margin:12px 0; padding:15px; border:1px solid #d2dcd5; border-radius:12px; }
.project-national-gateways>div { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.project-national-gateways a {
  display:grid;
  gap:3px;
  padding:12px;
  border-radius:8px;
  color:#173e2d;
  text-decoration:none;
  background:#f1f5ed;
}
.project-national-gateways a span,
.project-national-gateways a small { color:#617068; font-size:14px; line-height:1.45; }
.project-funding-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:13px; }
.project-funding-summary article { padding:14px; border:1px solid #d4ded7; border-radius:11px; background:#fff; }
.project-funding-summary small,
.project-funding-summary span { display:block; color:#67746c; font-size:14px; }
.project-funding-summary b { display:block; margin:3px 0; overflow-wrap:anywhere; color:#174b36; font-size:25px; }

@media(max-width:1250px) {
  .project-ranking { grid-template-columns:repeat(3,1fr); }
  .project-toolbar { flex-wrap:wrap; }
  .project-trust-strip { grid-template-columns:repeat(3,1fr); }
  .project-trust-strip>p { grid-column:1/-1; }
  .project-bridge-result { grid-template-columns:220px 1fr; }
  .project-next-actions { grid-column:1/-1; grid-template-columns:repeat(3,1fr); }
  .project-prefecture-directory { grid-template-columns:repeat(6,1fr); }
}
@media(max-width:980px) {
  .project-desk-hero { grid-template-columns:1fr; padding:30px; }
  .project-hero-art { min-height:150px; }
  .project-desk-layout { grid-template-columns:1fr; }
  .project-case-card { position:static; order:-1; }
  .project-form.compact,
  .project-credit-gates form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-form.compact .wide,
  .project-credit-gates .wide { grid-column:1/-1; }
  .project-prefecture-directory { grid-template-columns:repeat(5,1fr); }
  .project-national-gateways>div { grid-template-columns:1fr 1fr; }
}
@media(max-width:800px) {
  .sidebar nav { grid-template-columns:repeat(7,1fr)!important; }
  .project-desk-view { padding-top:18px; }
  .project-desk-hero { padding:24px 20px; border-radius:16px; }
  .project-desk-hero h1 { font-size:40px; }
  .project-hero-art { grid-template-columns:1fr 22px 1fr 22px 1fr; padding:14px; }
  .project-hero-art span { width:56px; height:56px; font-size:29px; }
  .project-ranking { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .project-ranking button { flex:0 0 230px; scroll-snap-align:start; }
  .project-toolbar { align-items:stretch; }
  .project-toolbar>label:first-child { flex-basis:100%; }
  .project-toolbar>.primary-button,
  .project-toolbar>.secondary-button,
  .project-toolbar>.project-import { flex:1 1 140px; }
  .project-trust-strip { grid-template-columns:1fr 1fr 1fr; }
  .project-step-panel { padding:19px; border-radius:14px; }
  .project-fact-separation,
  .project-snapshot dl,
  .project-candidate-columns,
  .project-site-list,
  .project-official-links>div { grid-template-columns:1fr; }
  .project-bridge-result { grid-template-columns:1fr; }
  .project-next-actions { grid-column:auto; grid-template-columns:1fr; }
  .project-entity-picker { grid-template-columns:1fr; }
  .project-credit-checks,
  .project-funding-criteria { grid-template-columns:1fr 1fr; }
  .project-prefecture-directory { grid-template-columns:repeat(4,1fr); }
  .project-prefecture-gateway { grid-template-columns:78px 1fr; }
  .project-prefecture-gateway .primary-button { grid-column:1/-1; text-align:center; }
}
@media(max-width:560px) {
  .project-desk-hero h1 { font-size:34px; }
  .project-desk-subtitle { font-size:18px!important; }
  .project-hero-art { display:none; }
  .project-trust-strip { grid-template-columns:1fr; }
  .project-trust-strip>p { grid-column:auto; }
  .project-step-head { grid-template-columns:50px 1fr; }
  .project-step-head>span { width:48px; height:48px; border-radius:12px; font-size:19px; }
  .project-step-head h2 { font-size:24px; }
  .project-form,
  .project-form.compact,
  .project-credit-gates form { grid-template-columns:1fr; }
  .project-form .wide,
  .project-form.compact .wide,
  .project-credit-gates .wide { grid-column:auto; }
  .project-form-actions { align-items:stretch; flex-direction:column; }
  .project-form-actions>* { width:100%; justify-content:center; text-align:center; }
  .project-comparison-board>article { grid-template-columns:1fr; }
  .project-credit-checks,
  .project-funding-criteria,
  .project-site-list dl { grid-template-columns:1fr; }
  .project-prefecture-directory { grid-template-columns:repeat(2,1fr); }
  .project-national-gateways>div,
  .project-funding-summary { grid-template-columns:1fr; }
  .project-prefecture-gateway { grid-template-columns:1fr; text-align:center; }
  .prefecture-map-art { margin:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .project-ranking button { transition:none; }
  .project-ranking button:hover { transform:none; }
}
@media print {
  .project-toolbar,
  .project-ranking button:not(.active),
  .project-case-card,
  .project-form-actions,
  .project-next-actions { display:none!important; }
  .project-desk-layout { grid-template-columns:1fr; }
  .project-desk-hero { color:#111; background:#fff; border:1px solid #777; box-shadow:none; }
  .project-step-panel { box-shadow:none; }
}

/* Explicit game checkpoint receipt and scenario-only project draft. */
.game-checkpoint-inbox {
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:16px;
  margin:18px 0;
  padding:18px 20px;
  align-items:center;
  border:2px solid #b5da55;
  border-radius:16px;
  background:linear-gradient(105deg,#f1ffd0,#fbfff3);
  box-shadow:0 9px 24px rgba(31,79,55,.09);
}
.game-checkpoint-inbox.received { border-color:#72a98a; background:#edf8f0; }
.game-checkpoint-inbox.error { border-color:#d5a54f; background:#fff7df; }
.game-checkpoint-icon {
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  color:#103f2e;
  background:#d4ff4f;
  border-radius:15px;
  font-size:27px;
  font-weight:950;
}
.game-checkpoint-inbox small { color:#527060; font-size:13px; font-weight:950; letter-spacing:.09em; }
.game-checkpoint-inbox h2 { margin:3px 0 4px; font-size:22px; line-height:1.3; }
.game-checkpoint-inbox p { margin:0; color:#334b3e; font-size:15px; line-height:1.55; }
.game-checkpoint-inbox em { display:block; margin-top:3px; color:#587064; font-size:14px; font-style:normal; font-weight:800; }
.game-checkpoint-inbox>a { color:#174f39; font-weight:900; }
.game-receive-button { min-height:52px; padding-inline:20px!important; white-space:nowrap; box-shadow:0 4px 0 #0d3f2e; }
.project-game-draft {
  margin:18px 0;
  padding:20px;
  border:1px solid #a9c5b2;
  border-left:7px solid #174f39;
  border-radius:14px;
  background:#f7fbf7;
}
.project-game-draft>header { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.project-game-draft>header small { color:#527060; font-size:13px; font-weight:950; letter-spacing:.08em; }
.project-game-draft>header h3 { margin:4px 0 0; font-size:22px; }
.project-game-draft>header>span { flex:none; padding:7px 10px; color:#174f39; background:#e3f1df; border-radius:999px; font-size:14px; font-weight:900; }
.project-game-draft>p { margin:12px 0; color:#41584b; font-size:15px; line-height:1.65; }
.project-game-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.project-game-facts>span { padding:11px 13px; background:white; border:1px solid #d3ddd5; border-radius:10px; }
.project-game-facts small { display:block; color:#607069; font-size:13px; font-weight:800; }
.project-game-facts b { display:block; margin-top:3px; font-size:18px; }
.project-game-next { margin-top:14px; padding:14px 16px; background:#eef7e8; border-radius:11px; }
.project-game-next h4 { margin:0 0 7px; font-size:16px; }
.project-game-next ol { margin:0; padding-left:22px; }
.project-game-next li { margin:5px 0; line-height:1.5; }
.project-game-draft details { margin-top:12px; border-top:1px solid #d4ded6; }
.project-game-draft summary { padding:12px 0 3px; color:#174f39; font-weight:900; cursor:pointer; }
.project-game-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.project-game-detail-grid>section { padding:13px; background:white; border:1px solid #d5dfd8; border-radius:10px; }
.project-game-detail-grid h4 { margin:0 0 8px; font-size:15px; }
.project-game-detail-grid p { display:grid; grid-template-columns:minmax(90px,.45fr) 1fr; gap:8px; margin:7px 0; font-size:14px; line-height:1.45; }
.project-game-detail-grid p span { color:#52635a; }
.project-game-detail-grid ul { margin:0; padding-left:20px; }
.project-game-detail-grid li { margin:5px 0; color:#52635a; font-size:14px; line-height:1.45; }
@media (max-width:900px) {
  .game-checkpoint-inbox { grid-template-columns:48px minmax(0,1fr); }
  .game-checkpoint-inbox>button,.game-checkpoint-inbox>a { grid-column:1/-1; width:100%; text-align:center; }
  .project-game-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .project-game-draft>header { display:block; }
  .project-game-draft>header>span { display:inline-block; margin-top:9px; }
  .project-game-facts { grid-template-columns:1fr; }
}
@media print {
  .game-checkpoint-inbox button { display:none!important; }
}
