@charset "UTF-8";
:root{--ink:#1d3934;--green:#17483d;--deep:#123b34;--lime:#e0efac;--paper:#f5f4ed;--muted:#64716a;--line:#dedfd3;--gold:#ae7a36;--white:#fffef9;--red:#9c382c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green)}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc7527;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2rem,4vw,3.7rem);font-weight:650}h2{font-size:1.7rem}h3{font-size:1.2rem}small,.small{font-size:.82rem}p+p{margin-top:1rem}img{max-width:100%;display:block}button{border:0}button.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--green);color:white;padding:.8rem 1.3rem;border-radius:10px;text-decoration:none;font-weight:650;min-height:48px;border:1px solid transparent}.btn:hover{filter:brightness(1.1)}button.secondary,a.secondary{background:transparent;border:1px solid #bac5b7;color:var(--ink)}button.light,a.light{background:var(--lime);color:var(--deep)}button.danger{background:#8b322c;color:white}.text-button{color:var(--green);background:none;text-decoration:underline;padding:8px 0;min-height:44px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:.7rem;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;background:#eaf0dc;border:1px solid #d7e0c7;border-radius:30px;padding:5px 12px;font-size:.75rem;font-weight:650;white-space:nowrap}.pill.gold{background:#faf0d8;color:#73521e;border-color:#eadab2}.stack{display:grid;gap:1rem}.row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.section{margin-top:2rem}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.loading{min-height:90vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.network{background:#f2d9a2;color:#513e21;text-align:center;padding:10px;font-weight:600}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(90vw,620px);background:var(--deep);color:white;padding:15px 23px;border:1px solid #a5c58c;border-radius:12px;box-shadow:0 12px 45px #0c292b33;z-index:100}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:1.23rem;letter-spacing:-.04em;font-weight:750}.brand-icon{display:grid;place-items:center;width:37px;height:37px;background:var(--lime);color:var(--deep);border-radius:12px;font-size:1.45rem}.brand sup{font-size:.6rem;letter-spacing:0}
/* Arrival */
.arrival{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr}.arrival-art{position:relative;padding:42px 8%;background:var(--deep);color:var(--paper);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.arrival-art .brand,.arrival-art .eyebrow{color:#d8e5c6}.arrival-art h1{font-size:clamp(2.7rem,4vw,4.6rem);max-width:600px}.arrival-art h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime)}.arrival-art p{color:#c2d1c2;max-width:470px}.arrival-map{width:125%;max-width:none;margin-left:-12%;border:1px solid #5a8171;border-radius:22px;transform:rotate(-3deg);box-shadow:0 22px 50px #001d2466}.arrival-body{padding:4rem max(25px,10%);display:flex;flex-direction:column;justify-content:center}.arrival-body h2{font-size:2rem}.arrival-form{margin-top:1.8rem}.footer-note{font-size:.75rem;color:var(--muted);margin-top:2rem}.avatar-strip{display:flex;align-items:center;gap:10px}.avatar-strip img{width:40px;border-radius:50%;border:2px solid #e2eacb}.arrival-art .footer-note{color:#c2d1c2}.notice{border:1px solid #d4ddc3;background:#edf2e4;border-radius:12px;padding:1rem;color:#314e3e;font-size:.9rem}.notice.warn{background:#fbf0d8;border-color:#e5c887;color:#6b5023}.notice.error{background:#f9e8e2;border-color:#dcaaa0;color:#852e26}.notice a{color:inherit}
/* Application frame */
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:#dae6d3;padding:30px 23px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{color:white}.sidebar-label{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#a7bfb0;margin:38px 0 13px}.nav{display:grid;gap:7px}.nav button{background:none;color:#c0d3c6;text-align:left;padding:12px 13px;border-radius:9px;display:flex;gap:12px;align-items:center;min-height:48px}.nav button.active{background:#31554a;color:#f0f7d1}.nav button:hover{background:#2b5145}.nav-symbol{font-size:1.2rem;width:23px;text-align:center}.side-story{margin-top:auto;background:#244b3f;border:1px solid #4b6a52;border-radius:14px;padding:17px 13px;font-size:.82rem}.side-story img{width:65px;margin-top:-48px;margin-bottom:10px}.side-story p{color:#c5d6bf}.side-bottom{font-size:.66rem;color:#9ab5a3;margin-top:24px;letter-spacing:.02em}.main-wrap{min-width:0}.topbar{height:88px;padding:0 44px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar .breadcrumbs{font-size:.8rem;color:var(--muted)}.account{display:flex;align-items:center;gap:10px}.account img{width:39px;height:39px;border:1px solid var(--line);border-radius:50%}.account strong{font-size:.8rem;display:block}.account span{font-size:.68rem;display:block;color:var(--muted)}.content{max-width:1400px;padding:35px 44px 52px;margin:auto}.intro-line{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.intro-line h1{font-size:2.7rem;margin:8px 0 10px}.intro-line p{max-width:650px;font-size:.92rem;color:var(--muted)}.progress-card{display:flex;gap:17px;align-items:center;background:var(--white);border:1px solid var(--line);padding:15px 20px;border-radius:13px;min-width:190px}.progress-card b{font-size:1.55rem}.progress-card span{font-size:.72rem;display:block;color:var(--muted)}progress{width:90px;height:7px;border:0;border-radius:10px;overflow:hidden;background:#e2e7d9}progress::-webkit-progress-bar{background:#e2e7d9}progress::-webkit-progress-value{background:#56855b}progress::-moz-progress-bar{background:#56855b}.map-wrap{position:relative;border-radius:20px;overflow:hidden;background:var(--deep);box-shadow:0 15px 30px #193b3012}.map-wrap>img{width:100%;height:auto}.map-markers{position:absolute;inset:0}.map-pin{position:absolute;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:3px solid #fff8d3;background:var(--deep);color:white;box-shadow:0 5px 12px #123b3455;font-weight:750;transform:translate(-50%,-50%)}.map-pin.current{background:var(--lime);color:var(--deep);box-shadow:0 0 0 7px #e0efac33,0 5px 20px #132d31}.map-pin.done{background:#547a4c}.map-pin.locked{background:#637864;color:#eff1e4}.map-pin:nth-child(1){left:13%;top:63%}.map-pin:nth-child(2){left:27%;top:49%}.map-pin:nth-child(3){left:46%;top:68%}.map-pin:nth-child(4){left:61%;top:47%}.map-pin:nth-child(5){left:77%;top:59%}.map-pin:nth-child(6){left:87%;top:76%}.map-caption{display:flex;justify-content:space-between;gap:10px;padding:13px 20px;background:#173f3b;color:#cfdfca;font-size:.72rem}.legend{display:flex;gap:15px}.legend i{width:7px;height:7px;background:var(--lime);border-radius:50%;display:inline-block;margin-right:5px}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.journey-card{text-align:left;background:var(--white);border:1px solid var(--line);padding:19px;border-radius:14px;color:var(--ink);min-height:158px;display:flex;flex-direction:column;gap:11px;transition:transform .18s,box-shadow .18s}.journey-card:hover{transform:translateY(-3px);box-shadow:0 7px 16px #193b3010}.journey-card.current{border-color:#6f8d55;background:#eff4de}.journey-card.locked{background:#eeeee6;color:#667263}.card-num{font-family:Georgia,serif;font-size:1.6rem;color:#849773}.card-status{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.journey-card h3{font-size:1.02rem}.journey-card .small{font-size:.75rem}.journey-card footer{margin-top:auto;font-size:.75rem;color:var(--muted)}.bottom-note{display:flex;gap:14px;align-items:center;background:#eaeede;border-radius:12px;padding:18px;margin-top:25px;font-size:.83rem}.bottom-note img{width:48px}.bottom-note strong{display:block}
/* Missions and forms */
.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.mission-main,.panel{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:30px}.mission-header{margin-bottom:25px}.mission-header h1{font-size:2.6rem;margin:13px 0}.mission-header p{color:var(--muted);font-size:.94rem;max-width:740px}.steps{display:flex;gap:8px;margin:20px 0}.steps span{flex:1;height:5px;background:#dfe4d4;border-radius:5px}.steps .filled{background:#668657}.guide-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#e9eedf}.guide-card img{width:110px;margin:0 auto 16px}.guide-card h3{text-align:center;margin-bottom:14px}.guide-card p{font-size:.85rem;margin-bottom:15px}.guide-card button{width:100%;font-size:.83rem}.reward-card{padding:20px;background:#faf0d8;border:1px solid #eadcb9;border-radius:15px;margin-top:17px}.reward-card .reward-icon{font-size:1.6rem}.reward-card h3{margin:9px 0;font-size:1.05rem}.reward-card p{font-size:.8rem;color:#796741}.field{display:grid;gap:7px;margin-bottom:19px}.field label,legend{font-size:.86rem;font-weight:650}.field input,.field select,.field textarea,select.input{width:100%;padding:12px 14px;border:1px solid #bcc7b9;border-radius:9px;background:white;color:var(--ink);min-height:48px}.field textarea{resize:vertical;min-height:115px;line-height:1.65}.field small{font-size:.73rem;color:var(--muted)}.field input:focus,.field textarea:focus{border-color:#537346}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}fieldset{border:0;padding:0;margin:0 0 22px}legend{margin-bottom:10px}.avatar-choice{cursor:pointer;display:block;text-align:center;position:relative;border-radius:12px;background:#f4f4ec;border:1px solid var(--line);padding:11px}.avatar-choice img{width:75px;margin:0 auto 7px}.avatar-choice input{accent-color:var(--green);width:18px;height:18px}.avatar-choice:has(input:checked){background:#e8efcd;border-color:#67824d}.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;margin:15px 0}.check input{width:19px;height:19px;flex-shrink:0;accent-color:var(--green);margin-top:4px}.source{border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:16px;background:#f5f5eb}.source h3{font-size:.95rem;margin-bottom:9px}.source p{font-size:.87rem}.source small{display:block;margin-top:10px;color:var(--muted);font-size:.73rem}details{border:1px solid var(--line);border-radius:10px;padding:14px;margin:18px 0}summary{cursor:pointer;font-weight:650;font-size:.85rem;min-height:28px}.feedback{margin:18px 0;padding:18px;border-radius:12px;background:#e4efce;border:1px solid #a6c086}.feedback.retry{background:#f9efdc;border-color:#dfc28c}.feedback h3{font-size:1rem;margin-bottom:8px}.feedback p{font-size:.9rem}.form-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.word-count{font-size:.74rem;text-align:right;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.metric{background:var(--white);padding:23px;border:1px solid var(--line);border-radius:14px}.metric b{font-size:2rem;display:block;line-height:1.3}.metric span{font-size:.77rem;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--white)}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#e9eddf;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}td .btn{padding:5px 12px;font-size:.75rem;min-height:40px}.evidence-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f4eb;padding:16px;border-radius:10px;font-size:.85rem}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.badge-card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:25px;text-align:center}.badge-card .symbol{font-size:2.5rem}.badge-card h3{font-size:1rem;margin-top:13px}.badge-card p{font-size:.8rem;margin-top:9px;color:var(--muted)}.badge-card.locked{opacity:.62}.certificate{background:#f6edcf;border:8px double #b4a26c;padding:40px;text-align:center;margin-top:25px}.certificate h2{font-family:Georgia,serif;font-size:2.5rem;margin:20px 0}.certificate .name{font-size:2rem;margin:20px 0}.recording{display:flex;align-items:center;gap:10px;flex-wrap:wrap}audio{width:100%;margin-top:12px}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.resource-grid p{margin:12px 0;color:var(--muted);font-size:.9rem}.empty{padding:35px;text-align:center;color:var(--muted)}.admin-forms{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-forms h2{margin-bottom:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.page-footer{border-top:1px solid var(--line);margin-top:35px;padding-top:16px;display:flex;justify-content:space-between;gap:10px;font-size:.67rem;color:var(--muted)}.print-page{max-width:850px;margin:40px auto;padding:30px;background:white}.print-page h1{font-size:2.5rem}.print-page section{margin:30px 0;padding-top:20px;border-top:1px solid #ccc}.write-lines{height:100px;background:repeating-linear-gradient(white,white 27px,#ddd 28px,white 29px)}.print-page .source{break-inside:avoid}.mobile-brand{display:none}
@media(min-width:1600px){.map-wrap>img{max-height:510px}.content{max-width:1480px}}
@media(max-width:1150px){.shell{grid-template-columns:200px 1fr}.sidebar{padding:27px 17px}.content{padding:30px 26px}.topbar{padding:0 26px}.mission-layout{grid-template-columns:minmax(0,1fr) 235px}.mission-main{padding:23px}.intro-line h1{font-size:2.3rem}.metric-grid{gap:10px}.metric{padding:16px}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px 22px}.sidebar .brand{font-size:1rem}.sidebar .brand-icon{width:28px;height:28px;font-size:1.1rem}.sidebar-label,.side-story,.side-bottom{display:none}.nav{display:flex;overflow:auto;margin-top:13px;gap:8px}.nav button{white-space:nowrap;min-height:44px;font-size:.76rem;padding:8px 12px}.nav-symbol{font-size:1rem;width:auto}.topbar{height:65px}.mission-layout{grid-template-columns:1fr}.mission-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.guide-card img{width:70px;float:left;margin:0 12px 8px 0}.guide-card h3{text-align:left}.reward-card{margin:0}.arrival{grid-template-columns:1fr 1fr}.arrival-art{padding:30px}.arrival-art h1{font-size:2.9rem}.arrival-body{padding:30px}.map-pin{width:35px;height:35px;font-size:.8rem}}
@media(max-width:620px){.arrival{display:flex;flex-direction:column}.arrival-art{padding:27px;gap:25px}.arrival-art h1{font-size:2.65rem}.arrival-art .arrival-map{width:100%;margin:0;transform:none}.arrival-art .footer-note{display:none}.arrival-body{padding:35px 25px}.content{padding:24px 18px}.topbar{padding:0 18px}.breadcrumbs{max-width:130px}.account strong{max-width:150px;overflow:hidden;text-overflow:ellipsis}.intro-line{display:block}.intro-line h1{font-size:2rem}.progress-card{margin-top:20px;width:100%;justify-content:space-between}.progress-card progress{width:160px}.intro-line .pill{margin-top:12px}.map-wrap{border-radius:13px}.map-caption{padding:11px;font-size:.63rem}.map-caption>.legend{display:none}.map-pin{width:29px;height:29px;border-width:2px;font-size:.72rem}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-card{padding:14px;min-height:168px}.journey-card h3{font-size:.95rem}.card-status{font-size:.57rem}.mission-header h1{font-size:2.1rem}.mission-main{padding:21px 17px}.mission-side{grid-template-columns:1fr}.two-col,.admin-forms,.resource-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.badge-grid{grid-template-columns:1fr 1fr;gap:10px}.badge-card{padding:20px 12px}.page-footer{flex-direction:column}.form-actions .btn{width:100%}.print-page{margin:0;padding:20px}.certificate{padding:25px 15px}.certificate h2{font-size:1.8rem}}
.sidebar{min-width:0}.account{min-width:0}.account strong{overflow-wrap:anywhere}.toast{width:max-content;max-width:90vw}
@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.topbar{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.topbar .breadcrumbs{font-size:.7rem}.intro-line h1{overflow-wrap:anywhere}.nav{max-width:100%}.map-caption>span{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.network,.toast,.no-print,.page-footer,button,.form-actions,.guide-card{display:none!important}.shell,.mission-layout{display:block}.content,.print-page{padding:0;margin:0;max-width:none}.certificate{break-inside:avoid}.print-page section{break-inside:avoid}body{background:white;font-size:11pt;color:#111}a{color:#111;text-decoration:none}.panel{border:0;padding:0}.notice{background:white}.source{background:white}h1{font-size:25pt}.print-page .write-lines{height:100px} @page{size:A4;margin:18mm}}
