/* All decorative artwork comes from generated PNG assets. CSS handles layout and interaction. */
:root{background:#faf3d9;color:#263e32}
.world-bg{opacity:1;background:url('assets/background.png') center bottom / cover no-repeat}
header{border:0;height:80px}footer{color:#203b2e;font-weight:bold;text-shadow:0 1px 2px #fff8dc;height:42px}.tiny-dot,.travel-label span,.edition i,.scene-badge,.footer-note{display:none}.travel-label{border:0;background:none;padding:0;font-size:10px;letter-spacing:2px}.app{padding:0 5.5vw}.brand-mark .asset-icon{width:100%;height:100%;object-fit:contain}.asset-icon{display:inline-block;object-fit:contain;flex-shrink:0;width:24px;height:24px;vertical-align:middle}.welcome{grid-template-columns:1.15fr 1fr;gap:6vw;max-width:1160px;padding-bottom:40px}.intro{text-align:center}.title-logo{margin:8px auto 5px;width:min(100%,530px);font-size:0;line-height:0;text-shadow:none;letter-spacing:0}.title-logo img{width:100%;height:auto;max-height:230px;object-fit:contain}.topic-label{margin:8px 0 12px;font-weight:bold;color:#47664a;letter-spacing:2px;font-size:11px}.description{font-size:13px;line-height:1.7;margin:0 auto;color:#486348}.scene-wrap{height:225px;max-width:440px;margin:6px auto 0}.scene{image-rendering:auto}.skills-strip{justify-content:center;margin-top:4px;gap:16px}.skill-small{font-size:9px;color:#395a39}.skill-small .asset-icon{width:22px;height:22px}
.passport,.skill-card,dialog,.record,.empty{background:none;border:26px solid transparent;border-image:url('assets/panel.png') 50 fill / 26px / 0 stretch;border-radius:0;box-shadow:none}.passport{padding:13px 15px 12px;max-width:440px}.passport:before,.scene-badge:before{content:none}.panel-head{gap:10px}.panel-head h2{font-size:23px;margin:6px 0}.panel-head p{color:#6a7757}.panel-head .asset-icon{width:43px;height:48px;opacity:1}.divider{margin:16px 0;border-top:1px solid #cfcea9}.eyebrow{color:#476744}.step-number{background:none;color:#477345;border-radius:0}.feedback{background:transparent;color:#677454;padding:5px 0}.feedback.success{background:transparent;color:#286239}.feedback.error{background:transparent;color:#9b3d30}
input,select{background:none;border:9px solid transparent;border-image:url('assets/panel.png') 50 fill / 9px / 0 stretch;border-radius:0;padding:3px 6px;height:45px;color:#2b4433}input:disabled{background:none;filter:grayscale(.55);opacity:.6}input::placeholder{color:#798568}input:disabled::placeholder{color:#798568}.details-grid label{color:#526b45}
.primary,.verify-btn,.secondary,.sound,.back,.pagination button,.demo-note button,.demo-banner button,.complete{background:none;border:12px solid transparent;border-image:url('assets/button-secondary.png') 33 fill / 12px / 0 stretch;border-radius:0;box-shadow:none;color:#253f2b;padding:2px 8px}.primary{border-image-source:url('assets/button-primary.png');color:#fff9da;height:51px;font-size:11px}.primary .asset-icon{display:none}.verify-btn{padding:0 5px;font-size:9px}.secondary-row{gap:9px;margin-top:15px}.secondary{min-height:44px;font-size:8px;gap:6px;padding:0 3px}.secondary .asset-icon{width:20px;height:22px}.sound{min-height:43px;font-size:9px;padding:0 8px;gap:7px}.sound .asset-icon{width:22px;height:22px}.back{min-height:43px;font-size:9px}.pagination button{padding:0 8px;min-height:40px}.demo-note button,.demo-banner button{border:0;border-image:none;padding:0;text-decoration:underline;background:none}.demo-note{margin-top:10px;color:#647452}.lock-note{color:#687857;font-size:9px}.start{margin-top:14px}.screen{padding-bottom:30px}.record{border-image-source:url('assets/scorecard.png');border-width:20px;border-image-width:20px;padding:6px 5px}.record-time{border-color:#c9ccaa}.record-actions .asset-icon{width:18px;height:18px}.record-actions button{min-height:32px}.record .score-line{margin:11px 0}.complete{font-size:7px;border-width:8px;border-image-width:8px;padding:0 3px}.empty{border-image-width:26px}.empty .asset-icon{width:65px;height:70px}.empty p{color:#667754}.record-toolbar input{background:none}.skill-card{padding:20px 7px;border-width:20px;border-image-width:20px;min-height:230px}.skill-card:hover{box-shadow:none}.icon-tile{background:none;border:0;border-radius:0;width:74px;height:74px;margin-bottom:17px}.icon-tile .asset-icon{width:68px;height:68px}.skill-card .arrow{display:none}.skill-card small{color:#657750}.selection-note{color:#4b6345}.modal-icon{width:60px;height:65px}.modal-icon .asset-icon{width:100%;height:100%}dialog{padding:10px 15px 14px;border-width:25px;border-image-width:25px}.modal-copy{color:#5c6d4e}.ghost.close{min-width:44px;min-height:44px;justify-content:center}.danger{border-image-source:url('assets/button-primary.png')}.brand{color:#2c4934}.brand strong{font-size:12px}.edition{color:#3c5940}.record-grid{align-content:start}#toast{background:none;border:15px solid transparent;border-image:url('assets/button-primary.png') 33 fill / 15px / 0 stretch;color:#fff9dc;border-radius:0}button:disabled{opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #af782c;outline-offset:3px}
@media(max-width:1050px){.welcome{gap:3vw}.passport{padding:10px 9px}.scene-wrap{height:190px}.skills-strip{gap:8px}.skill-small{font-size:8px}.title-logo img{max-height:205px}.app{padding:0 4vw}.skill-card{padding:18px 4px}}
@media(max-height:740px) and (min-width:701px){header{height:60px}footer{height:30px}.welcome{padding-bottom:15px}.passport{border-width:22px;border-image-width:22px;padding:5px 10px}.title-logo img{max-height:180px}.scene-wrap{height:175px}.divider{margin:11px 0}.secondary-row{margin-top:10px}.primary{height:45px}.secondary{min-height:38px}.panel-head h2{font-size:20px}.record .score-line{margin:6px 0}.screen{padding-bottom:10px}}
@media(max-width:700px) and (min-height:601px){.app{padding:0 17px}header{height:58px}.brand strong{font-size:9px}.sound{min-height:40px;font-size:8px;border-width:10px;border-image-width:10px;padding:0 4px}.brand-mark{width:29px;height:29px}footer{height:26px;font-size:8px}.welcome{display:flex;gap:9px;padding-bottom:10px;max-width:410px}.travel-label{font-size:7px;letter-spacing:1.5px}.title-logo{width:270px;margin:2px auto}.title-logo img{max-height:118px}.topic-label{margin:3px 0 5px;font-size:8px}.description{font-size:10px;line-height:1.4}.scene-wrap{height:99px;margin:2px auto;width:200px}.skills-strip{display:none}.passport{border-width:20px;border-image-width:20px;padding:5px 8px 5px}.panel-head h2{font-size:19px;margin:3px 0 4px}.panel-head .asset-icon{width:31px;height:36px}.panel-head .eyebrow{font-size:8px}.panel-head p{font-size:9px}.divider{margin:10px 0}.feedback{font-size:8px;min-height:19px;margin:4px 0 7px;padding:3px 0}.step-label{font-size:8px;margin-bottom:4px}.step-number{width:14px;height:14px}.details-grid label{font-size:8px}input{height:40px;font-size:11px}.details-grid input{margin-top:5px}.start{height:44px;margin-top:10px;font-size:10px}.secondary-row{margin-top:9px;gap:7px}.secondary{font-size:7px;min-height:38px;border-width:10px;border-image-width:10px;padding:0 2px;gap:4px}.secondary .asset-icon{width:17px;height:18px}.demo-note{font-size:7px;margin-top:7px}.demo-note button{font-size:7px}.lock-note{display:none}.screen{padding-bottom:10px}.record{border-width:15px;border-image-width:15px;padding:2px}.record h3{font-size:10px}.record-actions button{min-height:28px}.record .score-line{margin:7px 0}.record-time{font-size:7px}.record-actions .asset-icon{width:14px;height:14px}.record-actions button{font-size:7px}.complete{font-size:6px;padding:0;border-width:6px;border-image-width:6px}.record-toolbar input,.record-toolbar select{height:39px}.skill-card{border-width:16px;border-image-width:16px;min-height:120px;padding:9px 3px}.icon-tile{width:43px;height:43px;margin-bottom:10px}.icon-tile .asset-icon{width:42px;height:42px}.skill-card:last-child{min-height:85px}.activity-intro{margin:12px 0 18px}}
@media(max-width:700px) and (max-height:740px) and (min-height:601px){header{height:50px}.title-logo{width:240px}.title-logo img{max-height:104px}.scene-wrap{display:none}.welcome{gap:12px}.description{font-size:9px}.passport{padding:4px 7px}.panel-head .eyebrow{display:none}.divider{margin:9px 0}.demo-note{margin-top:6px}.topic-label{margin-bottom:7px}}
@media(max-height:600px){header{height:47px}.app{padding:0 4vw}footer{height:24px}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:4vw;padding-bottom:5px}.title-logo{margin:2px auto;width:100%;max-width:340px}.title-logo img{max-height:125px}.topic-label{font-size:8px;margin:3px 0 7px}.description{font-size:9px}.scene-wrap{height:110px;margin:3px auto}.travel-label{font-size:7px}.passport{border-width:17px;border-image-width:17px;padding:3px 8px}.panel-head h2{font-size:16px}.panel-head .asset-icon{width:24px;height:29px}.divider{margin:8px 0}.feedback{font-size:8px;min-height:18px;margin:2px 0 5px;padding:2px 0}.step-label{font-size:7px;margin-bottom:3px}.details-grid label{font-size:7px}input{height:34px;border-width:7px;border-image-width:7px;padding:1px 5px;font-size:10px}.verify-btn{font-size:7px;border-width:9px;border-image-width:9px}.start{height:36px;margin-top:7px;border-width:9px;border-image-width:9px;font-size:9px}.secondary-row{margin-top:7px}.secondary{min-height:32px;font-size:7px;border-width:8px;border-image-width:8px;padding:0 2px;gap:4px}.secondary .asset-icon{width:15px;height:16px}.demo-note{margin-top:5px;font-size:7px}.demo-note button{font-size:7px}.sound{min-height:35px;border-width:9px;border-image-width:9px;font-size:8px;padding:0 5px}.sound .asset-icon{width:18px;height:18px}.screen{padding-bottom:8px}.skill-card{min-height:145px;border-width:16px;border-image-width:16px;padding:10px 4px}.icon-tile{width:44px;height:44px;margin-bottom:10px}.icon-tile .asset-icon{width:43px;height:43px}.record{border-width:15px;border-image-width:15px;padding:3px}.record .score-line{margin:5px 0}.record-time{padding-bottom:4px}.record-actions{margin-top:3px}.record-actions button{min-height:24px}.pagination button{min-height:30px;border-width:8px;border-image-width:8px}.record-toolbar input,.record-toolbar select{height:34px}.back{min-height:35px;border-width:9px;border-image-width:9px}}
@media(max-width:700px) and (min-height:601px){.passport{border-width:14px;border-image-width:14px;padding:3px 8px}.panel-head .eyebrow{display:none}.panel-head h2{font-size:19px;margin:3px 0 4px}.divider{margin:7px 0}.feedback{min-height:18px;margin:4px 0 5px}.step-label{margin-bottom:3px}.details-grid input{height:38px;margin-top:4px}.start{height:40px;margin-top:8px}.secondary-row{margin-top:7px}.secondary{min-height:36px}.demo-note{margin-top:5px}.title-logo{width:235px}.title-logo img{max-height:90px}.scene-wrap{height:78px;width:180px}.topic-label{margin:3px 0 5px}.welcome{gap:9px;padding-bottom:0}}
@media(max-width:700px) and (max-height:700px) and (min-height:601px){.intro .travel-label,.intro .description{display:none}.title-logo{width:215px}.title-logo img{max-height:78px}.topic-label{margin:2px 0}.scene-wrap{display:none}.welcome{gap:10px}header{height:45px}footer{height:20px}.passport{padding:2px 7px}.secondary{min-height:34px}.start{height:38px}}
.record-actions button,.ghost.close{background:none;border:8px solid transparent;border-image:url('assets/button-secondary.png') 33 fill / 8px / 0 stretch;padding:0 5px;color:#243d28;min-height:32px}.record-actions .delete{color:#743c26}.record-actions{gap:8px}.ghost.close{font-size:20px;min-height:40px;min-width:40px}footer>span:first-child{background:none;border:8px solid transparent;border-image:url('assets/panel.png') 50 fill / 8px / 0 stretch;padding:0 5px;font-size:8px}.demo-banner{align-self:flex-start;background:none;border:7px solid transparent;border-image:url('assets/panel.png') 50 fill / 7px / 0 stretch;padding:0 6px;color:#425d3f;margin:7px 0 0}
@media(max-width:700px){.record-actions button{border-width:6px;border-image-width:6px;padding:0 2px;min-height:29px;gap:3px}.record-actions{gap:4px}}
