:root{color-scheme:dark;--forest:#0d251b;--forest2:#122d21;--panel:#183528;--card:#1d3b2d;--card2:#214233;--cream:#f5f1e5;--light:#d5e0d1;--muted:#a9bbaa;--line:rgba(209,237,203,.15);--lime:#d9f4a5;--lime-dark:#163724;--amber:#f4c685;--sky:#a8d7cf;--shadow:0 18px 54px rgba(3,15,8,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--forest);color:var(--cream);font:15px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:13px;padding:11px 14px;background:#294a38;color:var(--cream);transition:filter .14s,transform .14s}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:scale(.985)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:2px}a{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.06em;line-height:1.09}h2{letter-spacing:-.035em;line-height:1.15}p{line-height:1.65}small{color:var(--muted)}.top{height:83px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,2.6vw,42px);border-bottom:1px solid var(--line);background:#10291f}.brand,.headright{display:flex;align-items:center;gap:12px}.brandmark{width:45px;height:45px;border-radius:14px;background:var(--lime);display:grid;place-items:center;color:var(--lime-dark);font-size:35px;line-height:1;box-shadow:inset -5px -5px 0 #bddc88}.brandname{font-weight:850;letter-spacing:-.055em;font-size:25px;line-height:1.05}.brandname span{color:#a5d47b}.brandtag{font-size:11px;color:var(--muted);letter-spacing:.02em}.version-tag{font-size:10px;letter-spacing:.12em;font-weight:750;color:#9db4a0}.mode-switch{border:1px solid #64856b;background:#234332;border-radius:40px;white-space:nowrap;color:var(--lime);font-size:13px}.mode-switch span{margin-left:5px}.tabbar{height:64px;display:flex;align-items:center;gap:7px;padding:7px clamp(15px,2.6vw,42px);border-bottom:1px solid var(--line);background:#142e23;overflow-x:auto;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:11px 16px;border:0;border-radius:12px;background:transparent;color:#b5c6b8;font-size:13px;font-weight:700}.tab span{font-size:18px;margin-right:6px;vertical-align:-1px}.tab.active{background:var(--lime);color:#153524}.layout{display:grid;grid-template-columns:minmax(380px,550px) minmax(0,1fr);height:calc(100dvh - 147px);min-height:630px}.panel{overflow-y:auto;padding:27px clamp(16px,2.6vw,34px) 90px;background:linear-gradient(145deg,#142e23,#0e231b);scrollbar-color:#41634e transparent}.view{display:none;max-width:645px;margin:auto;animation:rise .23s ease}.view.active{display:block}@keyframes rise{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.hero{position:relative;overflow:hidden;padding:34px 27px 32px;border:1px solid #527854;border-radius:24px;min-height:316px;background:radial-gradient(circle at 95% 5%,rgba(202,237,148,.26),transparent 34%),linear-gradient(140deg,#2c5540,#1c3b2a 63%,#173327);box-shadow:var(--shadow)}.hero:before,.hero:after{content:"";position:absolute;pointer-events:none}.hero:before{width:270px;height:270px;right:-95px;bottom:-95px;border:1px solid rgba(220,242,191,.2);border-radius:49%;box-shadow:0 0 0 35px rgba(219,241,190,.03),0 0 0 70px rgba(219,241,190,.04),0 0 0 110px rgba(219,241,190,.02)}.hero:after{width:150px;height:160px;right:-45px;top:-25px;background:repeating-conic-gradient(from 42deg at 50% 100%,transparent 0 30deg,rgba(178,221,155,.11) 30deg 38deg,transparent 38deg 75deg);border-radius:50%}.eyebrow,.kicker,.home-mini-title{font-size:10px;letter-spacing:.14em;font-weight:850;color:#bce1b0}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:27px}.sparkle{font-size:20px}.hero h1{font-size:clamp(32px,3.5vw,43px);margin:0 0 16px;max-width:390px}.hero p{color:#d5e7d5;font-size:14px;max-width:380px;line-height:1.7;margin-bottom:24px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.primary{background:var(--lime);border-color:var(--lime);color:#193b27;font-weight:800}.primary span{margin-left:10px}.quiet{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--cream);font-weight:650}.home-mini-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 10px}.label-demo{border:1px solid #5c795b;padding:4px 8px;border-radius:8px;color:#c8d9b5;letter-spacing:.05em;font-size:9px}.tripcard{padding:17px;border-radius:17px;background:#274938;border:1px solid var(--line);display:flex;gap:13px;align-items:center}.tripicon{border-radius:13px;width:51px;height:51px;display:grid;place-items:center;font-size:26px;background:#385b43}.trip-main{flex:1;min-width:0}.trip-main strong{display:block;font-size:16px;line-height:1.2}.trip-main span{color:#bcceb9;font-size:12px}.trip-chevron{color:var(--lime);font-size:22px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);margin:12px 0 19px;gap:9px}.metrics>div{background:#203e30;border:1px solid var(--line);padding:15px 9px 13px;border-radius:15px;text-align:center}.metrics strong{display:block;font-size:23px;letter-spacing:-.04em;color:#f0f1dc}.metrics span{font-size:11px;color:var(--muted)}.section{border:1px solid var(--line);border-radius:19px;background:#1a382a;padding:20px;margin:17px 0}.sectionheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.sectionheading h2{margin:3px 0 0}.section h2{font-size:19px}.section p{margin-bottom:0}.section .help{margin-top:12px}.intro-note{display:flex;gap:12px;padding:14px 16px;background:#273f2e;border-color:#56764c}.intro-note>span{font-size:25px;color:#dff3b6;line-height:1}.intro-note strong{color:#e7f3d7}.intro-note p{font-size:12px;color:#cbd9c4;margin-top:2px}.linkish{border:0;padding:8px 0;background:transparent;color:var(--lime);font-size:12px;font-weight:760}.preview-stations{display:grid;gap:9px}.preview-item{display:flex;width:100%;text-align:left;align-items:flex-start;gap:12px;padding:12px;background:#294637;border:1px solid var(--line);border-radius:14px}.preview-id,.field-letter{width:43px;height:43px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;color:#1a3624;background:#ddf3af;font-size:21px;font-weight:900}.preview-item:not(.is-main) .preview-id{background:#b9d9d0}.preview-content{flex:1;min-width:0}.preview-content strong{display:block;font-size:14px}.preview-content small{display:block;font-size:12px;line-height:1.4;margin-top:3px}.preview-arrow{color:var(--lime);font-size:18px}.counter{background:#395c46;color:var(--lime);padding:5px 10px;border-radius:40px;font-weight:800;font-size:12px}.checklist{display:grid;gap:2px}.checklist label{display:flex;align-items:center;gap:12px;padding:11px 3px;font-size:13px;border-bottom:1px solid var(--line);cursor:pointer}.checklist label:last-child{border-bottom:0}.checklist input{width:20px;height:20px;accent-color:var(--lime);flex-shrink:0}.checklist input:checked+span{text-decoration:line-through;color:#98ad99}.pagehead{padding:7px 4px 13px}.pagehead h1{font-size:clamp(35px,3.5vw,47px);margin:12px 0 14px}.pagehead p{color:var(--muted);font-size:14px;max-width:470px}.pagehead .kicker{color:#c7e6a6}
.station{background:#224332;border:1px solid #426047;border-radius:14px;margin:12px 0;padding:15px}.station-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:9px}.station-head strong{color:var(--lime);font-size:13px}.station-head>div{display:flex;gap:5px}.actionmini{padding:6px 9px;border-radius:9px;font-size:12px}.station .field{margin:9px 0}.station .field label{color:#b3cbb2}.station .field textarea{min-height:66px}.station small{font-size:11px}.station-audit{font-size:12px;color:#c7d5c6;margin:12px 0 8px}.field{margin:13px 0}.field label{display:block;margin-bottom:6px;color:#bdcebc;font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #55735a;border-radius:10px;background:#112b1e;color:var(--cream);padding:11px 12px;min-height:42px}.field textarea{resize:vertical;min-height:76px}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cols .field{min-width:0}.actions,.actionstack{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.actionstack{flex-direction:column}.actions>*{flex:1 1 auto}.upload{display:block;border:1px dashed #86a58a;background:#203e2f;border-radius:12px;padding:12px;text-align:center;cursor:pointer;font-weight:700;font-size:13px}.upload input{display:none}.help{font-size:12px;color:var(--muted);line-height:1.6}.warn{background:#4a3828;color:#f3dfc3;padding:13px;border-radius:12px;border-left:3px solid var(--amber);font-size:12px}.warn.ok{background:#244735;color:#d9f3c1;border-color:var(--lime)}.route-state-hero{display:flex;gap:14px;align-items:center;padding:14px;background:#274534;border-radius:13px;margin-bottom:13px}.route-icon{font-size:30px;color:var(--lime)}.route-state-hero p{font-size:12px;color:var(--muted);line-height:1.4;margin-top:4px}.route-state-hero strong{font-size:14px}.control{display:flex;gap:9px;align-items:center;margin:13px 0;font-size:13px}.control input{accent-color:var(--lime);width:19px;height:19px}.audit-box{border:1px solid #45634a;background:#122c1f;border-radius:13px;padding:13px;font-size:12px;margin:17px 0}.audit-box h3{font-size:14px;margin:12px 0 6px}.audit-box ul{padding-left:18px}.audit-table{border-collapse:collapse;width:100%;font-size:11px}.audit-table td,.audit-table th{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{background:#254532;padding:14px;border-radius:12px}.stat strong{display:block;font-size:22px;line-height:1.3}.stat small{display:block;font-size:11px;margin-top:3px}.mapy-attribution{font-size:12px;padding:10px;margin:12px 0;background:#163122;border-radius:9px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mapy-attribution[hidden]{display:none}.mapy-attribution img{height:23px}.bad{color:#f4bc8e}.good{color:var(--lime)}.caution{background:#303d2c;border-color:#6c6b47}.caution strong{color:#f4d8a1}.caution p{font-size:12px;color:#e2d9c4;margin:6px 0 0}.smallbutton{font-size:12px;padding:8px 11px;color:var(--lime)}.wide{width:100%}.danger{color:#ffd7cd;background:#55342f}.recent-findings{margin-top:12px;display:grid;gap:7px}.finding-row{background:#274635;padding:11px;border-radius:11px;font-size:12px;display:grid;gap:3px}.finding-row span{color:var(--muted)}
.field-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#bfd3bd;font-size:13px;font-weight:700;margin:10px 0}.progress-dots{display:flex;gap:7px;align-items:center}.progress-dots i{width:8px;height:8px;border-radius:20px;background:#56725b}.progress-dots i.current{background:var(--lime);width:23px}.field-card{background:linear-gradient(145deg,#31543e,#1c3b2c);padding:23px;border:1px solid #557554;border-radius:24px;box-shadow:var(--shadow)}.field-card-top{display:flex;align-items:center;justify-content:space-between}.field-letter{width:59px;height:59px;border-radius:18px;font-size:29px}.evidence-pill{border:1px solid #6e966b;color:#dff2d1;font-size:11px;padding:5px 10px;border-radius:50px}.field-card h2{font-size:28px;margin:26px 0 12px}.field-card>p{font-size:14px;color:#d1e0ce;line-height:1.7}.field-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#d7e7cc}.field-meta span{background:#41664b;border-radius:8px;padding:6px 10px}.field-learning{margin:18px 0;border-top:1px solid rgba(224,246,219,.2);padding-top:16px;color:#e9f0d1;font-size:13px}.field-learning strong{display:block;color:var(--lime);font-size:11px;letter-spacing:.09em;margin-bottom:5px}.field-position{margin-top:15px;display:flex;gap:8px;justify-content:space-between;align-items:center;border-top:1px solid rgba(224,246,219,.16);padding-top:15px}.field-position code{font-size:12px;color:#bbd3bb}.field-actions,.step-actions{display:flex;gap:9px;margin:13px 0}.field-actions>*{flex:1}.step-actions{justify-content:space-between}.step-actions button{font-size:12px;background:#284a36}.status{position:sticky;bottom:0;z-index:850;background:#335740;color:#f0f8e3;padding:11px 14px;border-radius:12px;margin:15px 0;font-size:12px;border:1px solid #6c9b71;box-shadow:0 12px 20px #06120a80}
.mapcol{position:relative;display:flex;flex-direction:column;background:#274634;min-width:0;overflow:hidden}#map{flex:1;min-height:300px;background:#38513f}.map-top-label{position:absolute;z-index:800;top:22px;left:20px;background:#173729e9;padding:11px 15px;border:1px solid #628b69;border-radius:13px;font-weight:800;font-size:12px;letter-spacing:.07em;box-shadow:0 4px 20px #0002}.map-top-dot{display:inline-block;width:8px;height:8px;border-radius:100%;background:var(--lime);margin-right:7px}.map-top-label #mapTrackTag{display:block;color:#c3d6bd;font-size:10px;font-weight:500;letter-spacing:0;margin:2px 0 0 17px}.map-footer{background:#163122;display:flex;flex-wrap:wrap;gap:14px;padding:13px 20px;color:#bcd0b8;font-size:11px;border-top:1px solid var(--line)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#163725!important;color:#f4f8ef!important}.leaflet-popup-content{font-family:system-ui!important}.leaflet-container{background:#38503f!important}
body[data-mode="beginner"] .advanced-only{display:none}body[data-mode="beginner"] .station .expert-only{display:none}body[data-mode="expert"] .hero .eyebrow{color:var(--lime)}body[data-mode="expert"] .mode-switch{border-color:#badc90}
@media(min-width:1280px){.layout{grid-template-columns:minmax(480px,610px) minmax(0,1fr)}.panel{padding-left:47px;padding-right:47px}.hero{padding:41px 31px}.hero h1{font-size:47px}}
@media(max-width:850px){.top{height:67px;padding:10px 14px}.brandmark{width:38px;height:38px;font-size:30px}.brandname{font-size:22px}.brandtag{font-size:10px}.version-tag{display:none}.tabbar{height:58px;padding:7px 10px;gap:3px}.tab{padding:9px 12px}.layout{display:flex;flex-direction:column;min-height:calc(100dvh - 125px);height:auto}.panel{padding:16px 15px 90px;overflow:visible}.view{max-width:680px}.mapcol{order:-1;height:280px;flex:none}.map-footer{padding:9px 14px}.map-top-label{top:10px;left:12px}.hero{min-height:0;padding:27px 22px}.hero h1{font-size:38px}.metrics strong{font-size:22px}body[data-active-view="home"] .mapcol,body[data-active-view="journal"] .mapcol,body[data-active-view="settings"] .mapcol{display:none}.status{bottom:8px}}
@media(max-width:420px){.mode-switch{font-size:11px;padding:9px 10px}.brandname{font-size:20px}.hero h1{font-size:35px}.hero-actions button{font-size:12px;padding:10px}.section{padding:15px}.field-card{padding:18px}.field-card h2{font-size:24px}.mapcol{height:245px}.cols{gap:7px}.field input,.field select,.field textarea{font-size:13px}.metrics>div{padding:12px 7px}.metrics span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.newtrip{margin:-3px 0 12px 0;color:#cdebaf;font-size:12px;padding:4px}.status{position:fixed;right:24px;bottom:22px;max-width:min(460px,calc(100vw - 30px));z-index:3000;margin:0}.status:not(.is-active){display:none}.offline-map{position:relative;width:100%;height:100%;min-height:300px;overflow:hidden;background:radial-gradient(ellipse at 25% 35%,#5d815e 0,#476b4f 36%,#2d5140 70%,#254332 100%)}.offline-map:before{content:"";inset:-30% -20%;position:absolute;opacity:.36;background:repeating-radial-gradient(ellipse at 60% 70%,transparent 0,transparent 33px,rgba(224,246,196,.24) 34px,transparent 35px,transparent 72px);transform:rotate(-17deg)}.offline-map svg{position:relative;width:100%;height:100%;min-height:300px;display:block}.offline-hint{z-index:2;position:absolute;right:20px;bottom:20px;left:20px;background:#183729e8;color:#e0edd5;border:1px solid #779575;border-radius:14px;padding:13px;font-size:12px;max-width:440px}.offline-hint strong{display:block;color:var(--lime)}.map-top-label{pointer-events:none}
@media(max-width:850px){.status{left:15px;right:15px;bottom:15px;max-width:none}.offline-map,.offline-map svg{min-height:245px}.offline-hint{font-size:10px;bottom:8px;right:8px;left:8px;padding:8px}}

/* PWA install card */
.install-panel{display:flex;align-items:center;gap:12px;border:1px solid #64885e;background:linear-gradient(125deg,#315641,#234630);border-radius:18px;padding:14px 15px;margin:14px 0 20px}
.install-logo img{display:block;width:50px;height:50px;border-radius:12px;box-shadow:0 5px 14px #10231688}
.install-copy{flex:1;min-width:0}.install-copy strong{font-size:14px;color:#f1f6e7}.install-copy p{font-size:11px;color:#d4dfca;margin:4px 0}.install-copy small{color:#bfddbb;font-size:10px}.install-copy small[data-offline="true"]{color:#f3c594}.install-panel button{flex:0 0 auto;max-width:145px}
@media(max-width:520px){.install-panel{flex-wrap:wrap}.install-copy{flex:1 1 calc(100% - 75px)}.install-panel button{width:100%;max-width:none;margin-top:4px}}

/* 0.4.1 GPS onboarding: explicit user action, always separate GPS from route. */
.geo-card{border:1px solid #a2c981;border-radius:18px;padding:16px;background:linear-gradient(125deg,#294e38,#1d3b2c);margin:17px 0;box-shadow:0 9px 23px #071e1120}
.geo-header{display:flex;align-items:flex-start;gap:12px}.geo-glyph{display:grid;place-items:center;min-width:41px;height:41px;border-radius:13px;background:#436b4b;font-size:24px}.geo-header strong{color:var(--lime);font-size:15px}.geo-header p{margin:4px 0 0;font-size:12px;color:#d3e4d1;line-height:1.5}.geo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 5px}.geo-actions button{flex:1 1 145px;min-height:47px;font-size:13px}.geo-privacy{font-size:11px!important;color:var(--muted);line-height:1.55;margin:10px 0 0}.geo-route{margin:10px 0;display:grid;gap:7px}.geo-route button{width:100%}.geo-route small{font-size:11px;line-height:1.5}.map-gps{z-index:810;position:absolute;top:25px;right:18px;border:2px solid #b4dbad;background:#244634;color:#f0f6db;box-shadow:0 5px 13px #0005;font-size:12px;font-weight:800}.map-top-label{pointer-events:none}.gps-live{display:flex;align-items:center;gap:7px}.gps-dot{width:17px;height:17px;border-radius:50%;border:3px solid white;background:#378df8;box-shadow:0 0 0 7px #378df840,0 2px 5px #0007}
@media(max-width:850px){.map-gps{top:9px;right:10px;padding:9px;font-size:11px}.geo-actions button{flex:1 1 140px}}

/* Akademie 0.5 */
.academy-teaser{padding:17px 18px;border:1px solid #7b9969;border-radius:18px;background:linear-gradient(115deg,#315540,#1a3a2a);margin:16px 0}
.academy-lead{display:flex;gap:12px;align-items:center}.academy-lead div{flex:1;min-width:0}.academy-medal{font-size:35px}.academy-lead small{font-weight:750;letter-spacing:.08em}.academy-lead strong{display:block;font-size:18px}.academy-lead p{font-size:12px;margin:1px 0 0;color:#b9d6b9}.academy-xp{font-weight:900;color:#d5efad;white-space:nowrap}.academy-track{height:10px;background:#0b2319;border:1px solid #4b7251;border-radius:999px;overflow:hidden;margin:11px 0}.academy-track span{display:block;background:linear-gradient(90deg,#a6cd7f,#e5f8a3);height:100%;transition:width .2s;min-width:0}.academy-profile{background:linear-gradient(130deg,#34573f,#193928)}.academy-profile h2{font-size:30px;margin:10px 0}.academy-bigxp{font-size:24px;color:#e5f8a3}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.academy-badge{padding:12px;background:#294935;border:1px solid #6b9767;border-radius:13px;font-size:12px}.academy-badge strong{display:block;font-size:13px;margin:4px 0}.academy-badge.locked{opacity:.53;filter:grayscale(.8)}.challenge-list{display:grid;gap:9px}.challenge{background:#254332;padding:11px 13px;border-radius:12px;font-size:13px;display:flex;align-items:center;gap:10px}.challenge span{color:#cee6ba;flex:1}.quiz-question{border-top:1px solid #4a694f;padding:13px 0}.quiz-question p{font-weight:750;font-size:13px}.quiz-question label{display:block;font-size:12px;padding:8px;color:#d4e5d2}.quiz-question input{accent-color:#bada8e;margin-right:7px}.id-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}.id-photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:12px;border:1px solid #799b79}.id-result{border:1px solid #73916a;border-radius:12px;padding:13px;margin:13px 0;background:#203c2d;font-size:13px}.id-result strong{display:block;font-size:17px;color:#d2ecb4;margin-bottom:4px}.id-result p{margin:5px 0}.id-result .risk{color:#ffdeba}.id-result small{display:block;margin-top:8px}.wide{width:100%}.id-photo-grid img{background:#122d20}
body[data-active-view="academy"] .mapcol,body[data-active-view="identify"] .mapcol{display:none}
@media(max-width:440px){.badge-grid{grid-template-columns:1fr}.id-photo-grid img{height:91px}}

/* 0.6: quality coach and explicit-consent AI pilot */
.id-photo-item{min-width:0;display:grid;gap:.4rem;align-content:start}
.id-photo-item img{width:100%;max-height:130px;object-fit:cover;border-radius:12px}
.id-photo-item label{font-size:.73rem;display:grid;gap:.25rem}
.id-photo-item select{max-width:100%;font-size:.8rem;padding:.25rem}
.id-photo-item small{color:var(--muted,#9bb5a4);font-size:.68rem}
.ai-lab{border:1px solid rgba(160,216,155,.35);border-radius:14px;margin-top:1rem}
.ai-consent{display:flex;align-items:flex-start;gap:.55rem;font-size:.86rem;line-height:1.45;margin:.8rem 0}
.ai-consent input{width:auto;min-width:18px;margin-top:.2rem}
.ai-lab button:disabled{opacity:.55;cursor:not-allowed}


.planning-pick,.planning-pick *{cursor:crosshair!important}.trip-planner .field button{margin-top:8px;width:100%}.trip-planner .control{align-items:center;gap:9px}.trip-planner input[type=text]{font-size:16px}

.recommend-card{padding:20px;margin-top:18px;border:1px solid var(--line);border-radius:16px;background:#193b2b}.recommend-card h3{font-size:21px;color:var(--lime)}.recommend-card p,.recommend-card li{font-size:13px;line-height:1.6}.recommend-card li{margin-bottom:7px}#recommendations input[type=text]{font-size:16px}#recommendations details{margin-top:14px}#recommendations .control{margin:14px 0}

/* Field mode: controls first; no map or menus above the actions. */
body[data-active-view="field"] .mapcol{display:none}
.field-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.field-fast-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 10px}
.field-fast-actions>button,.field-photo-button{min-height:64px;font-size:17px;font-weight:750;border-radius:15px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;background:#294a38;border:1px solid #64856b;color:var(--cream)}
.field-fast-actions>button.primary{background:var(--lime);color:#153524}
.field-photo-button{position:relative;overflow:hidden;cursor:pointer}
.field-photo-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.field-photo-button:focus-within{outline:3px solid var(--amber)}
#view-field .field-card{padding:16px;border-radius:18px}
#view-field .field-card h2{margin:10px 0 12px;font-size:24px}
#view-field .field-letter{width:38px;height:38px;font-size:22px;border-radius:12px}
#view-field details summary{cursor:pointer;padding:6px 0;color:var(--lime)}
#view-field>.help{font-size:12px;margin:6px 0}
.field-after{margin:14px 0}
.quick-capture{border-top:1px solid var(--line);padding:16px 0;display:grid;gap:8px}
.quick-capture img{max-width:180px;max-height:180px;border-radius:12px}
.quick-capture textarea{width:100%;min-height:65px}.quick-capture.reviewed strong:after{content:' ✓'}
@media(max-width:850px){body[data-active-view="field"] .top,body[data-active-view="field"] .tabbar{display:none}body[data-active-view="field"] .layout{min-height:100dvh}body[data-active-view="field"] .panel{padding:12px 14px 35px;padding-top:max(12px,env(safe-area-inset-top))}#view-field .step-actions button{min-height:48px}#view-field .field-toolbar button{min-height:44px}.field-fast-actions>button,.field-photo-button{font-size:16px}}

/* Field feedback stays compact; photos belong to one finding. */
.field-adapt{border-top:1px solid var(--line,#365044);padding-top:.5rem;margin-top:.5rem}.capture-photos{display:flex;gap:.5rem;overflow-x:auto}.capture-photos img{max-width:144px;max-height:192px;object-fit:contain;flex-shrink:0}.field-adapt button{min-height:48px}.field-adapt [hidden],#fieldPhotoDone[hidden],.step-actions [hidden]{display:none!important}

/* Quiet trip: navigation on demand, recording tools stay collapsed. */
.quiet-trip-card{padding:24px;border:1px solid var(--line,#557554);border-radius:20px;background:#203e2e;margin:16px 0}
.quiet-trip-card h2{margin-top:0}.quiet-trip-card button{margin-top:10px}
#fieldExtras>summary{padding:16px 0;font-weight:650;cursor:pointer}
#fieldExtras .field-toolbar{margin-top:16px}
.recommend-summary{padding:12px 14px;background:#203e2e;border-radius:12px;margin:12px 0}
.recommend-card details{margin:12px 0}.recommend-card summary{cursor:pointer;font-weight:650}
#fieldDots[hidden]{display:none}

/* Unverified photo hypotheses stay visually distinct from user's notes. */
.capture-ai{margin:16px 0;padding:16px;border:1px solid #dcb66b;border-radius:12px}
.identification-warning{background:#4a1b15;color:#fff3de;border:2px solid #ffb65b;padding:14px;border-radius:10px;margin:12px 0}
.identification-warning strong{display:block;color:#ffd18b;font-size:1rem}
.identification-warning p{margin:8px 0 0}.capture-ai details>summary{cursor:pointer;padding:12px 0;font-weight:700}
.capture-ai input[type=password]{width:100%;box-sizing:border-box}.capture-ai-result p{overflow-wrap:anywhere}

/* One local camera session, three explicitly confirmed views. */
.camera-guide{box-sizing:border-box;width:min(96vw,580px);max-height:96dvh;overflow-y:auto;border:1px solid #8ca877;border-radius:22px;padding:20px;background:#17372a;color:#f5f3e6;box-shadow:0 20px 70px #0008}
.camera-guide::backdrop{background:#04180fed;backdrop-filter:blur(4px)}
.camera-guide [hidden]{display:none!important}.camera-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-header button{min-width:44px;min-height:44px;padding:8px}
.camera-guide h2{margin:4px 0 8px;font-size:1.65rem}.camera-guide p{line-height:1.45}.camera-progress{color:#d7efa7;font-weight:700;letter-spacing:2px;margin:12px 0 4px}.camera-hint{margin:8px 0 14px}
.camera-stage{position:relative;height:min(38dvh,340px);min-height:190px;background:#071b13;border-radius:14px;overflow:hidden}
.camera-stage video,.camera-stage .camera-preview{width:100%;height:100%;object-fit:contain;display:block}.camera-outline{position:absolute;inset:0;width:100%;height:100%;color:#e3f5b6;filter:drop-shadow(0 1px 3px #000);pointer-events:none}.camera-overlay-label{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#081c16cb;color:#fff;padding:4px 10px;border-radius:8px;font-size:.75rem;pointer-events:none}
.camera-status{min-height:2.8em;font-size:.92rem;margin:12px 0;color:#e0eccf}.camera-controls{display:flex;flex-wrap:wrap;gap:10px}.camera-controls>*{flex:1 1 190px;margin:0!important;min-height:48px}.camera-controls button:disabled{opacity:.5}.camera-native input{max-width:100%}.camera-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.camera-summary img{width:100%;aspect-ratio:1;object-fit:contain;background:#0a2419;border-radius:10px;margin-top:12px}.camera-summary button{font-size:.75rem;padding:8px;min-height:48px;width:100%}.camera-explanation{font-size:.78rem!important;margin-bottom:0}
@media(max-width:500px){.camera-guide{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.camera-guide h2{font-size:1.4rem}.camera-controls>*{flex-basis:140px}.camera-stage{height:33dvh}.camera-hint{font-size:.9rem}.camera-status{font-size:.85rem}.camera-summary{gap:6px}}

/* Local diary photographs replace finding symbols on the map. */
.map-photo-pin{display:block;position:relative;width:28px;height:28px;border:2px solid #dcf6a9;border-radius:6px;background:#193824;box-shadow:0 1px 4px #0006;box-sizing:border-box}
.map-photo-pin img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
.map-photo-count{position:absolute;right:-5px;bottom:-6px;min-width:14px;padding:0 3px;border-radius:10px;background:#dcf6a9;color:#193824;font:bold 10px system-ui;text-align:center}
.map-photo-popup{display:grid;gap:6px;margin-top:8px;max-height:320px;overflow:auto;width:220px;max-width:100%}
.map-photo-popup img{display:block;width:100%;height:auto;border-radius:6px}

[hidden]{display:none!important}
.diary-card>summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}
.diary-card>summary:after{content:'⌄';margin-left:auto;font-size:24px}
.diary-card[open]>summary:after{content:'⌃'}
.diary-card>summary img{width:72px;height:82px;border-radius:12px;object-fit:cover;flex-shrink:0}
.diary-card>summary strong,.diary-card>summary small,.diary-card>summary span>span{display:block}
.diary-card>summary small{font-weight:400;color:var(--muted);margin-top:6px;line-height:1.6}
.diary-tree{font-size:34px}.diary-content{margin-top:20px}.diary-map{height:320px;background:#173b2a;border-radius:14px;overflow:hidden}.diary-map > svg{width:100%;height:85%}.diary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.diary-symbol{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dcf6a9;color:#173b2a;font-size:18px}

.diary-privacy{display:flex;align-items:center;gap:9px;font-size:.9rem;color:#c2d7c7;margin-bottom:18px}.privacy-note{margin:0 0 24px;padding:14px 18px;border:1px solid #54725e;border-radius:14px}.privacy-note p{font-size:.92rem;color:#c2d7c7;line-height:1.65}.private-map-control{max-width:245px;padding:10px;background:#e7efd9;color:#183325;border-radius:10px;box-shadow:0 2px 8px #0004}.private-map-control strong,.private-map-control small{display:block}.private-map-control small{font:12px/1.4 system-ui;margin:5px 0}.private-map-control button{font:600 13px system-ui;background:#214d38;color:#fff;padding:8px;border-radius:8px;width:100%}.backup-dialog{max-width:440px;width:calc(100% - 32px);box-sizing:border-box;background:#163627;color:#f4f3e5;border:1px solid #99b181;border-radius:20px;padding:24px}.backup-dialog::backdrop{background:#000b}.backup-dialog label{display:block;margin:14px 0}.backup-dialog input{box-sizing:border-box;width:100%;margin-top:7px}.backup-dialog h2{margin-top:0}

/* Language names stay native; compact two-row controls on small phones. */
.language-select{max-width:135px;min-height:38px;padding:6px 8px;border-radius:12px;border:1px solid #64856b;background:#234332;color:var(--cream);font-size:13px}#languageSettings{display:block;max-width:100%;margin-top:8px}body:not([data-active-view="field"]) .top{height:auto;min-height:83px}.headright{flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.top{gap:8px}.headright{max-width:145px;gap:5px}.language-select{width:100%;min-height:34px}.mode-switch{max-width:145px;white-space:normal;font-size:11px;padding:6px 9px}.brandtag{max-width:160px}.version-tag{display:none}}

/* Available even in the simplified field view; keeps clear of the right-hand status toast. */
.emergency-entry{position:fixed;left:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:3100;display:block;min-height:44px;padding:11px 16px;background:#722b2b;color:#fff;border:1px solid #e7a19a;border-radius:14px;text-decoration:none;font-weight:750;font-size:14px;box-shadow:0 3px 16px #0005}.emergency-entry:focus-visible{outline:3px solid #e6f7a5;outline-offset:3px}@media(max-width:850px){body[data-active-view="field"] .panel{padding-bottom:85px}.status{bottom:70px}}

/* Storage failures leave SOS and recovery usable, while preventing edits to stale state. */
.storage-gate{margin:1rem;padding:1rem;border:1px solid #c7e6a0;border-radius:16px;background:#254834;color:#f4f5e7}.storage-gate[hidden]{display:none}.storage-gate button{margin:.4rem .5rem .2rem 0}body[data-storage-state="error"] .storage-gate{background:#57352b}body[data-storage-state="loading"] main,body[data-storage-state="error"] main,body[data-storage-state="loading"] .tabbar,body[data-storage-state="error"] .tabbar{pointer-events:none;opacity:.55}
