@font-face{font-family:Nunito;src:url('./assets/nunito-600.ttf') format('truetype');font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:Nunito;src:url('./assets/nunito-800.ttf') format('truetype');font-style:normal;font-weight:700 800;font-display:swap}@font-face{font-family:Nunito;src:url('./assets/nunito-900.ttf') format('truetype');font-style:normal;font-weight:900;font-display:swap}
:root{font-family:Nunito,ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif;color:#254b3b;background:#fbfcf4;font-synthesis:none;font-weight:600;--ink:#254b3b;--muted:#7b8c7c;--green:#3d9862;--deep:#267647;--coral:#ee8878;--border:#e2e8d9;--cream:#fbfcf4;--app-height:100dvh;--visual-top:0px;--visual-bottom:0px;--panel-cap:50dvh;--panel-space:190px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,button svg{flex-shrink:0}a{color:var(--deep)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #d5a23d;outline-offset:4px}button:disabled{opacity:.58}svg{display:block}button svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button{border:0}img{max-width:100%;object-fit:contain}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[hidden]{display:none!important}.site-header{max-width:1280px;min-height:74px;margin:auto;display:flex;align-items:center;gap:38px;padding:12px 36px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:3px;font-size:38px;line-height:1;font-weight:900;letter-spacing:-1.8px;color:var(--ink);text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain}.brand-dot{color:var(--coral)}.main-nav{display:flex;gap:12px;margin-left:auto;margin-right:auto;align-self:stretch;align-items:center}.nav-tab{display:flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:0 18px;background:transparent;font-size:15px;font-weight:800;border-radius:15px;color:#84917e;white-space:nowrap}.nav-tab svg{width:21px;height:21px}.nav-tab.active{background:#e9f1dd;color:#417449;box-shadow:0 2px 0 #d7e4c9}.nav-tab:hover{background:#f0f4e6}.header-tools{display:flex;gap:16px;align-items:center}.icon-button{min-width:44px;min-height:44px;background:transparent;border-radius:50%;display:grid;place-items:center}.icon-button:hover{background:#eef2e5}.help-button{border:2px solid #d8e0cf;min-width:36px;min-height:36px;font-size:20px;font-weight:900;color:#71856a}.language-switch{display:flex;padding:3px;background:#f0f2e8;border:1px solid #e2e8d8;border-radius:13px;gap:1px}.language-switch button{font-size:11px;letter-spacing:.5px;font-weight:900;min-width:35px;min-height:35px;border-radius:9px;background:transparent;color:#8d9a86}.language-switch button[aria-pressed=true]{background:white;box-shadow:0 2px 3px #254b3b12;color:#385d40}#main-content{max-width:1280px;margin:auto;padding:0 36px}.daily-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 0 24px}.eyebrow,.tiny-label{text-transform:uppercase;letter-spacing:1.7px;font-weight:900;font-size:10px;color:#7f9275;margin:0 0 9px}.daily-intro h1{font-size:38px;letter-spacing:-1.5px;line-height:1.14;font-weight:900;margin:0 0 9px}.intro-subtitle{font-size:16px;color:#83917e;margin:0}.streak-pill{display:flex;gap:8px;align-items:center;min-height:42px;border:1px solid #e7dec8;border-bottom:3px solid #e6dcc1;background:#fff9e9;border-radius:15px;font-weight:800;font-size:12px;padding:8px 14px;white-space:nowrap;align-self:center;margin-top:20px}.streak-pill svg{width:18px;height:22px;fill:#edb561;stroke:#d49d4e;stroke-width:1.6}.daily-stage{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:23px}.map-card{position:relative;isolation:isolate;background:#e3f0eb;border:1.5px solid #dce7da;border-bottom:4px solid #d2dfce;border-radius:28px;height:548px;overflow:hidden;box-shadow:0 4px 18px #254b3b02}.map-canvas{position:absolute;inset:0;touch-action:none;cursor:grab;user-select:none}.map-canvas.dragging{cursor:grabbing}.map-canvas svg{width:100%;height:100%;display:block;overflow:hidden;touch-action:none}.land-shape{fill:#faf7df;stroke:#c9d1b7;stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linejoin:round}.province-shape{fill:none;stroke:#d6d9bc;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-dasharray:3 3;pointer-events:none}.map-route{fill:none;stroke:#76967f;stroke-width:2;stroke-dasharray:5 7;opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none}.map-pin{cursor:pointer}.map-pin .pin-ring{fill:white;stroke:#fff;stroke-width:4}.map-pin .pin-core{stroke:#557562;stroke-width:1}.map-pin text{font-family:Nunito,sans-serif;font-weight:900;font-size:12px;fill:#254b3b;text-anchor:middle;dominant-baseline:central;pointer-events:none}.map-pin.selected .pin-ring{stroke:#254b3b;stroke-width:4}.answer-marker{filter:drop-shadow(0 3px 2px #254b3b25)}.answer-marker text{font-family:Nunito,sans-serif;font-weight:900;text-anchor:middle;fill:#254b3b}.map-topbar{position:absolute;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none;z-index:2}.exploration-pill{display:flex;gap:7px;align-items:center;border-radius:10px;background:#fcfdf3e8;border:1px solid #d7e3d2;padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;font-weight:900;color:#68846a}.exploration-pill svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.pin-count{background:#fcfdf3e8;border:1px solid #d7e3d2;border-radius:10px;color:#70896e;min-height:31px;padding:8px 11px;font-size:10px;font-weight:800}.map-controls{position:absolute;right:17px;bottom:112px;display:flex;flex-direction:column;gap:8px;z-index:3}.map-control{display:grid;place-items:center;background:#fffef4;min-width:37px;min-height:37px;border-radius:11px;box-shadow:0 2px 0 #cfdecd;border:1px solid #d4e1cf;font-size:23px;font-weight:800;color:#6c8465}.map-control:hover{background:white}.map-control svg{width:17px;height:17px}.reset-control{margin-top:3px}.map-bottom{position:absolute;bottom:17px;left:16px;right:16px;pointer-events:none;z-index:2}.drag-hint{display:flex;gap:6px;align-items:center;justify-content:center;font-size:9px;color:#82a08c;letter-spacing:.2px;margin:0 0 14px}.drag-hint svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.map-legend{background:#fcfdf6e8;backdrop-filter:blur(8px);border:1px solid #dce6d7;border-radius:14px;max-width:480px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:10px 9px 9px;gap:3px}.legend-item{text-align:center;font-size:8px;line-height:1.35;white-space:nowrap;color:#7b8e73}.legend-square{display:block;width:21px;height:14px;border-radius:4px;border:1px solid #254b3b12;margin:0 auto 5px;box-shadow:0 2px 0 #254b3b0a}.legend-item strong{display:block;font-weight:800;font-size:9px;color:#577551;margin-bottom:1px}.map-selection{position:absolute;top:62px;left:20px;right:65px;z-index:3;pointer-events:none;max-width:max-content;border-radius:10px;background:#fffef4e8;border:1px solid #d1decb;padding:8px 11px;font-size:11px;box-shadow:0 2px 6px #254b3b05}.map-selection strong{font-weight:900}.map-selection span{color:#799172;margin-left:9px}.guess-panel{border:1.5px solid #e0e5d7;border-bottom:4px solid #d8dfcc;background:white;border-radius:25px;overflow:hidden;box-shadow:0 3px 0 #254b3b03}.panel-content{padding:24px 22px 17px}.panel-heading h2{font-size:23px;font-weight:900;letter-spacing:-.5px;margin:0 0 18px;line-height:1.2}.tiny-label{font-size:9px;letter-spacing:1.3px;display:block;margin-bottom:7px;color:#99a58f}.input-row{display:flex;align-items:center;position:relative;border:2px solid #dbe2d3;border-radius:15px;background:#fbfcf7;transition:border-color .15s,box-shadow .15s}.input-row:focus-within{border-color:#75ac79;box-shadow:0 0 0 3px #80af7020}.input-pin{width:17px;height:20px;fill:none;stroke:#a6b29c;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-left:12px}#guess-input{min-width:0;width:100%;font-size:13px;height:49px;color:var(--ink);font-weight:700;background:transparent;border:0;outline:none;padding:0 6px 0 9px;border-radius:12px}#guess-input::placeholder{color:#a0aa97;font-weight:600}#guess-input:focus-visible{outline:none}.guess-submit{display:grid;place-items:center;align-self:stretch;width:45px;border:0;border-bottom:4px solid #287c4c;border-radius:11px;background:#429c63;color:white;transform:translateY(-1px);margin:3px 3px 1px 0}.guess-submit svg{width:20px;height:20px;stroke-width:2.5}.guess-submit:hover{background:#4ba76d}.guess-submit:active{transform:translateY(2px);border-bottom-width:1px}.guess-submit:disabled{transform:none;border-bottom-width:2px;background:#adc4ac}.suggestions{position:relative;border:1.5px solid #dce5d4;border-radius:14px;margin-top:7px;background:white;max-height:298px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:4;box-shadow:0 5px 12px #254b3b08}.suggestion{padding:9px 11px;display:flex;align-items:center;gap:10px;min-height:49px;cursor:pointer;border-bottom:1px solid #eff2e8}.suggestion:last-child{border-bottom:0}.suggestion.active,.suggestion:hover{background:#edf4e3}.suggestion-mark{width:24px;height:24px;border-radius:8px;background:#f0f4e8;display:grid;place-items:center;flex-shrink:0;color:#7c9870}.suggestion-mark svg{width:14px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.suggestion-name{display:block;font-size:13px;font-weight:800;color:#34533c}.suggestion-meta{font-size:10px;display:block;color:#8b9982;margin-top:2px}.suggestion-enter{margin-left:auto;color:#9aac8d;font-size:15px}.suggestion-empty{font-size:12px;padding:13px;color:#8a9682;margin:0}.guess-error{font-size:11px;color:#b86152;margin:8px 2px 0;font-weight:800}.latest-feedback{display:flex;gap:11px;align-items:center;padding:20px 0 18px;min-height:94px;border-bottom:1px dashed #e2e8d9}.latest-feedback img{width:51px;height:51px;flex-shrink:0}.feedback-copy{min-width:0;line-height:1.35}.feedback-title{display:block;font-size:13px;font-weight:900;color:#4c7147;line-height:1.35}.feedback-sub{display:block;font-size:11px;color:#919d86;line-height:1.55;margin-top:3px}.feedback-sub strong{font-weight:900;color:#66885e}.feedback-band{width:7px;height:7px;display:inline-block;vertical-align:1px;border-radius:2px;border:1px solid #254b3b12;margin-right:4px}.latest-feedback.sad .feedback-title{color:#906d58}.latest-feedback.solved .feedback-title{color:#3a975c}.closest-summary{background:#f5f8ed;border:1px solid #e6ebda;border-radius:11px;padding:9px 11px;font-size:10px;line-height:1.4;color:#8b987c;margin-top:14px;display:flex;justify-content:space-between;gap:8px}.closest-summary strong{font-weight:900;color:#66875b}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:17px 0 9px}.history-heading h3{margin:0;font-size:11px;font-weight:900;color:#6a805e}.text-button{background:transparent;font-size:11px;font-weight:800;padding:8px 0;min-height:32px;color:#8f9c83;text-decoration:none}.text-button:hover{color:#47764c}.sort-button{font-size:9px;display:flex;align-items:center;gap:4px;padding:3px 0;min-height:26px}.sort-button svg{width:12px;height:12px;stroke-width:1.6}.guess-history{max-height:246px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8e3cd transparent;min-height:0}.guess-row{width:100%;display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 3px;background:transparent;text-align:left;border-radius:10px;transition:background .15s}.guess-row:hover,.guess-row.selected{background:#f5f8ef}.guess-row.selected{box-shadow:inset 3px 0 0 #83ac78}.guess-number{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;border:1px solid #254b3b10;border-bottom:3px solid #254b3b14;font-size:10px;font-weight:900;color:#38593e}.guess-row-copy{min-width:0;flex:1}.guess-row-name{display:block;font-size:12px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#52704c}.guess-row-province{display:block;color:#9aa58e;font-size:9px;margin-top:2px}.guess-distance{font-size:10px;font-weight:800;white-space:nowrap;color:#76906b}.guess-distance svg{display:inline-block;width:11px;height:11px;vertical-align:-2px;margin-left:2px;stroke-width:2.2}.empty-history{text-align:center;padding:18px 8px 8px;color:#a2ad97;font-size:11px;line-height:1.6}.empty-history svg{width:32px;height:32px;margin:0 auto 8px;stroke:#bac7aa;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.round-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:11px;border-top:1px solid #f0f2e8;padding-top:5px}.giveup-button{color:#a1ab95;font-size:10px}.round-actions .button{font-size:11px;min-height:40px;padding:8px 13px;border-radius:12px;flex:1;white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:14px;line-height:1.2;min-height:49px;padding:12px 23px;border-radius:15px;font-weight:900;letter-spacing:.1px;transition:transform .12s,background .15s;text-decoration:none}.button svg{width:18px;height:18px}.button.primary{background:#429a62;color:white;border:1px solid #388f58;border-bottom:5px solid #2c7546;box-shadow:0 1px 0 #e5efda}.button.primary:hover{background:#4ca86d}.button.primary:active{transform:translateY(3px);border-bottom-width:2px}.button.secondary{background:#f6f8ee;border:1.5px solid #dce5cf;border-bottom:4px solid #d5e0c5;color:#6b825c}.button.secondary:hover{background:#edf3e2}.button.secondary:active{transform:translateY(2px);border-bottom-width:2px}.desktop-companion{display:flex;gap:10px;align-items:center;justify-content:center;margin:22px auto 18px;max-width:500px;position:relative}.desktop-companion img{width:53px;height:53px}.desktop-companion p{font-size:12px;color:#8c9b7f;background:#f0f4e6;border:1px solid #e1e8d4;border-radius:12px;padding:10px 16px;position:relative;margin:0}.desktop-companion p:before{content:'';position:absolute;left:-5px;top:13px;width:9px;height:9px;background:#f0f4e6;transform:rotate(45deg);border-left:1px solid #e1e8d4;border-bottom:1px solid #e1e8d4}.companion-spark{font-size:18px;color:#c9d9ab;transform:rotate(15deg);margin-left:15px}.panel-toggle{display:none}.loading-view,.error-view{display:flex;min-height:65vh;align-items:center;justify-content:center;flex-direction:column;text-align:center;max-width:480px;margin:auto;padding:40px 16px}.loading-view h1,.error-view h1{font-size:30px;letter-spacing:-.8px;margin:18px 0 10px;font-weight:900}.loading-view p,.error-view p{font-size:14px;color:#87967c;margin:0 0 24px;line-height:1.7}.loading-view img{animation:little-bob 1.5s ease-in-out infinite}.storage-notice{background:#fff3d9;border-bottom:1px solid #e8d7ae;text-align:center;color:#8a724b;font-size:11px;padding:8px 20px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);z-index:100;border-radius:14px;padding:13px 21px;color:white;background:#355c42;box-shadow:0 4px 0 #244a39;font-size:13px;text-align:center;font-weight:800;animation:toast-in .2s ease-out}.journey-view{padding-bottom:25px}.journey-intro{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:30px 0 20px;max-width:900px;margin:auto}.journey-intro h1{font-size:36px;line-height:1.15;font-weight:900;letter-spacing:-1.2px;margin:0 0 12px;max-width:540px}.journey-intro p:not(.eyebrow){font-size:15px;margin:0;color:#89967e}.journey-intro img{width:156px;height:156px;transform:rotate(4deg);margin-right:35px}.journey-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;max-width:900px;margin:0 auto 36px}.stat-card{padding:17px 18px;background:white;border:1.5px solid #e2e8d9;border-bottom:4px solid #dce4d1;border-radius:18px;text-align:center;position:relative}.stat-value{display:block;font-size:29px;line-height:1.2;font-weight:900;letter-spacing:-1px;color:#567c4a}.stat-label{display:block;font-size:10px;line-height:1.4;color:#97a28c;margin-top:6px;font-weight:800}.journey-list{position:relative;max-width:720px;margin:0 auto;padding:5px 0 45px;list-style:none}.journey-line{position:absolute;left:50%;top:0;transform:translateX(-50%);height:100%;width:180px;overflow:visible;pointer-events:none}.journey-line path{fill:none;stroke:#dce6cc;stroke-width:5;stroke-dasharray:2 13;stroke-linecap:round}.journey-node{position:relative;display:flex;justify-content:flex-start;min-height:126px;align-items:center;padding:0 35px}.journey-node:nth-child(even){justify-content:flex-end}.journey-node-button{width:275px;text-align:left;background:white;border:1.5px solid #e1e7d6;border-bottom:4px solid #d9e3cd;padding:14px 16px;border-radius:19px;display:flex;align-items:center;gap:13px;position:relative;transition:transform .15s,box-shadow .15s}.journey-node-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #254b3b08}.journey-node.today .journey-node-button{background:#f4f9e9;border-color:#cbdcbb}.journey-node.missed .journey-node-button{background:#f6f7ef;border-style:dashed;border-bottom-width:2px;opacity:.88}.journey-node-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#edf3e3;border:1.5px solid #dce7cf;color:#6e9564;font-size:20px;font-weight:900}.journey-node.gave_up .journey-node-icon{background:#fff1df;border-color:#ecdcc0;color:#bc9a67}.journey-node.missed .journey-node-icon{background:#eceee5;color:#b2bda6;border-color:#e1e5d8}.journey-node-icon img{width:43px;height:43px;max-width:none}.journey-node-date{font-size:11px;font-weight:900;display:block;color:#68835d}.journey-node-status{font-size:10px;display:block;margin-top:3px;color:#95a184}.journey-trail{font-size:10px;letter-spacing:1px;margin-top:7px;display:block;line-height:1.45;word-break:break-word}.trail-more{font-size:9px;color:#94a081;margin-left:4px;font-weight:900}.journey-empty{max-width:430px;margin:35px auto 70px;text-align:center;background:#f0f5e6;border:1.5px dashed #d9e5c9;border-radius:24px;padding:32px}.journey-empty h2{font-size:23px;letter-spacing:-.4px;font-weight:900;margin:0 0 10px}.journey-empty p{font-size:13px;color:#8c9b7c;line-height:1.7;margin:0 0 20px}.journey-footer{text-align:center;padding:0 0 10px}.journey-footer .text-button{font-size:10px}.modal{border:1.5px solid #dce5cf;border-bottom:5px solid #cfddbf;border-radius:28px;padding:35px 34px 29px;color:var(--ink);background:#fffef8;width:min(490px,calc(100vw - 32px));max-height:calc(var(--app-height) - 40px);overflow:auto;box-shadow:0 22px 70px #244a3920;scrollbar-width:thin;overscroll-behavior:contain}.modal::backdrop{background:#254b3b55;backdrop-filter:blur(5px)}.modal[open]{animation:modal-in .22s ease-out}.modal-close{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;min-width:40px;min-height:40px;color:#8d9e80}.modal-close svg{width:19px;height:19px}.modal h2{font-size:29px;line-height:1.13;letter-spacing:-.8px;font-weight:900;margin:0 0 11px}.modal p{font-size:13px;line-height:1.7;color:#8d9c80;margin:0 0 20px}.rules-hero{text-align:center}.rules-hero img{display:block;width:190px;height:175px;margin:-13px auto 4px}.rules-hero .eyebrow{margin-bottom:9px;font-size:9px;color:#99a68c}.rules-hero h2{font-size:32px;margin-bottom:8px}.rules-hero p{font-size:14px;margin:0 auto 22px;max-width:300px;line-height:1.5}.rules-list{list-style:none;padding:16px 0;margin:0 0 20px;display:flex;flex-direction:column;gap:13px}.rules-list li{display:flex;gap:12px;align-items:center}.rule-icon{width:36px;height:36px;border-radius:12px;background:#edf3e4;border:1px solid #e0e9d4;display:grid;place-items:center;flex-shrink:0;color:#7e9b6c}.rule-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rule-text strong{font-size:12px;font-weight:900;color:#66825a;display:block;line-height:1.35}.rule-text span{font-size:11px;color:#93a081;display:block;margin-top:3px;line-height:1.5}.rules-legend{display:flex;justify-content:center;gap:8px;margin:22px auto 20px}.rules-legend span{width:27px;height:24px;border-radius:6px;border:1px solid #254b3b12;border-bottom:3px solid #254b3b12}.rules-start{width:100%;font-size:14px}.rules-skip{display:block;margin:7px auto -6px;font-size:10px;min-height:35px}.help-details{border-top:1px dashed #dce5d0;margin-top:21px;padding-top:20px}.help-details h3{font-size:13px;font-weight:900;color:#658356;margin:0 0 10px}.band-table{width:100%;border-collapse:collapse;font-size:11px;margin:0 0 21px}.band-table td{padding:8px 4px;border-bottom:1px solid #edf1e5;color:#8c9c7d}.band-table td:last-child{text-align:right;font-weight:800;color:#708d63}.table-square{display:inline-block;width:15px;height:15px;border-radius:4px;border:1px solid #254b3b15;vertical-align:-3px;margin-right:8px}.help-details p{font-size:11px;line-height:1.75;margin-bottom:15px}.source-links{font-size:10px;color:#96a188;line-height:1.9}.source-links a{color:#6b8d5f;text-underline-offset:3px}.giveup-modal{text-align:center;max-width:430px}.giveup-flower{width:125px;height:125px;margin:-12px auto 9px;display:block}.giveup-modal h2{font-size:26px}.giveup-modal p{font-size:12px}.modal-buttons{display:flex;flex-direction:column;gap:10px}.result-modal{text-align:center;max-width:480px;padding-top:23px}.result-flower{width:145px;height:145px;display:block;margin:-2px auto 3px}.result-modal .eyebrow{font-size:9px;margin:0 0 7px}.result-modal h2{font-size:28px;letter-spacing:-.6px;margin-bottom:10px}.result-town{font-size:26px;font-weight:900;letter-spacing:-.5px;color:#4d7d48;line-height:1.2;margin:10px 0 4px;overflow-wrap:anywhere}.result-province{font-size:11px;color:#95a382;margin-bottom:15px}.result-summary{font-size:12px;color:#8b9c7c;margin-bottom:11px}.result-trail{font-size:16px;line-height:1.8;white-space:pre-wrap;letter-spacing:2px;overflow-wrap:anywhere;margin:8px auto 18px;max-width:340px}.result-map{position:relative;isolation:isolate;height:185px;border-radius:16px;border:1px solid #dce5d3;background:#e3f0eb;overflow:hidden;margin:15px 0}.result-map .map-canvas{cursor:default}.result-map .map-pin text{font-size:11px}.result-guesses{text-align:left;max-height:155px;overflow:auto;margin:6px 0 15px;overscroll-behavior:contain;scrollbar-width:thin}.result-guesses .guess-row{pointer-events:none}.result-buttons{display:flex;gap:10px;margin-top:17px}.result-buttons .button{flex:1;font-size:13px;padding-left:14px;padding-right:14px;min-height:46px}.result-next{font-size:11px;color:#97a386;margin-top:18px;border-top:1px dashed #e3e8d7;padding-top:15px}.result-next strong{font-weight:900;color:#6e8b5d;font-variant-numeric:tabular-nums;margin-left:5px;white-space:nowrap}.result-next small{display:block;font-size:9px;color:#a2ad95;margin-top:4px}.result-empty{font-size:12px;color:#98a78b;padding:7px}.copy-modal h2{font-size:26px;padding-right:20px}.copy-modal p{font-size:12px}#manual-copy-text{display:block;width:100%;border:1.5px solid #dce5d0;background:#f6f8ef;border-radius:13px;padding:15px;font-size:14px;line-height:1.8;resize:vertical;color:#537548;min-height:170px;margin-bottom:15px}.copy-modal .button{width:100%}.inline-copy{padding:12px;background:#f4f7eb;border-radius:13px;margin-top:15px}.inline-copy p{font-size:11px;margin-bottom:8px}.inline-copy textarea{width:100%;border:1px solid #dae4cc;border-radius:9px;min-height:120px;padding:10px;font-size:12px;color:#587b4d;background:white}.inline-copy button{font-size:11px;min-height:35px;margin-top:6px}.confetti-spark{position:absolute;color:#d2ae56;pointer-events:none;font-size:22px;animation:sparkle 1s ease-in-out 2}.confetti-spark.one{top:65px;left:24%}.confetti-spark.two{top:105px;right:24%;color:#a3bd83;font-size:16px;animation-delay:.15s}.confetti-spark.three{top:150px;left:20%;color:#e8a193;font-size:15px;animation-delay:.3s}@keyframes little-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes sparkle{0%,100%{transform:scale(.8) rotate(-10deg);opacity:.6}50%{transform:scale(1.2) rotate(15deg);opacity:1}}
@media(min-width:1450px){.daily-intro{padding-top:40px;padding-bottom:29px}.map-card{height:575px}.daily-stage{grid-template-columns:minmax(0,1fr) 365px;gap:28px}.panel-content{padding:27px 25px 20px}.guess-history{max-height:270px}.desktop-companion{margin-top:23px}}
@media(min-width:761px) and (max-width:1050px){.site-header{padding-left:24px;padding-right:24px;gap:18px}#main-content{padding:0 24px}.main-nav{gap:5px}.nav-tab{padding:0 11px;font-size:13px}.header-tools{gap:10px}.daily-stage{grid-template-columns:minmax(0,1fr) 325px;gap:17px}.map-card{height:535px}.daily-intro h1{font-size:34px}.panel-content{padding:23px 18px 16px}.map-topbar{left:14px;right:14px;top:16px}.exploration-pill{font-size:8px;padding:8px}.pin-count{font-size:9px;padding:8px}.map-legend{padding:9px 4px}.legend-item{font-size:7px}.legend-item strong{font-size:8px}.legend-square{width:18px;height:13px}.map-bottom{left:10px;right:10px}.map-controls{right:12px}.journey-node{padding:0 12px}}
@media(max-width:760px){html,body{height:100%;overflow:hidden;overscroll-behavior:none}#app{position:fixed;top:var(--visual-top);left:0;width:100%;height:var(--app-height);display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top)}.site-header{width:100%;min-height:67px;flex-shrink:0;padding:9px 16px 8px;gap:9px;margin:0;position:relative}.brand{font-size:29px;letter-spacing:-1.4px;gap:0}.brand img{width:35px;height:35px}.main-nav{gap:4px;margin-left:auto;margin-right:auto;align-self:center}.nav-tab{min-height:40px;padding:0 9px;border-radius:12px;font-size:11px;gap:5px}.nav-tab svg{width:16px;height:16px}.nav-tab[data-action=journey] span{max-width:59px;line-height:1.1;text-align:left}.header-tools{gap:6px}.help-button{min-height:30px;min-width:30px;font-size:17px;border-width:1.5px}.language-switch{padding:2px;border-radius:10px;gap:0}.language-switch button{font-size:9px;min-width:27px;min-height:31px;border-radius:7px;letter-spacing:0}#main-content{width:100%;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;margin:0;max-width:none}.daily-view{display:flex;flex:1;min-height:0;flex-direction:column}.daily-intro{padding:16px 20px 14px;gap:8px;flex-shrink:0}.daily-intro .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:7px}.daily-intro h1{font-size:27px;letter-spacing:-.85px;margin-bottom:6px;line-height:1.1}.intro-subtitle{font-size:12px;line-height:1.2}.streak-pill{font-size:9px;gap:4px;padding:6px 9px;min-height:34px;border-radius:12px;margin-top:8px;max-width:116px;white-space:normal;line-height:1.25;text-align:left}.streak-pill svg{width:15px;height:18px;flex-shrink:0}.daily-stage{display:flex;position:relative;flex:1;min-height:0;padding:0 12px calc(var(--panel-space) + 5px);gap:0;align-items:stretch}.map-card{height:100%;min-height:25px;width:100%;border-radius:22px;border-bottom-width:3px}.map-topbar{top:12px;left:12px;right:12px}.exploration-pill{font-size:7px;letter-spacing:.8px;padding:6px 8px;border-radius:8px;gap:5px}.exploration-pill svg{width:12px;height:12px}.pin-count{font-size:8px;padding:6px 8px;min-height:26px;border-radius:8px}.map-controls{right:11px;bottom:77px;gap:5px}.map-control{min-width:34px;min-height:34px;border-radius:9px;font-size:21px;box-shadow:0 1.5px 0 #cfdecd}.map-control svg{width:16px;height:16px}.reset-control{margin-top:2px}.map-bottom{bottom:10px;left:9px;right:9px}.drag-hint{display:none}.map-legend{padding:7px 5px 6px;border-radius:11px;max-width:430px;gap:1px;backdrop-filter:blur(5px)}.legend-item{font-size:6px}.legend-item strong{font-size:7px;margin-bottom:0}.legend-square{width:17px;height:10px;border-radius:3px;margin-bottom:3px}.map-selection{top:46px;left:11px;right:49px;font-size:9px;padding:6px 8px;max-width:calc(100% - 60px);line-height:1.4}.map-selection span{margin-left:7px}.guess-panel{position:fixed;z-index:10;left:12px;right:12px;bottom:calc(var(--visual-bottom) + env(safe-area-inset-bottom) + 6px);max-height:var(--panel-cap);display:flex;flex-direction:column;border-radius:22px;border-bottom-width:4px;box-shadow:0 -3px 16px #254b3b06;overflow:hidden;transition:none}.panel-toggle{display:flex;flex-direction:column;position:relative;align-items:center;justify-content:center;gap:3px;min-height:40px;height:40px;padding:5px 40px 4px;background:white;font-size:9px;font-weight:800;color:#9ba78d;width:100%;flex-shrink:0;touch-action:none}.drag-handle{display:block;width:34px;height:4px;background:#dce4d2;border-radius:9px}.panel-toggle svg{position:absolute;right:18px;top:14px;width:15px;height:15px;stroke:#a4b096;transition:transform .2s}.guess-panel.expanded .panel-toggle svg{transform:rotate(180deg)}.panel-content{padding:0 14px 10px;min-height:0;display:flex;flex-direction:column;overflow:hidden}.panel-heading{display:none}.guess-form{flex-shrink:0}#guess-input{height:47px;font-size:16px;padding-left:9px;line-height:1.2}.input-pin{width:17px;height:19px;margin-left:12px}.guess-submit{width:46px}.guess-submit svg{width:20px;height:20px}.suggestions{min-height:0;max-height:none;flex:1 1 auto;margin-top:6px;box-shadow:none;border-radius:12px;overflow-y:auto;touch-action:pan-y}.suggestion{min-height:47px;padding:7px 9px}.suggestion-name{font-size:13px}.suggestion-meta{font-size:9px}.suggestion-mark{width:26px;height:26px}.guess-error{font-size:10px;line-height:1.3;margin:5px 1px 0;flex-shrink:0}.latest-feedback{padding:9px 1px 0;min-height:55px;border-bottom:0;flex-shrink:1;gap:9px;overflow:hidden}.latest-feedback img{width:42px;height:42px}.feedback-title{font-size:12px;line-height:1.25}.feedback-sub{font-size:10px;line-height:1.3;margin-top:2px}.feedback-copy{flex:1}.history-area{display:none;min-height:0;overflow:hidden;flex-direction:column;flex:1}.guess-panel.expanded{height:var(--panel-cap)}.guess-panel.expanded .history-area{display:flex}.guess-panel.expanded .latest-feedback{flex-shrink:0;border-bottom:1px dashed #e2e8d9;padding-bottom:8px;margin-bottom:0;min-height:58px}.guess-panel.expanded .closest-summary{display:none!important}.history-heading{margin:8px 0 4px;flex-shrink:0}.history-heading h3{font-size:10px}.sort-button{font-size:9px;min-height:25px}.guess-history{max-height:none;min-height:0;overflow-y:auto;flex:1;touch-action:pan-y}.guess-row{min-height:47px;padding:6px 3px;gap:9px}.guess-number{width:27px;height:27px;font-size:10px}.guess-row-name{font-size:12px}.guess-row-province{font-size:9px}.guess-distance{font-size:10px}.round-actions{margin-top:4px;padding-top:2px;flex-shrink:0;gap:8px}.round-actions .button{min-height:38px;border-radius:11px;font-size:10px;padding:7px 10px}.giveup-button{min-height:34px;font-size:10px;padding:4px 0}.empty-history{font-size:10px;padding:9px 4px}.empty-history svg{display:none}.guess-panel.has-suggestions .latest-feedback,.guess-panel.has-suggestions .history-area{display:none!important}.guess-panel.has-suggestions{height:auto;max-height:var(--panel-cap)}.guess-panel.has-suggestions .panel-content{max-height:calc(var(--panel-cap) - 40px);flex:1}.guess-panel.has-suggestions .suggestions{max-height:calc(var(--panel-cap) - 113px)}.guess-panel.ended:not(.expanded) .history-area{display:flex;flex:0;overflow:visible}.guess-panel.ended:not(.expanded) .history-heading,.guess-panel.ended:not(.expanded) .guess-history,.guess-panel.ended:not(.expanded) .closest-summary{display:none!important}.guess-panel.ended:not(.expanded) .latest-feedback{padding-top:5px;min-height:47px}.guess-panel.ended .guess-form{display:none}.guess-panel.ended .round-actions{border-top:0;margin-top:8px}.guess-panel.ended .panel-content{padding-bottom:10px}.desktop-companion{display:none}.storage-notice{flex-shrink:0;font-size:9px;padding:5px 10px;line-height:1.4}.toast{bottom:calc(var(--visual-bottom) + env(safe-area-inset-bottom) + 16px);z-index:60;font-size:11px;padding:10px 15px}.journey-view{height:100%;overflow:auto;padding:0 18px 20px;overscroll-behavior:contain;scroll-behavior:smooth}.journey-intro{padding:23px 2px 18px;gap:8px}.journey-intro .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:9px}.journey-intro h1{font-size:28px;letter-spacing:-.8px;max-width:255px;margin-bottom:9px}.journey-intro p:not(.eyebrow){font-size:11px;line-height:1.5}.journey-intro img{width:95px;height:116px;margin-right:0;flex-shrink:0}.journey-stats{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px}.stat-card{padding:12px 3px;border-radius:13px;border-bottom-width:3px}.stat-value{font-size:23px;letter-spacing:-.6px}.stat-label{font-size:8px;margin-top:5px;min-height:24px}.journey-list{padding-bottom:20px}.journey-line{left:50%;width:120px}.journey-node{min-height:115px;padding:0 2px}.journey-node-button{width:75%;max-width:285px;padding:12px;gap:10px;border-radius:17px;min-height:87px}.journey-node-icon{width:38px;height:38px;font-size:17px}.journey-node-icon img{width:39px;height:39px}.journey-node-date{font-size:10px}.journey-node-status{font-size:9px}.journey-trail{font-size:9px;letter-spacing:0;margin-top:6px}.journey-empty{padding:26px 23px;margin:20px auto 30px}.journey-empty h2{font-size:22px}.journey-empty p{font-size:12px}.journey-footer{padding:10px 0 20px}.modal{padding:29px 24px 24px;border-radius:25px;max-height:calc(var(--app-height) - 28px);width:min(460px,calc(100vw - 26px));top:var(--visual-top);margin:auto}.modal-close{top:7px;right:7px;min-width:36px;min-height:36px;width:36px;height:36px}.rules-hero img{width:155px;height:143px;margin:-10px auto 6px}.rules-hero h2{font-size:29px}.rules-hero p{font-size:12px;max-width:265px;margin-bottom:19px}.rules-list{gap:12px;margin-bottom:16px}.rule-text strong{font-size:11px}.rule-text span{font-size:10px}.rule-icon{width:33px;height:33px}.rules-legend{gap:7px;margin:18px auto}.rules-legend span{width:25px;height:21px}.rules-start{min-height:47px}.result-modal{padding-top:21px}.result-flower{width:120px;height:120px}.result-modal h2{font-size:25px}.result-town{font-size:25px}.result-province{margin-bottom:11px}.result-map{height:158px;margin:12px 0}.result-trail{font-size:14px;line-height:1.7;margin:7px 0 13px;letter-spacing:1.6px}.result-guesses{max-height:118px}.result-summary{font-size:11px}.result-buttons{margin-top:13px;gap:8px}.result-buttons .button{font-size:12px;min-height:44px;padding:10px 13px}.result-next{margin-top:15px;padding-top:12px;font-size:10px}.loading-view,.error-view{flex:1;min-height:0;padding:25px}.loading-view h1,.error-view h1{font-size:26px}.loading-view p,.error-view p{font-size:12px;max-width:320px}.help-details p{font-size:10px}.help-details h3{font-size:12px}.band-table{font-size:10px}.giveup-modal h2{font-size:25px}.giveup-modal p{font-size:12px}}
@media(max-width:390px){.site-header{padding:8px 10px;gap:5px}.brand{font-size:26px}.brand img{width:31px;height:31px}.nav-tab{font-size:10px;padding:0 6px;gap:4px}.nav-tab svg{width:14px;height:14px}.nav-tab[data-action=journey] span{max-width:53px}.header-tools{gap:4px}.help-button{min-width:27px;min-height:29px;font-size:15px}.language-switch button{min-width:24px;font-size:8px}.daily-intro{padding:14px 16px 12px}.daily-intro h1{font-size:25px}.intro-subtitle{font-size:11px}.streak-pill{font-size:8px;max-width:103px;padding:6px 7px}.daily-stage{padding-left:8px;padding-right:8px}.guess-panel{left:8px;right:8px}.journey-view{padding-left:14px;padding-right:14px}.journey-intro h1{font-size:25px}.journey-intro img{width:82px;height:103px}.journey-node-button{width:79%}.stat-value{font-size:21px}.stat-label{font-size:7px}}
@media(max-width:760px) and (max-height:600px){.site-header{min-height:55px;padding-top:5px;padding-bottom:5px}.brand{font-size:26px}.brand img{width:31px;height:31px}.daily-intro{padding:9px 17px 8px}.daily-intro .eyebrow{display:none}.daily-intro h1{font-size:23px;margin:0}.intro-subtitle{display:none}.streak-pill{margin-top:0;min-height:29px;padding:4px 8px}.daily-stage{padding-bottom:calc(var(--panel-space) + 3px)}.map-topbar{top:8px;left:8px;right:8px}.map-bottom{bottom:6px}.map-legend{padding:5px 3px}.legend-square{height:8px;width:15px;margin-bottom:2px}.legend-item{font-size:5px}.legend-item strong{font-size:6px}.map-controls{bottom:51px;gap:4px;right:8px}.map-control{min-width:29px;min-height:29px;font-size:18px}.map-control svg{width:14px;height:14px}.reset-control{display:none}.exploration-pill{padding:5px 6px;font-size:6px}.pin-count{padding:5px 6px;min-height:23px;font-size:7px}.panel-toggle{height:35px;min-height:35px;padding-top:4px;padding-bottom:3px;gap:2px;font-size:8px}.panel-toggle svg{top:11px}.panel-content{padding:0 12px 8px}#guess-input{height:43px;font-size:16px}.guess-submit{width:43px}.latest-feedback{min-height:47px;padding-top:6px}.latest-feedback img{width:34px;height:34px}.feedback-title{font-size:11px}.feedback-sub{font-size:9px}.guess-panel.expanded .latest-feedback{display:none}.history-heading{margin:4px 0 1px}.history-heading h3{font-size:9px}.sort-button{min-height:23px}.round-actions .button{min-height:33px;font-size:10px}.giveup-button{min-height:28px;padding:3px 0}.guess-panel.has-suggestions .panel-content{max-height:calc(var(--panel-cap) - 35px)}.guess-panel.has-suggestions .suggestions{max-height:calc(var(--panel-cap) - 103px)}.suggestion{min-height:44px}.modal{padding-top:25px}.rules-hero img{width:95px;height:87px;margin-top:-10px}.rules-hero h2{font-size:25px}.rules-hero p{margin-bottom:14px}.rules-list{gap:9px}.rules-legend{margin:13px 0}.result-flower{width:90px;height:90px}.result-map{height:115px}.result-modal h2{font-size:23px}.result-town{font-size:23px}.journey-intro{padding-top:15px}.journey-intro img{height:95px}.journey-intro h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.journey-view{scroll-behavior:auto}}
.guess-history{position:relative}.closest-badge{display:inline-block;font-size:7px;line-height:1.2;font-weight:900;padding:2px 4px;margin-left:5px;border-radius:4px;background:#eaf2dc;color:#78925f;vertical-align:1px}.map-card.compact-map .map-topbar,.map-card.compact-map .map-bottom{display:none}.map-card.compact-map .map-controls{flex-direction:row;right:8px;bottom:8px;gap:4px}.map-card.compact-map .reset-control{display:none}.map-card.compact-map .map-selection{top:8px;max-width:calc(100% - 20px);font-size:8px;padding:5px 7px}.map-card.compact-map .map-control{min-width:36px;min-height:36px}
@media(max-width:760px){.nav-tab{min-height:44px}.map-control{min-width:44px;min-height:44px}.map-controls{gap:5px}.icon-button,.language-switch button{position:relative}.help-button:after{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.map-card.compact-map .map-control{min-width:44px;min-height:44px}.panel-toggle{min-height:44px;height:44px}.guess-panel.has-suggestions .panel-content{max-height:calc(var(--panel-cap) - 44px)}.guess-panel.has-suggestions .suggestions{max-height:calc(var(--panel-cap) - 117px)}}
.guess-row{padding-left:10px;padding-right:10px}@media(max-width:760px){.guess-row{padding-left:9px;padding-right:9px}}
.result-status{display:inline-block;font-size:9px;font-weight:900;color:#a9845b;background:#fff0d8;border:1px solid #eadbbe;border-radius:8px;padding:5px 9px;margin:0 0 6px}.result-journey-link{font-size:11px;min-height:44px;color:#6d8c5d;margin:7px auto -4px}.guess-panel.expanded .panel-content{flex:1}
@media(max-width:760px){.short-viewport .guess-panel.expanded{height:calc(var(--app-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);max-height:calc(var(--app-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px);left:6px;right:6px;border-radius:18px;z-index:30;box-shadow:0 0 0 20px #fbfcf4}.short-viewport .guess-panel.expanded .panel-toggle{height:48px;min-height:48px;font-size:11px;gap:5px;background:#f6f9ee;border-bottom:1px solid #e5ebda;margin-bottom:10px;flex-direction:row;color:#6b865a}.short-viewport .guess-panel.expanded .panel-toggle .drag-handle{display:none}.short-viewport .guess-panel.expanded .panel-toggle svg{top:17px;right:19px}.short-viewport .guess-panel.expanded .panel-content{max-height:none;flex:1;padding:0 17px 12px}.short-viewport .guess-panel.expanded .latest-feedback{display:flex;min-height:58px;padding:8px 0;flex-shrink:0}.short-viewport .guess-panel.expanded .history-heading{margin:8px 0 6px}.short-viewport .guess-panel.expanded .round-actions{padding-top:5px}.short-viewport .guess-panel.expanded .giveup-button{min-height:40px}.short-viewport .guess-panel.expanded .suggestions{max-height:none;flex:1;overflow-y:auto}.short-viewport .guess-panel.expanded.has-suggestions .panel-content{max-height:none}.short-viewport .guess-panel.expanded.has-suggestions .latest-feedback,.short-viewport .guess-panel.expanded.has-suggestions .history-area{display:none!important}.short-viewport .guess-panel.expanded .guess-row{min-height:49px}}
/* A tiny heat scale keeps the exploration open; the complete key is one tap away. */
.map-legend{display:block;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;max-width:none}.heat-scale{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;padding:8px 11px;min-height:35px;border-radius:12px;background:#fcfdf5ed;border:1px solid #d7e4d1;box-shadow:0 2px 0 #254b3b07;pointer-events:auto;white-space:nowrap;max-width:max-content}.heat-scale:hover{background:#fffef5;border-color:#b9d1af}.heat-word{font-size:9px;letter-spacing:.3px;font-weight:900;color:#7b9672}.heat-gradient{display:grid;grid-template-columns:repeat(5,1fr);width:89px;height:11px;border-radius:4px;overflow:hidden;border:1px solid #254b3b12;box-shadow:0 1px 0 #254b3b08}.heat-gradient span{min-width:0}.heat-info{display:grid;place-items:center;width:14px;height:14px;line-height:1;font-size:9px;font-weight:900;border:1.3px solid #aec39e;border-radius:50%;color:#88a276;margin-left:1px}.drag-hint{margin-bottom:10px}.map-controls{bottom:92px}.colour-modal{max-width:440px;padding-top:38px}.colour-modal .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:10px}.colour-modal h2{font-size:27px;padding-right:20px;margin-bottom:12px}.colour-modal p{font-size:12px;margin-bottom:18px}.colour-band-table{font-size:12px;margin:7px 0 18px}.colour-band-table td{padding:11px 3px}.colour-band-table td:last-child{font-size:11px}.colour-band-table .table-square{width:21px;height:19px;border-radius:5px;margin-right:10px}.colour-modal .colour-note{font-size:10px;line-height:1.7;padding:11px 13px;border-radius:12px;background:#f3f7e9;color:#8a9b79}.colour-done{width:100%;font-size:13px}.map-card.limited-map .map-controls{flex-direction:row;bottom:59px;right:11px;gap:5px}.map-card.limited-map .reset-control{margin-top:0}.map-card.compact-map .map-bottom{display:block;left:8px;right:auto;bottom:8px}.map-card.compact-map .heat-scale{min-height:34px;padding:6px 8px;gap:5px;border-radius:9px}.map-card.compact-map .heat-word{font-size:7px}.map-card.compact-map .heat-gradient{width:54px;height:9px;border-radius:3px}.map-card.compact-map .heat-info{width:12px;height:12px;font-size:8px;margin-left:0}
@media(max-width:760px){.heat-scale{min-height:37px;padding:8px 11px;gap:7px;border-radius:10px}.heat-word{font-size:8px}.heat-gradient{width:78px;height:10px}.heat-info{width:13px;height:13px;font-size:8px}.map-controls{bottom:67px}.colour-modal{padding-top:33px}.colour-modal h2{font-size:26px}.colour-modal p{font-size:11px}.colour-band-table{font-size:11px}.colour-band-table td{padding:10px 2px}.colour-band-table td:last-child{font-size:10px}.colour-modal .colour-note{font-size:10px}.map-card.limited-map .map-controls{bottom:61px}.map-card.compact-map .heat-scale{min-height:44px}.map-card.compact-map .map-controls{bottom:8px}}
@media(max-width:760px){.heat-scale{min-height:44px}}
.result-secondary-links{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:7px auto -4px;color:#bac6ac;font-size:10px}.result-secondary-links .text-button{font-size:10px;min-height:44px;color:#819871;margin:0;padding:7px 0}.result-secondary-links .text-button:hover{color:#4b7c47}
/* UI trails use the same tactile tiles as the explainer; shared text uses emoji. */
.result-trail{display:flex;flex-direction:column;align-items:center;gap:6px;white-space:normal;letter-spacing:0;margin:14px auto 18px}.colour-tile-line{display:flex;align-items:center;justify-content:center;gap:5px}.guess-colour-tile{display:block;flex-shrink:0;width:23px;height:21px;border-radius:6px;border:1px solid #254b3b12;border-bottom:3px solid #254b3b20;box-shadow:0 1px 0 #fff9;letter-spacing:0}.journey-trail{display:flex;align-items:center;gap:5px;letter-spacing:0;margin-top:8px}.journey-trail .colour-tile-line{gap:3px;justify-content:flex-start}.journey-trail .guess-colour-tile{width:11px;height:11px;border-radius:3px;border-bottom-width:2px}.journey-trail .trail-more{margin-left:0;white-space:nowrap}
@media(max-width:760px){.result-trail{gap:5px;margin:12px auto 15px}.result-trail .colour-tile-line{gap:4px}.result-trail .guess-colour-tile{width:21px;height:19px;border-radius:5px}.journey-trail .colour-tile-line{gap:2px}.journey-trail .guess-colour-tile{width:10px;height:10px;border-radius:3px}.journey-trail{gap:4px}}

.result-streak{font-size:11px;line-height:1.5;color:#536c49;background:#f2f6e8;border-radius:10px;padding:8px 11px;margin:12px auto 6px;max-width:max-content}.journey-streak-summary{grid-column:1/-1;text-align:center;font-size:12px;color:#536c49;margin:5px 0 0;line-height:1.5}@media(max-width:760px){.result-streak{font-size:10px}.journey-streak-summary{font-size:10px}}

/* One close-control pattern for every dialog, including mobile. */
.modal .modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;min-width:44px;min-height:44px;border:1.5px solid #d8e3ce;border-radius:50%;background:#fffef8;box-shadow:0 2px 0 #dde6d3;color:#647f58;z-index:5}.modal .modal-close:hover{background:#eef4e5}.modal .modal-close svg{width:18px;height:18px}.colour-modal{padding-top:43px}.colour-modal h2{padding-right:30px}

.result-trail{max-height:76px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.result-details-link{display:block;margin:3px auto 0;min-height:34px;color:#58784c}.result-details{scroll-margin-top:20px;outline:none}.result-overview .result-next{margin-bottom:19px}.result-overview .result-buttons{margin-top:13px}.result-overview .result-secondary-links{margin-top:4px}.result-details .result-guesses{max-height:240px}
@media(max-width:760px) and (max-height:500px){.result-modal{padding-top:18px;padding-bottom:18px}.result-flower{width:60px;height:60px;margin-bottom:1px}.result-modal .eyebrow{font-size:8px;line-height:1.2;margin-bottom:4px}.result-modal h2{font-size:20px;line-height:1.15;margin-bottom:5px}.result-status{font-size:8px;padding:3px 7px;margin-bottom:5px}.result-town{font-size:21px;line-height:1.15}.result-province{font-size:9px;margin-bottom:6px}.result-summary{font-size:9px;line-height:1.35}.result-streak{font-size:9px;padding:4px 8px;margin:7px auto 4px}.result-trail{max-height:38px;margin:5px 0 7px}.result-overview .result-buttons{margin-top:7px;gap:8px}.result-buttons .button{min-height:40px;font-size:11px;padding:8px 10px}.result-details-link{min-height:28px;font-size:10px}.result-overview .result-next{margin-top:9px;padding-top:8px}.result-secondary-links{font-size:9px}.result-details .result-map{height:150px}}

.result-modal .result-streak{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}

.result-modal .result-streak{font-size:11px;line-height:1.5;color:#536c49;margin-top:12px;margin-bottom:6px}@media(max-width:760px){.result-modal .result-streak{font-size:10px}}@media(max-width:760px) and (max-height:500px){.result-modal .result-streak{font-size:9px;margin-top:7px;margin-bottom:4px}}

.daily-intro h1{margin-bottom:0}

.map-selection{top:18px}@media(max-width:760px){.map-selection{top:12px}}

/* Keep zoom and full-map reset together at the upper-right. */
#main-map-card .map-controls{top:16px;right:16px;bottom:auto;flex-direction:column;gap:8px}
#main-map-card .reset-control{display:grid;margin-top:0;font-size:11px;font-weight:900;line-height:1}
@media(max-width:760px){#main-map-card .map-controls{top:12px;right:12px;gap:5px}}
#main-map-card.compact-map .map-controls{flex-direction:row;gap:5px}
#main-map-card.compact-map .map-selection{top:12px;left:12px;right:auto;max-width:calc(100% - 176px)}

.guess-panel.ended .panel-heading,
.guess-panel.ended .guess-form,
.guess-panel.ended .suggestions,
.guess-panel.ended .guess-error{display:none!important}
.guess-panel.ended .latest-feedback{padding-top:0;min-height:0}

@media(min-width:761px){
  #app:has(#daily-view:not([hidden])){height:100dvh;display:flex;flex-direction:column}
  #app:has(#daily-view:not([hidden])) .site-header{width:100%;flex-shrink:0;margin:0 auto}
  #main-content:has(#daily-view:not([hidden])){width:100%;flex:1;min-height:0;margin:0 auto;padding-bottom:24px}
  .daily-view{height:100%;display:flex;flex-direction:column;min-height:0}
  .daily-intro{flex-shrink:0}
  .daily-stage{flex:1;height:auto;min-height:320px;max-height:1024px;align-items:stretch;grid-template-rows:minmax(0,1fr)}
  .daily-stage>.map-card,.daily-stage>.guess-panel{height:100%;min-height:0}
  .daily-stage>.guess-panel{display:flex;flex-direction:column}
  .guess-panel .panel-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
  .guess-panel .panel-heading,.guess-panel .guess-form,.guess-panel .latest-feedback,.guess-panel .guess-error{flex-shrink:0}
  .guess-panel .history-area{display:flex;flex-direction:column;flex:1;min-height:0}
  .guess-panel .closest-summary,.guess-panel .history-heading,.guess-panel .round-actions{flex-shrink:0}
  .guess-panel .guess-history{flex:1;min-height:0;max-height:none;overflow-y:auto}
  .guess-panel .suggestions{flex:0 1 auto;min-height:0;max-height:min(55dvh,520px);overflow-y:auto}
  .guess-panel.has-suggestions .history-area{display:none}
}
#main-map-card .map-selection{display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 88px);right:auto;background:#fff;padding:6px 8px}
#main-map-card .map-selection strong{min-width:0;overflow-wrap:anywhere}
#main-map-card .map-selection span{margin-left:0}
#main-map-card .map-selection .guess-number{flex-shrink:0}
#main-map-card .map-guess-distance{white-space:nowrap}
#main-map-card.compact-map .map-selection{max-width:calc(100% - 176px);flex-wrap:wrap;gap:5px}
.guess-number{line-height:1;border-bottom-width:1px;box-shadow:inset 0 -2px 0 #254b3b14;padding-top:1px}
.guess-number[data-band="3"],.guess-number[data-band="4"]{color:#fff}
.map-pin[data-band="3"] text,.map-pin[data-band="4"] text{fill:#fff}

@media(min-width:351px) and (max-width:760px){
  .site-header{padding-left:10px;padding-right:10px;gap:5px}
  .brand{font-size:25px;gap:0;letter-spacing:-1.2px}.brand img{width:29px;height:29px}
  .main-nav{gap:3px}
  .nav-tab{flex-direction:column;gap:2px;min-width:43px;min-height:44px;padding:3px 5px;font-size:9px;line-height:1.1}
  .nav-tab svg{width:15px;height:15px}
  .nav-tab[data-action=journey] span{max-width:none;text-align:center}
  .header-tools{gap:4px}.help-button{min-width:27px;min-height:29px}
  .language-switch button{min-width:24px;font-size:8px}
}
@media(max-width:350px){
  .site-header{display:grid;grid-template-columns:1fr auto;gap:5px;padding:7px 12px}
  .brand{grid-column:1;grid-row:1}.header-tools{grid-column:2;grid-row:1}
  .main-nav{grid-column:1/-1;grid-row:2;display:flex;gap:5px;margin:0;width:100%}
  .nav-tab{flex:1;justify-content:center;font-size:10px;padding:0 6px}
}
@media(max-width:760px){
  .main-nav .nav-tab span{display:none}
  .main-nav .nav-tab{flex-direction:row;gap:0;padding:0;min-width:44px;min-height:44px}
  .main-nav .nav-tab svg{width:19px;height:19px}

  #app:has(#daily-view:not([hidden]) #guess-input:focus) .site-header,
  #app:has(#daily-view:not([hidden]) #guess-input:focus) .daily-intro{display:none}
  #app:has(#daily-view:not([hidden]) #guess-input:focus) .daily-stage{padding-top:8px}
}
.rules-list .rule-text{flex:1;min-width:0}
.rules-list .rule-icon{align-self:flex-start;margin-top:1px}
.rules-colour-guide{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:6px;max-width:270px;margin-top:12px}
.rule-text .rules-cold-label,.rule-text .rules-hot-label,.rule-text .rules-found-label{grid-row:1;font-size:9px;font-weight:800;line-height:1.3;color:#73886a;margin:0;text-align:center;align-self:end}
.rules-cold-label{grid-column:1}
.rules-hot-label{grid-column:5}
.rules-found-label{grid-column:6}
.rules-colour-guide .rules-legend{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:5px 0 0}
.rules-colour-guide .rules-legend>span{display:grid;place-items:center;width:auto;height:24px;margin:0;color:white;font-size:15px;font-weight:900;line-height:1}
.help-credits{margin-top:22px;border-top:1px dashed var(--border);padding-top:14px}
.help-credits summary{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;color:#718568;font-size:11px;font-weight:800}
.help-credits summary::-webkit-details-marker{display:none}
.help-credits summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.help-credits[open] summary svg{transform:rotate(180deg)}
.help-credits-text{margin-top:14px;text-align:left;font-size:11px;line-height:1.7}
.help-credits-text p{font-size:11px;line-height:1.7;margin:12px 0}

.account-menu-wrap{position:relative}
.account-button,.help-button{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:2px solid #d8e0cf;border-radius:50%;background:#fffef8;color:#71856a}.help-button{line-height:1}
.account-button svg{width:21px;height:21px;stroke-width:1.8}
.account-button[aria-expanded=true]{background:#e9f1dd;border-color:#b8cbaa;color:#417449}
.account-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:50;min-width:236px;padding:10px;background:#fffef8;border:1.5px solid #dce5d0;border-bottom:4px solid #d3dfc6;border-radius:18px;box-shadow:0 10px 26px #254b3b20}
.account-menu-link{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:10px 12px;text-align:left;background:transparent;border-radius:10px;color:#446b3d;font-size:13px;font-weight:800}
.account-menu-link:hover{background:#edf4e3}
.account-menu-link svg{width:18px;height:18px}
.account-menu-language{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 2px;border-top:1px solid #e4eadc;margin-top:7px;font-size:12px;font-weight:800;color:#7c8e71}
@media(max-width:760px){.account-button,.help-button{width:36px;height:36px;min-width:36px;min-height:36px}.account-button svg{width:19px;height:19px}.account-menu{top:calc(100% + 9px);min-width:226px}.account-menu-language .language-switch button{min-width:38px;min-height:38px}}

/* Keep a consistent gap between the mascot and wordmark at every width. */
.brand{gap:4px}

.rule-text .rule-emphasis{display:inline;font-size:inherit;line-height:inherit;font-weight:900;color:#66825a}

/* Two distance shades per colour family; exact-ID green is separate. */
.heat-gradient{grid-template-columns:repeat(10,minmax(0,1fr))}
.table-shade-pair{display:inline-flex;gap:2px;vertical-align:middle;margin-right:8px}
.table-shade-pair .table-square{margin-right:0;width:15px}
.rules-colour-guide{grid-template-columns:repeat(11,minmax(0,1fr));column-gap:3px;max-width:320px}
.rules-colour-guide .rules-cold-label{grid-column:1/3}
.rules-colour-guide .rules-hot-label{grid-column:9/11}
.rules-colour-guide .rules-found-label{grid-column:11;font-size:8px}
.rules-colour-guide .rules-legend{grid-template-columns:repeat(11,minmax(0,1fr));gap:3px}
