.city-lab{color:#315c55;background:#fffdf5;border:1px solid #d9e1cf;border-radius:23px;margin-top:20px;overflow:hidden}.city-lab button{font:inherit;cursor:pointer;touch-action:manipulation;color:#315c55;background:#f7f8eb;border:1px solid #cad7c4;border-radius:12px;min-height:46px;padding:10px 14px}.city-lab button:disabled{opacity:.5;cursor:default}.city-lab button:focus-visible{outline-offset:3px;outline:3px solid #b9723b}.city-lab button:active:not(:disabled){transform:translateY(1px)}.city-lab>header{justify-content:space-between;align-items:center;gap:15px;padding:22px 24px 16px;display:flex}.city-lab header span{color:#8c955f;letter-spacing:.1em;font-size:11px}.city-lab header h3{margin:5px 0;font-size:23px;font-weight:850}.city-lab header>b{white-space:nowrap;background:#f3e7b7;border-radius:16px;padding:10px 13px;font-size:17px}.city-lab-tabs{gap:8px;margin:0 22px 17px;display:flex}.city-lab-tabs button{background:#ebf1df;border-color:#0000;flex:1;font-size:13px;font-weight:700}.city-lab-tabs button[aria-pressed=true]{color:#fff;background:#37776a}.city-lab-missions{gap:10px;padding:0 22px 16px;display:flex}.city-lab-missions button{text-align:left;background:#faf3de;flex:1;align-items:center;gap:10px;font-size:13px;line-height:1.5;display:flex}.city-lab-missions button[aria-pressed=true]{background:#f5e7b9;border:2px solid #b39b58;padding:9px 13px}.city-lab-missions span{color:#a58843;font-size:18px;font-weight:850}.city-lab-task{border-top:1px dashed #d4ddc7;padding:22px}.city-lab-task-heading{align-items:center;gap:10px;margin-bottom:20px;display:flex}.city-lab-task-heading>div{flex:1}.city-lab-task-heading small{color:#8d9568;font-size:11px}.city-lab-task-heading h4{margin:7px 0;font-size:23px;font-weight:850}.city-lab-task-heading p{color:#60775f;margin:0;font-size:14px;line-height:1.7}.city-lab-task-heading>button{border-radius:50%;flex-shrink:0;width:46px;height:46px;padding:8px}.city-lab-pattern{flex-wrap:wrap;justify-content:center;gap:10px;margin:15px 0 10px;display:flex}.city-lab-pattern>span{background:#f0f3e2;border:2px dashed #d2dcbf;border-radius:13px;flex-direction:column;align-items:center;gap:5px;min-width:66px;padding:8px;display:flex;position:relative}.city-lab-pattern b{font-size:31px}.city-lab-pattern small{font-size:10px}.city-lab-pattern em{color:#39694d;text-align:center;background:#c0d5a6;border-radius:50%;width:18px;height:18px;font-size:12px;font-style:normal;position:absolute;top:-7px;right:-4px}.city-lab-pattern .current{background:#fff2c5;border:2px solid #d5ae54}.city-lab-pattern .done{background:#d9ead0;border:2px solid #a8c395}.city-lab-tip{color:#83926e;text-align:center;margin:8px 0 20px;font-size:12px}.city-lab-items{flex-wrap:wrap;justify-content:center;gap:13px;display:flex}.city-lab-items button{background:#faf6e6;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:93px;max-width:150px;min-height:97px;display:flex;position:relative;box-shadow:0 3px #e0e4cc}.city-lab-items button>span{font-size:36px;line-height:1.2}.city-lab-items button>b{font-size:12px;font-weight:750;line-height:1.4}.city-lab-items button[aria-pressed=true]{background:#dceccf;border:2px solid #81a975}.city-lab-items em{color:#39745b;font-style:normal;position:absolute;top:5px;right:8px}.city-lab-counter>p{text-align:center;font-size:17px}.city-lab-counter strong{color:#b38435;padding:0 10px;font-size:35px}.city-lab-basket{background:#efe2c0;border:4px solid #c6a86f;border-radius:16px 16px 30px 30px;grid-template-columns:repeat(4,1fr);gap:6px;max-width:340px;margin:16px auto;padding:15px;display:grid}.city-lab-basket span{color:#b29a5a;background:#e6d4a4;border-radius:9px;place-items:center;height:45px;font-size:29px;display:grid}.city-lab-basket .filled{background:#fff6db}.city-lab-counter>div:last-child{justify-content:center;align-items:center;gap:25px;display:flex}.city-lab-counter button{background:#e9f0d8;width:54px;font-size:27px}.city-lab-counter output{text-align:center;min-width:30px;font-size:25px;font-weight:850}.city-lab-feedback{text-align:center;color:#9c7840;min-height:23px;margin:23px 0 15px;font-size:13px;line-height:1.7}.city-lab-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.city-lab button.city-lab-main{color:#fff;background:#37776a;border:0;padding:13px 22px;font-weight:800;box-shadow:0 3px #27594f}.city-lab-win{text-align:center;padding:10px 10px 3px}.city-lab-win>span{font-size:64px}.city-lab-win h4{margin:9px 0 13px;font-size:24px;font-weight:850}.city-lab-win>p{max-width:560px;margin:0 auto 20px;font-size:16px;line-height:1.9}.city-lab-win>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.city-lab-win>small{color:#849071;margin-top:17px;font-size:11px;display:block}.city-lab-story{padding:5px 22px 24px}.city-lab-chapters{gap:9px;display:flex}.city-lab-chapters button{flex-direction:column;flex:1;align-items:center;gap:7px;padding:12px 5px;font-size:12px;display:flex}.city-lab-chapters small{color:#a59356;font-size:21px;font-weight:850}.city-lab-chapters button[aria-pressed=true]{background:#f7ebbf;border:2px solid #c4ad6a}.city-lab-letter{background:repeating-linear-gradient(#fffdf5 0 30px,#e7e8d7 31px);border:1px solid #e2ddc4;border-radius:17px;gap:15px;margin:18px 0;padding:24px;display:flex}.city-lab-letter>span{font-size:42px}.city-lab-letter p{margin:0;font-size:17px;line-height:1.9}.city-lab-story>.city-lab-main{margin:auto}.city-lab-parent{background:#edf2df;border-radius:10px;margin:19px 0 0;padding:13px;font-size:13px;line-height:1.8}.city-lab footer{color:#859272;border-top:1px solid #e2e6d5;padding:14px 22px;font-size:11px;line-height:1.6}.city-lab footer a{color:#618b69;text-decoration:underline}.city-answer-details{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.city-answer-details button{color:#356c55;background:#e8f2e8;border:1px solid #c9dece;border-radius:12px;min-height:44px;padding:9px 13px;font-size:12px}.city-answer-details button[aria-pressed=true]{color:#fff;background:#37776a}.city-answer .city-new-answer{color:#7d5920;background:#f7e7a9;border:1px solid #dfc67e;border-radius:12px;min-height:46px;margin:8px 0;font-weight:750}.city-answer .city-model-detail{color:#678478;font-size:11px;line-height:1.7}.city-replay-puzzle{color:#326652;background:#eaf5ed;border:1px solid #c1d7cb;border-radius:11px;min-height:45px;margin:10px 0 4px;padding:10px 16px}.city-replay-banner{color:#85612b;background:#fff2c9;border-radius:12px;justify-content:space-between;align-items:center;margin:10px 0;padding:12px 15px;font-size:13px;display:flex}.city-replay-banner button{background:#fff;border:1px solid #d6c28b;border-radius:8px;min-height:44px;padding:8px 12px}.city-topic-heading{color:#5c786c;padding:13px 0 7px;font-size:14px;font-weight:750}@media (width<=640px){.city-lab>header{padding:18px 16px 12px}.city-lab header h3{font-size:21px}.city-lab-tabs{margin:0 14px 13px}.city-lab-missions{gap:7px;padding:0 14px 13px}.city-lab-missions button{gap:6px;padding:10px 8px;font-size:11px}.city-lab-missions button[aria-pressed=true]{padding:9px 7px}.city-lab-task{padding:17px 14px}.city-lab-task-heading h4{font-size:20px}.city-lab-task-heading p{font-size:13px}.city-lab-items{gap:9px}.city-lab-items button{min-width:82px;max-width:calc(50% - 6px);padding:12px 9px}.city-lab-items button>b{font-size:11px}.city-lab-pattern{gap:7px}.city-lab-pattern>span{min-width:51px;padding:8px 6px}.city-lab-pattern b{font-size:26px}.city-lab-actions>.city-lab-main{width:100%;font-size:14px}.city-lab-story{padding:4px 14px 20px}.city-lab-letter{gap:10px;padding:19px 15px}.city-lab-letter p{font-size:16px}.city-lab-letter>span{font-size:31px}.city-lab-chapters button{font-size:10px}.city-lab-win>p{font-size:15px}.city-lab-win>div button{width:100%}.city-lab footer{padding:13px 16px}}@media (prefers-reduced-motion:reduce){.city-lab *{transition:none!important;animation:none!important}}.city-depth-summary{letter-spacing:.03em;color:#7c926b!important;margin-top:10px!important;font-size:12px!important}.city-lab-link{color:#876326;background:#fff0bb;border:1px solid #dcbd69;border-radius:12px;width:100%;min-height:47px;margin:13px 0;padding:12px 14px;font-size:13px;font-weight:750;display:block}.city-lab{scroll-margin-top:20px}.city-inquiry{color:#315c55;background:#fffdf6;border:1px solid #becfbb;border-radius:23px;margin:22px 0;scroll-margin-top:20px;overflow:hidden}.city-inquiry header{justify-content:space-between;align-items:center;gap:16px;padding:25px 25px 10px;display:flex}.city-inquiry header small{letter-spacing:.1em;color:#7d8d63;font-size:11px}.city-inquiry h3{margin:8px 0;font-size:25px;line-height:1.4}.city-inquiry header>span{font-size:39px}.city-inquiry .inquiry-lead{color:#5d7666;margin:0;padding:0 25px 23px;font-size:14px;line-height:1.9}.city-inquiry .inquiry-step{border-top:1px dashed #d2ddc6;padding:23px 25px}.city-inquiry h4{align-items:center;gap:10px;margin:0 0 16px;font-size:17px;display:flex}.city-inquiry h4>span{color:#496f50;background:#dce8c8;border-radius:50%;place-items:center;min-width:29px;height:29px;font-size:14px;display:grid}.city-inquiry p{font-size:15px;line-height:1.9}.city-inquiry small{color:#718169;font-size:12px;line-height:1.7;display:block}.city-inquiry button{font:inherit;color:#315c55;touch-action:manipulation;cursor:pointer;background:#eef3e5;border:1px solid #c8d6bd;border-radius:12px;min-height:46px;padding:11px 15px;line-height:1.5}.city-inquiry button:disabled{opacity:.48;cursor:default}.city-inquiry button:focus-visible,.city-local-profile input:focus-visible{outline-offset:3px;outline:3px solid #ba883c}.city-inquiry .inquiry-choices{flex-wrap:wrap;gap:9px;margin:15px 0;display:flex}.city-inquiry .inquiry-choices button{text-align:left;flex:140px;font-size:13px}.city-inquiry .inquiry-choices button[aria-pressed=true]{background:#dfebd1;border:2px solid #679677;padding:10px 14px;font-weight:750}.city-inquiry .inquiry-primary{color:#fff;background:#37776a;border:0;padding:13px 20px;font-weight:750}.city-inquiry .inquiry-listen{background:0 0;font-size:12px}.city-inquiry .inquiry-simulation{background:#edf4e7;border:1px solid #e0e8d5;border-radius:17px;margin:18px 0;overflow:hidden}.city-inquiry svg{width:100%;height:auto;display:block}.city-inquiry .inquiry-simulation p{text-align:center;color:#65806b;background:#e4edda;margin:0;padding:8px 15px;font-size:12px;line-height:1.6}.city-inquiry .inquiry-frame{transition:d .5s}.city-inquiry .inquiry-string{transform-box:view-box;transform-origin:260px 115px;animation:.22s linear 8 inquiry-vibrate}.city-inquiry .inquiry-string.fast{animation-duration:.11s;animation-iteration-count:16}@keyframes inquiry-vibrate{0%,to{transform:scaleY(1)}50%{transform:scaleY(-1)}}.city-inquiry .inquiry-observation{background:#fcf2cf;border-left:4px solid #d8b861;border-radius:10px;margin:17px 0;padding:16px 18px}.city-inquiry .inquiry-observation b{color:#876831;font-size:13px}.city-inquiry .inquiry-observation p{margin:8px 0 10px}.city-inquiry .inquiry-model-note{color:#829077;margin-bottom:0;font-size:11px;line-height:1.8}.city-inquiry .inquiry-discuss{background:#f8f8ed}.city-inquiry .inquiry-provenance{color:#5e8470;padding:12px 0;font-size:11px}.city-inquiry .inquiry-answer-part{background:#fffdf5;border:1px solid #e0e6d4;border-radius:14px;margin:12px 0;padding:15px 17px}.city-inquiry .inquiry-answer-part>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.city-inquiry h5{color:#a17b3d;margin:0;font-size:14px}.city-inquiry .inquiry-answer-part button{background:#f1f4e7;border:0;min-width:46px;padding:6px 10px}.city-inquiry .inquiry-answer-part p{white-space:pre-line;overflow-wrap:anywhere;margin:10px 0 0;font-size:15px;line-height:2}.city-inquiry .inquiry-sources{color:#6b856d;border-top:1px solid #e2e7d6;padding:17px 25px;font-size:12px}.city-inquiry .inquiry-sources summary{cursor:pointer;padding:7px 0}.city-inquiry .inquiry-sources p{font-size:12px}.city-inquiry .inquiry-sources a{overflow-wrap:anywhere;margin:10px 0;text-decoration:underline;display:block}.city-local-profile{background:#f4f7eb;border:1px solid #cfdcc6;border-radius:13px;flex-wrap:wrap;gap:10px;margin:18px 0;padding:18px;display:flex}.city-local-profile label{flex-basis:100%;font-size:14px;font-weight:700}.city-local-profile input{font:inherit;color:#315c55;background:#fff;border:1px solid #b5cbb2;border-radius:9px;flex:180px;min-width:100px;min-height:46px;padding:10px 12px}.city-local-profile p{flex-basis:100%;margin:5px 0 0;font-size:12px}.city-traveler-greeting{color:#7e926b;margin:17px 0 0;font-size:12px}@media (width<=640px){.city-inquiry header{padding:20px 16px 8px}.city-inquiry h3{font-size:22px}.city-inquiry .inquiry-lead{padding:0 16px 18px;font-size:13px}.city-inquiry .inquiry-step{padding:19px 15px}.city-inquiry h4{font-size:15px}.city-inquiry .inquiry-choices{gap:8px}.city-inquiry .inquiry-choices button{flex-basis:120px;font-size:12px}.city-inquiry .inquiry-primary{width:100%;font-size:14px}.city-inquiry .inquiry-sources{padding:15px}.city-inquiry .inquiry-answer-part{padding:13px}.city-inquiry .inquiry-answer-part p{font-size:14px}.city-inquiry .inquiry-observation{padding:13px}}@media (prefers-reduced-motion:reduce){.city-inquiry *{transition:none!important;animation:none!important}}.city-inquiry .inquiry-answer-part summary{cursor:pointer;color:#6c846b;padding:12px 0 3px;font-size:13px;line-height:1.6}.route-location{color:#274d43;background:#fbfaf2;border:1px solid #c6d7c8;border-radius:20px;margin:18px 0;overflow:hidden}.route-location>summary{cursor:pointer;padding:17px 19px;font-size:1.08rem;font-weight:750}.route-location>summary>span{color:#677c6c;margin-left:12px;font-size:.82rem;font-weight:500;display:inline-block}.route-location-content{padding:0 20px 20px}.route-location p{margin:10px 0;line-height:1.65}.route-location button{min-height:46px;font:inherit;color:#264e44;cursor:pointer;background:#fff;border:1px solid #91ae9c;border-radius:13px;padding:10px 15px;font-weight:650}.route-location button:disabled{opacity:.5;cursor:default}.route-location button:focus-visible,.route-location summary:focus-visible{outline-offset:3px;outline:3px solid #bd7b32}.route-location-phase{border:0;flex-wrap:wrap;gap:9px;margin:15px 0 8px;padding:0;display:flex}.route-location-phase legend{padding:0 0 9px;font-size:.9rem;font-weight:700}.route-location-phase button[aria-pressed=true]{background:#e1eddd;border-color:#3d7565;box-shadow:inset 0 0 0 1px #3d7565}.route-location-phase-note,.route-location-privacy,.route-location-fix{color:#61796b;font-size:.83rem}.route-location-actions{flex-wrap:wrap;gap:9px;margin:15px 0;display:flex}.route-location-actions button:first-child{color:#fff;background:#315f53}.route-location-status{font-weight:650}.route-location-match{background:#eef2e6;border-radius:12px;padding:11px 14px}.route-location-map{border:1px solid #d1ddcc;border-radius:15px;margin-top:16px;overflow:hidden}.route-location-map svg{width:100%;height:auto;min-height:210px;display:block}.route-location-stops{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:13px 0;padding:0;list-style:none;display:grid}.route-location-stops li{border-radius:9px;align-items:center;gap:7px;padding:8px 5px;font-size:.88rem;display:flex}.route-location-stops li.nearby{background:#f2e4c9}.route-location-stops span{border:1px solid #bcb;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font-size:.75rem;display:inline-grid}.route-location-intro{background:#e9f0df;border-radius:15px;margin:14px 0;padding:16px}.route-location-intro h4{margin:0;font-size:1.1rem}.route-location-intro small{color:#61776a;line-height:1.5;display:block}.route-location-intro button{margin-top:12px}.route-location-sources{margin-top:16px;font-size:.82rem}.route-location-sources>summary{cursor:pointer;font-weight:700}.route-location-sources>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0;display:grid}.route-location-sources a{color:#416f60;overflow-wrap:anywhere}.route-location-sources p{color:#62796d}@media (width<=600px){.route-location-content{padding:0 12px 14px}.route-location>summary{padding:15px 12px}.route-location>summary>span{margin:7px 0 0 25px;display:block}.route-location-phase{grid-template-columns:1fr;display:grid}.route-location-stops,.route-location-sources>div{grid-template-columns:repeat(2,minmax(0,1fr))}.route-location-map svg{min-height:185px}.route-location-actions button{flex:130px}}@media (prefers-reduced-motion:reduce){.route-location *{scroll-behavior:auto}}.voyage{color:#233f43;max-width:1420px;margin:0 auto;padding:20px 28px 60px;font-family:PingFang SC,Microsoft YaHei,sans-serif}.voyage button,.voyage a.voyage-primary{color:#284747;cursor:pointer;background:#fffefa;border:1px solid #d7ddd2;border-radius:14px;min-height:46px;padding:11px 16px;font-size:15px;font-weight:700;transition:background .15s,transform .15s}.voyage button:hover:not(:disabled){background:#edf2df;transform:translateY(-1px)}.voyage button:focus-visible,.voyage input:focus-visible,.voyage summary:focus-visible{outline-offset:3px;outline:3px solid #b1762c}.voyage button:disabled{opacity:.45;cursor:not-allowed}.voyage button[aria-pressed=true]{color:#fff;background:#254e4b;border-color:#254e4b}.voyage .voyage-primary{color:#fff;background:#da8a3c;border-color:#c47b31;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.voyage .voyage-primary:hover:not(:disabled){background:#be7331}.voyage p{line-height:1.75}.voyage a{color:#246b68;text-underline-offset:3px}.voyage-heading{justify-content:space-between;align-items:center;gap:24px;padding:10px 0 22px;display:flex}.voyage h1{letter-spacing:-1px;margin:8px 0;font-size:clamp(26px,3vw,40px);font-weight:850}.voyage h2{font-size:24px;font-weight:800;line-height:1.4}.voyage h3{font-size:18px;font-weight:750}.voyage-heading p{color:#60746e;max-width:720px;font-size:16px}.voyage-kicker{letter-spacing:1px;text-transform:uppercase;color:#91713b;font-size:12px;font-weight:750}.voyage-tools{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:320px;display:flex}.voyage-grid{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);align-items:start;gap:22px;display:grid}.voyage-map-panel{color:#f6fffb;background:#17414b;border-radius:24px;overflow:hidden;box-shadow:0 10px 28px #173f4020}.voyage-map-panel header{justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;display:flex}.voyage-map-panel header small{letter-spacing:1px;color:#b4d3ca;font-size:11px}.voyage-map-panel header h3{color:#fff;margin:5px 0 0}.voyage-map-panel header button{color:#fafff7;background:#ffffff14;border-color:#ffffff25;min-height:42px;font-size:13px}.voyage-map-viewport{width:100%;height:430px}.voyage-map-viewport svg{width:100%;height:100%;display:block}.voyage-map-note{color:#bed1c9;background:#153b45;padding:12px 18px;margin:0!important;font-size:11px!important;line-height:1.7!important}.voyage-postcard{background:#fffdf6;border:1px solid #e2ded0;border-radius:22px;grid-template-columns:minmax(160px,.85fr) 1.3fr;margin-top:22px;display:grid;overflow:hidden;box-shadow:0 4px 18px #3c4c3c08}.voyage-postcard>img{object-fit:contain;background:#e7ebdf;width:100%;height:100%;min-height:300px;max-height:420px}.voyage-postcard>div{padding:23px}.voyage-postcard h2{margin:9px 0;font-size:23px}.voyage-postcard p{font-size:15px}.voyage-postcard details{color:#6a7c71;margin-top:15px;font-size:12px}.voyage-postcard details summary{cursor:pointer}.voyage-controls{background:linear-gradient(145deg,#fffdf8,#f6f2e4);border:1px solid #dddccd;border-radius:24px;min-width:0;padding:23px;box-shadow:0 10px 30px #394d3b0a}.voyage-station-heading{justify-content:space-between;gap:10px;margin-bottom:17px;font-size:12px;display:flex}.voyage-station-heading span{color:#8d7852}.voyage-station-heading b{color:#416d61}.voyage-scores{gap:11px;margin-bottom:22px;display:flex}.voyage-scores>div{background:#ede9d9;border:2px solid #0000;border-radius:16px;flex:1;min-width:0;padding:14px}.voyage-scores>div:nth-child(2){background:#e2ebed}.voyage-scores>div.active{border-color:#ce883e;box-shadow:0 0 0 4px #ce883e13}.voyage-scores small{overflow-wrap:anywhere;font-size:13px;display:block}.voyage-scores strong{letter-spacing:-1px;font-size:36px;line-height:1.5;display:block}.voyage-scores em{letter-spacing:0;margin-left:4px;font-size:14px;font-style:normal;font-weight:500}.voyage-scores span{color:#6d7668;font-size:11px}.voyage-choices{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.voyage-choices button{padding:12px 5px}.voyage-choices span{margin-bottom:5px;font-size:25px;display:block}.voyage-die{text-align:center;color:#44675a;text-shadow:0 6px #42634913;font-family:serif;font-size:108px;line-height:1.4}.voyage-die.rolling{animation:.35s linear infinite voyage-roll}.voyage-controls>.voyage-primary{width:100%;min-height:54px;font-size:16px}.voyage-roll-result{text-align:center;color:#a46528;font-weight:750}.voyage-muted{color:#6f7f72;font-size:12px!important;line-height:1.7!important}.voyage-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.voyage-ai-label{color:#6e806d;flex-direction:column;gap:5px;margin:15px 0;font-size:12px;display:flex}.voyage-ai-label b{color:#677441}.voyage-story{background:#edeede;border-radius:15px;padding:15px;font-size:15px;line-height:1.9!important}.voyage-task{border-top:1px dashed #d9d7c8;margin-top:20px;padding-top:18px}.voyage-task>small{color:#987d43;font-size:11px}.voyage-task h2{margin:7px 0}.voyage-task p{font-size:16px}.voyage-pattern{flex-wrap:wrap;gap:6px;padding:15px 0;display:flex}.voyage-pattern>span{text-align:center;background:#edece0;border-radius:12px;grid-template-columns:auto auto;align-items:center;gap:2px;padding:7px 10px;font-size:25px;display:grid}.voyage-pattern small{grid-column:1/-1;font-size:11px}.voyage-pattern b{font-size:12px}.voyage-pattern .done{background:#c8e4d5}.voyage-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}.voyage-items button{overflow-wrap:anywhere;padding:12px 8px;font-size:13px}.voyage-items span{margin-bottom:8px;font-size:32px;display:block}.voyage-counter{justify-content:center;align-items:center;gap:25px;margin:14px;display:flex}.voyage-counter output{font-size:30px;font-weight:800}.voyage-counter button{width:50px;font-size:24px}.voyage-basket{text-align:center;background:#f0ead8;border-radius:14px;grid-template-columns:repeat(6,1fr);gap:7px;padding:13px;font-size:25px;display:grid}.voyage-task .voyage-row{justify-content:space-between;margin-top:16px}.voyage-reward{text-align:center;padding:22px 0 10px}.voyage-reward>span,.voyage-finish>span{font-size:60px;display:block}.voyage-reward h2{margin:8px}.voyage-reward .voyage-primary{width:100%;margin-top:14px}.voyage-explanation{border-top:1px solid #dfdfd0;margin-top:20px;padding-top:15px}.voyage-explanation summary{color:#456c5d;cursor:pointer;font-weight:750}.voyage-explanation h3{margin-top:18px}.voyage-explanation p{font-size:15px}.voyage-transfer{text-align:center}.voyage-transfer>span{font-size:50px}.voyage-transfer>p{font-size:15px}.voyage-transfer fieldset{border:1px solid #dfdecf;border-radius:14px;margin:17px 0;padding:12px}.voyage-transfer legend{text-align:left;padding:0 6px;font-size:14px;font-weight:750}.voyage-transfer fieldset button{margin:4px;font-size:13px}.voyage-travel{text-align:center}.voyage-travel>div{font-size:74px;animation:1s ease-in-out infinite voyage-bob}.voyage progress{accent-color:#d28a42;border-radius:8px;width:100%;height:10px}.voyage-finish{text-align:center}.voyage-finish>div{background:#e6eedb;border-radius:16px;margin:16px 0;padding:16px}.voyage-finish>div b{font-size:27px}.voyage-finish button{margin-top:12px}.voyage-passport{background:#f2efdf;border:1px solid #e1ddcb;border-radius:22px;margin-top:30px;padding:24px}.voyage-passport header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.voyage-passport header b{color:#94703b;font-size:22px}.voyage-passport>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.voyage-passport button{text-align:left;flex-direction:column;gap:5px;padding:11px;display:flex}.voyage-passport small{letter-spacing:1px;opacity:.7;font-size:10px}.voyage-passport span{font-size:14px}.voyage-passport em{opacity:.7;font-size:11px;font-style:normal}.voyage-more,.voyage-log{background:#fffef8;border:1px solid #dedecf;border-radius:18px;margin-top:22px;padding:18px 22px}.voyage-more>summary,.voyage-log>summary{color:#55705c;cursor:pointer;font-size:16px;font-weight:750}.voyage-more .city-lab{margin-top:24px}.voyage-log p{font-size:13px}.voyage-table{margin:20px 0;overflow:auto}.voyage-table table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}.voyage-table th,.voyage-table td{text-align:left;border-bottom:1px solid #e0e3d7;padding:12px}.voyage-film{color:#e8f4ee;background:#153d48;border-radius:24px;margin-top:26px;padding:28px}.voyage-film header{align-items:center;gap:15px;margin-bottom:20px;display:flex}.voyage-film header>span{font-size:45px}.voyage-film header small{color:#e1be79;font-size:12px}.voyage-film header p{color:#c6d8cd;font-size:13px}.voyage-film canvas,.voyage-film video{aspect-ratio:16/9;background:#0b2833;border-radius:14px;width:100%;margin-bottom:18px}.voyage-film .voyage-muted{color:#b3cec2}.voyage-film>.voyage-primary{margin-bottom:12px;margin-right:12px}.voyage-notice{color:#856431;background:#fff0d7;border-radius:12px;padding:13px 18px;font-size:13px}.voyage-pause{text-align:center;background:#fff4d8;border:2px solid #b39451;border-radius:18px;margin-bottom:20px;padding:22px}.voyage-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#183b3b88;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.voyage-modal{background:#fffdf4;border-radius:24px;max-width:480px;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 30px 90px #152b3b66}.voyage-modal label{margin-top:18px;font-size:14px;display:block}.voyage-modal input{border:1px solid #cdd6c5;border-radius:12px;width:100%;margin-top:8px;padding:12px;font-size:17px;display:block}.voyage-modal>.voyage-primary{width:100%;margin-bottom:10px}.voyage-modal>button:last-child{width:100%}@keyframes voyage-roll{50%{transform:rotate(18deg)translateY(-8px)}}@keyframes voyage-bob{50%{transform:translateY(-5px)}}@media (width<=1050px){.voyage-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:16px}.voyage-postcard{display:block}.voyage-postcard>img{height:230px;min-height:0}.voyage-passport>div{grid-template-columns:repeat(4,minmax(0,1fr))}.voyage-heading{align-items:flex-start}}@media (width<=760px){.voyage{padding:12px 14px 40px}.voyage-heading{padding-bottom:18px;display:block}.voyage-heading h1{font-size:29px}.voyage-tools{justify-content:flex-start;max-width:none;margin-top:15px}.voyage-tools button{min-height:42px;padding:9px 11px;font-size:12px}.voyage-grid{grid-template-columns:minmax(0,1fr)}.voyage-map-viewport{height:315px}.voyage-map-panel header{padding:14px}.voyage-map-panel header h3{font-size:16px}.voyage-postcard{grid-template-columns:1fr 1.3fr;display:grid}.voyage-postcard>img{height:100%;min-height:240px;max-height:350px}.voyage-postcard>div{padding:16px}.voyage-postcard h2{font-size:20px}.voyage-postcard p{font-size:14px}.voyage-controls{padding:20px}.voyage-passport{padding:18px}.voyage-passport>div{grid-template-columns:repeat(3,minmax(0,1fr))}.voyage-passport button{padding:9px}.voyage-passport span{font-size:12px}.voyage-film{padding:18px}.voyage-film h2{font-size:21px}.voyage-more,.voyage-log{padding:16px}.voyage-modal{padding:23px}.voyage-map-note{font-size:10px!important}.voyage-passport h2{font-size:20px}}@media (width<=430px){.voyage-postcard{display:block}.voyage-postcard>img{width:100%;height:220px;min-height:0}.voyage-map-viewport{height:280px}.voyage h1{font-size:26px}.voyage-map-panel header h3{font-size:14px}.voyage-map-panel header button{padding:8px;font-size:11px}.voyage-station-heading{font-size:11px}.voyage-scores strong{font-size:34px}}@media (prefers-reduced-motion:reduce){.voyage *{transition:none!important;animation:none!important}}.journey-family-modes{flex-wrap:wrap;gap:8px;max-width:1364px;margin:4px auto 10px;padding:0 20px;display:flex}.journey-family-modes button{color:#466656;background:#fcfcf5;border:1px solid #d6dfce;border-radius:14px;min-height:46px;padding:12px 16px;font-size:14px;font-weight:700}.journey-family-modes button[aria-pressed=true]{color:#fff;background:#355e52;border-color:#355e52}.journey-family-modes button:focus-visible{outline-offset:3px;outline:3px solid #c68b45}@media (width<=600px){.journey-family-modes{gap:6px;padding:0 14px}.journey-family-modes button{flex:1;padding:10px;font-size:12px}}.voyage-fleet{grid-template-columns:repeat(8,1fr);gap:3px;margin-top:22px;display:grid}.voyage-fleet svg{width:100%;height:18px;display:block}.voyage-fleet small{text-align:center;color:#839078;font-size:9px;display:block}.voyage-film a:not(.voyage-primary){color:#d8e9bb}.voyage-film .voyage-row{margin-bottom:18px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--radius-md:calc(var(--radius) * .8);--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:var(--font-geist-sans)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1{height:calc(var(--spacing) * 1)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-x-hidden{overflow-x:hidden}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground{background-color:var(--primary-foreground)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:calc(var(--spacing) * 1)}.font-heading{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--destructive)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-has-\[\:focus-visible\]\/field-label\:ring-0:is(:where(.group\/field-label):has(:focus-visible) *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-has-\[\:focus-visible\]\/field-label\:not-data-checked\:border-input:is(:where(.group\/field-label):has(:focus-visible) *):not(:where([data-state=checked]),:where([data-checked]:not([data-checked=false]))){border-color:var(--input)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -3)}.after\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -2)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.aria-invalid\:aria-checked\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-checked\:border-primary:where([data-state=checked]),.data-checked\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.data-checked\:bg-primary:where([data-state=checked]),.data-checked\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.data-checked\:text-primary-foreground:where([data-state=checked]),.data-checked\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary:is(:where(.group\/field-label):has(:focus-visible) *):where([data-state=checked]),.group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary:is(:where(.group\/field-label):has(:focus-visible) *):where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.dark\:data-checked\:bg-primary:is(.dark *):where([data-state=checked]),.dark\:data-checked\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}.city-journey{color:#244e52;max-width:1180px;margin:0 auto 32px;padding:0 12px;font-family:ui-rounded,PingFang SC,Microsoft Yahei,sans-serif}.city-dashboard{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.city-puzzle-column,.city-notebook-column{min-width:0}.railway-quest{background:#f6f9ed;border:1px solid #d3e0cd;border-radius:18px;margin-top:16px;padding:10px 14px}.railway-quest summary{cursor:pointer;min-height:44px;padding:9px 0;font-size:14px;font-weight:750}.railway-caption{margin:6px 0 12px;font-size:14px;line-height:1.8}.railway-quest svg{width:100%;height:auto}.railway-tile{cursor:pointer}.railway-tile:focus-visible rect{stroke:#e89f42;stroke-width:5px}.railway-actions{align-items:center;gap:10px;padding-top:12px;display:flex}.railway-actions>button:last-child{white-space:nowrap;background:#e3ecd9;padding:8px 10px;font-size:12px}.railway-actions p{flex:1;font-size:14px;font-weight:800}.railway-train.transfer{animation:1.5s ease-in-out railwayOutbound}.railway-train.done{animation:1.3s ease-in-out railwayInbound}@keyframes railwayOutbound{0%{transform:translate(418px,322px)}45%{transform:translate(418px,190px)}to{transform:translate(112px,190px)}}@keyframes railwayInbound{0%{transform:translate(112px,190px)}to{transform:translate(245px,190px)}}@media (width>=1000px){.city-dashboard{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:20px}.city-notebook-column>:first-child{margin-top:0}.city-notebook-column .city-questions{grid-template-columns:1fr;display:grid}.city-story p{font-size:17px}.city-parts button{min-height:90px}.city-parts b{font-size:15px}.city-play-hint{font-size:14px}}.city-journey button,.back-to-cities{cursor:pointer;touch-action:manipulation;border-radius:14px;min-height:44px}.city-journey button:focus-visible{outline-offset:3px;outline:3px solid #e9ae45}.city-journey button:disabled{cursor:default;opacity:.55}.city-toolbar,.city-toolbar>div,.city-heading,.city-route-line,.city-story,.city-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.city-toolbar{padding:10px 0;font-size:14px}.city-toolbar button{background:#f2f6ef;padding:6px 12px;font-size:13px}.city-stamp-count{color:#376957;font-weight:800}.city-route-line{background:#f5e9ca;border-radius:12px;flex-wrap:wrap;justify-content:flex-start;gap:5px 14px;padding:8px 14px;font-size:12px}.city-map-toggle{text-align:left;background:#fffef8;border:1px solid #d9e5dc;justify-content:space-between;align-items:center;width:100%;margin-top:10px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.city-map-toggle span{font-size:12px;font-weight:400}.city-trail{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:12px 0;display:grid}.city-trail button{text-align:center;background:#f4f8f0;border:1px solid #dce8dd;gap:3px;padding:9px 2px;display:grid;position:relative}.city-trail button[aria-pressed=true]{background:#e8f6ec;border-color:#59a390;box-shadow:inset 0 0 0 1px #59a390}.city-trail span{font-size:25px}.city-trail b{white-space:nowrap;font-size:12px}.city-trail small{color:#668477;font-size:10px}.city-heading{margin:22px 0 14px}.city-heading p{color:#7d977e;margin:0 0 6px;font-size:12px}.city-heading h2{margin:0;font-size:clamp(19px,3vw,26px);font-weight:850;line-height:1.4}.city-seal{font-size:38px}.city-seal.earned{transform:rotate(-12deg)}.city-invitation{background:#fff2d4;border:1px solid #eedbb4;border-radius:20px;align-items:center;gap:18px;margin-bottom:14px;padding:18px;display:flex}.city-invitation>span{font-size:45px}.city-invitation h3,.city-reward h3,.city-finale h3{margin:0 0 6px;font-size:17px;font-weight:800}.city-invitation p{margin:0 0 12px;font-size:13px;line-height:1.7}.city-journey .city-primary{color:#fffdf4;background:#287c69;border-radius:14px;width:100%;padding:13px 18px;font-size:17px;font-weight:800;display:block;box-shadow:0 4px #1a5d50}.city-play-area{background:#fffdf6;border:1px solid #dbe6dc;border-radius:22px;padding:14px;position:relative;box-shadow:0 8px 30px #2c59450b}.city-story{align-items:flex-start;min-height:80px;margin-bottom:10px}.city-story>span{flex:0 0 42px;font-size:34px}.city-story p{flex:1;margin:0;font-size:15px;font-weight:550;line-height:1.8}.city-story button{background:#eef4e8;flex:0 0 44px}.city-world{-webkit-user-select:none;user-select:none;border-radius:18px;width:100%;height:auto;overflow:visible}.city-target{cursor:pointer;outline:none}.city-target .target-halo{fill:#fff7db25;stroke:#d1b36c;stroke-width:2px;stroke-dasharray:5 5}.city-target.placed .target-halo{fill:#fff7db00;stroke:#0000}.city-target.selected .target-halo,.city-target:focus-visible .target-halo{stroke:#e99c3b;stroke-width:4px;stroke-dasharray:none;fill:#fff0b433}.city-target.suggested:not(.placed) .target-halo{animation:1.8s ease-in-out infinite cityGlow}.city-target[aria-disabled=true]{cursor:default}.city-traffic{pointer-events:none;animation:3s ease-in-out infinite alternate cityTraffic}.city-boat{pointer-events:none;animation:4s ease-in-out infinite alternate cityBoat}.city-visitor{pointer-events:none;animation:5s ease-in-out infinite alternate cityBoat}.city-parts{gap:9px;margin-top:13px;display:flex}.city-parts button{background:#f6edd8;border:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:76px;display:flex;position:relative}.city-parts button.picked{background:#fff0bb;border-color:#dca452;transform:translateY(-3px)}.city-parts span{font-size:28px;line-height:1}.city-parts b{font-size:12px;font-weight:600}.city-parts small{color:#267a5e;position:absolute;top:7px;right:9px}.city-play-hint{color:#738b7b;justify-content:space-between;gap:8px;margin:12px 2px 0;font-size:12px;line-height:1.6;display:flex}.city-play-hint span{white-space:nowrap;font-weight:700}.city-discovery{background:#eaf3df;border-radius:16px;gap:12px;margin-top:14px;padding:13px 16px;font-size:14px;line-height:1.8;display:flex}.city-discovery p{margin:0}.city-discovery>span{font-size:24px}.city-reward{background:#fff6d9;border:2px solid #e6d59c;border-radius:20px;margin-top:14px;padding:18px}.city-reward>div:first-child{align-items:center;gap:14px;display:flex}.city-reward>div:first-child>span{font-size:40px}.city-reward p{margin:0;font-size:13px;line-height:1.8}.city-local-fact{background:#e9f0d5;border-radius:12px;align-items:flex-start;gap:8px;margin-top:12px;padding:12px 10px;display:flex}.city-local-fact p{flex:1}.city-local-fact button{background:#dbe8c6;flex:0 0 44px}.city-reward .city-favorite-label{color:#766840;margin-top:14px;font-size:12px}.city-favorites{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}.city-favorites button{white-space:nowrap;background:#fffdf4;border:1px solid #e5d7b2;flex:1;padding:6px 10px;font-size:12px}.city-favorites button[aria-pressed=true]{background:#e3f1d5;border-color:#89b385}.city-questions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.city-questions button{background:#eff7f5;border:1px solid #d7e3df;flex:1;min-width:135px;padding:10px;font-size:12px;font-weight:600;line-height:1.6}.city-answer{background:#f1f5ed;border-radius:16px;padding:16px;font-size:14px;line-height:1.9}.city-answer b{font-weight:750}.city-answer p{margin:8px 0}.city-answer button{background:#e1ebde;padding:5px 12px;font-size:12px}.city-answer small{color:#7b8f7b;margin-top:8px;font-size:10px;display:block}.city-bottom{flex-wrap:wrap;justify-content:flex-start;margin:16px 0}.city-bottom button,.back-to-cities{color:#547669;background:#f5f2e8;padding:8px 14px;font-size:12px}.back-to-cities{margin:6px auto 14px;display:block}.city-parent{color:#74877a;border-top:1px dashed #d4dfd1;padding:12px 0;font-size:12px}.city-parent summary{cursor:pointer;min-height:36px}.city-parent p{margin:9px 0;line-height:1.9}.city-parent a{text-decoration:underline}.city-parent button{color:#396555;background:#e9efdf;padding:8px 12px}.city-pause{background:#f5e9cd;border:1px solid #dbcaa1;border-radius:14px;margin:10px 0;padding:16px;font-size:14px;line-height:1.7}.city-travel-overlay{z-index:3;background:#eaf5e4e8;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.city-travel-overlay span{font-size:64px;animation:1s ease-in-out infinite cityTraffic}.city-finale{text-align:center;background:#fff3d0;border-radius:22px;margin:16px 0;padding:28px 18px}.city-finale>span{font-size:48px}.city-finale p{margin:10px 0 18px;font-size:13px;line-height:1.9}.city-finale>button:last-child{margin-top:15px;padding:10px 15px;font-size:13px}@keyframes cityGlow{50%{stroke:#e69a45;stroke-width:4px;fill:#fff0b044}}@keyframes cityTraffic{to{transform:translate(12px)}}@keyframes cityBoat{to{transform:translate(18px,3px)}}@media (width<=600px){.city-trail{grid-template-columns:repeat(4,minmax(0,1fr))}.city-toolbar{font-size:12px}.city-toolbar button{padding:5px 8px}.city-play-area{padding:11px}.city-story{min-height:96px}.city-story p{font-size:14px}.city-invitation{gap:10px;padding:14px}.city-invitation>span{font-size:33px}.city-invitation h3{font-size:15px}.city-reward{padding:14px}.city-heading h2{font-size:19px}}@media (prefers-reduced-motion:reduce){.city-journey *,.city-target.suggested:not(.placed) .target-halo{transition:none!important;animation:none!important}}body{font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}:root,.dark{--background:#edf4f5;--foreground:#123743;--card:#fff;--card-foreground:#123743;--popover:#fff;--popover-foreground:#123743;--primary:#087e85;--primary-foreground:#fff;--secondary:#d9eeef;--secondary-foreground:#125963;--muted:#e4eef0;--muted-foreground:#506b75;--accent:#ffcd55;--accent-foreground:#15343e;--border:#ccdfe3;--input:#bdd3d9;--ring:#087e85;--radius:1rem;--font-sans:"PingFang SC","Microsoft YaHei",sans-serif}body{margin:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:16px}button{cursor:pointer}button:disabled{cursor:default}.game{max-width:1600px;margin:auto;padding:24px 28px}.topbar{align-items:center;gap:24px;margin-bottom:24px;display:flex}.topbar h1{letter-spacing:.02em;margin:0;font-size:25px;font-weight:850}.topbar>span{color:#506b75}.pill{background:#d6edef;border-radius:30px;margin-left:auto;padding:8px 15px;font-size:14px}.game-grid{grid-template-columns:minmax(0,1fr) 360px;gap:22px;display:grid}.map-panel{background:#102e3b;border-radius:24px;flex-direction:column;min-height:640px;display:flex;position:relative;overflow:hidden}.map-heading{color:#d1e6e8;justify-content:space-between;padding:24px;font-size:15px;display:flex}.map-heading strong{color:#ffda77}.rail-map{background:#102e3b;flex:1;width:100%;min-height:400px}.map-credit{color:#a9c1c7;padding:15px 20px;font-size:12px}.control-panel{background:#fff;border-radius:24px;padding:26px;box-shadow:0 12px 40px #193f490a}.eyebrow{color:#087e85;margin:0 0 9px;font-size:14px;font-weight:750}.control-panel h2{margin:0 0 20px;font-size:24px;font-weight:800;line-height:1.5}.score-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.score{border:2px solid #0000;border-radius:16px;padding:14px;font-size:14px}.score strong{font-variant-numeric:tabular-nums;font-size:32px;display:block}.score small{font-size:14px;font-weight:400}.orange{color:#8b4c00;background:#fff3d8}.blue{color:#185990;background:#e4f2ff}.dice-stage{text-align:center;padding:22px 0 12px}.die{color:#143c48;font-size:90px;line-height:1.1}.dice-stage p{color:#506b75;margin-top:18px;font-size:14px}.primary-action{width:100%;color:#fff!important;background:#087e85!important;border-radius:15px!important;height:56px!important;font-size:19px!important;font-weight:800!important}.rules-summary{text-align:center;color:#506b75;margin:20px 0;font-size:15px;line-height:1.9}.train-preview{height:80px;position:relative;overflow:hidden}.train-preview img{width:100%;position:absolute;top:0}.train-info{text-align:center;color:#506b75;margin:10px 0 0;font-size:13px}@media (width<=1000px){.game-grid{grid-template-columns:minmax(0,1fr) 320px}.game{padding:18px}.control-panel{padding:20px}}@media (width<=760px){.game{padding:14px}.topbar{flex-wrap:wrap;gap:8px;margin-bottom:14px}.topbar h1{font-size:21px}.topbar>span{font-size:14px}.pill{display:none}.game-grid{grid-template-columns:1fr}.map-panel{min-height:330px}.rail-map{min-height:260px}.map-heading{padding:16px}.control-panel{padding:22px}.dice-stage{padding:16px}.train-preview{max-width:320px;margin:auto}}.brand-icon{color:#fff;background:#087e85;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.topbar>span{align-items:center;gap:9px;display:flex}.header-actions{gap:8px;margin-left:auto;display:flex}.header-actions button{height:40px;font-size:14px}.map-panel{min-height:660px}.map-viewport{flex:1;height:440px;min-height:350px;position:relative;overflow:hidden}.rail-map{width:100%;height:100%;min-height:0;position:absolute;inset:0}.map-heading{align-items:center;padding:18px 22px}.map-toggle{color:#d8f1f2!important;background:#214451!important;border-radius:20px!important;height:36px!important;padding:8px 14px!important;font-size:14px!important}.map-legend{color:#f4fbfa;pointer-events:none;background:#102e3bd9;border-radius:20px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;display:flex;position:absolute;bottom:16px;left:20px}.map-legend i{background:#ffcf56;width:17px;height:3px}.map-legend i:nth-of-type(2){background:#5ad7d3;margin-left:8px}.station-track{border-top:1px solid #ffffff17;flex-wrap:wrap;gap:18px;padding:20px 22px 10px;display:flex}.station-track span{color:#a8c0c6;align-items:center;gap:5px;font-size:14px;display:flex}.station-track small{color:#7c9da6;font-size:12px}.station-track .current{color:#ffcf56;font-weight:800}.station-track .passed{color:#5ad7d3}.control-panel{flex-direction:column;display:flex}.score span{overflow-wrap:anywhere;align-items:center;gap:5px;display:flex}.score>small{font-size:12px}.score.active.orange{border-color:#edb348}.score.active.blue{border-color:#79b8ea}.score strong{margin:4px 0;font-size:34px}.turn-content{flex:1;align-items:center;min-height:225px;display:grid}.physical-die{background:#fff;border:1px solid #d9e4e7;border-radius:23px;grid-template-columns:repeat(3,1fr);gap:9px;width:99px;height:99px;margin:6px auto 19px;padding:19px;display:grid;transform:rotate(-7deg);box-shadow:inset 0 -7px #e4ecee,0 10px #cadbdf,0 15px 25px #193c4b1b}.pip,.empty-pip{background:#184b57;border-radius:50%;width:14px;height:14px}.empty-pip{visibility:hidden}.rolling{animation:.2s infinite alternate diceroll}.roll-result strong{font-size:40px;font-weight:850}.roll-result strong small{font-size:16px}.roll-result p{margin:0!important}.gain{color:#087e85}.loss{color:#c05f16}.rule-badges{color:#557078;justify-content:space-between;gap:9px;margin:19px 0 20px;font-size:13px;display:flex}.rule-badges span{gap:4px;display:grid}.rule-badges b{color:#17575c;font-size:14px}.rule-badges span:last-child b{color:#a2571e}.primary-action{min-height:56px;white-space:normal!important;gap:9px!important;height:auto!important;padding:12px!important}.fleet{border-top:1px dashed #c8dce0;grid-template-columns:repeat(8,1fr);gap:8px 4px;padding-top:16px;display:grid}.mini-car svg{width:100%;height:14px}.mini-car small{text-align:center;color:#5e7881;font-size:12px;display:block}.journey-log{background:#fff;border-radius:22px;margin-top:24px;overflow:hidden}.journey-log>div:first-child{justify-content:space-between;align-items:center;padding:21px 25px;display:flex}.journey-log h3{margin:0;font-size:18px;font-weight:800}.journey-log>div>span{color:#577580;font-size:14px}.log-scroll{max-height:290px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}thead{color:#38616a;z-index:1;background:#e5f0f2;position:sticky;top:0}th,td{border-bottom:1px solid #e7eff1;padding:13px 24px}tbody th{font-weight:650}.current-row{background:#f3fafa}.log-die{color:#126872;background:#e6f1f1;border-radius:5px;margin-right:6px;padding:3px 7px}.log-total{color:#607782;margin-left:15px;font-size:13px}.game-dialog{border-radius:24px!important;gap:18px!important;max-width:min(500px,100% - 32px)!important;padding:28px!important;font-size:16px!important}.game-dialog [data-slot=dialog-title]{font-size:24px;font-weight:850;line-height:1.4}.game-dialog [data-slot=dialog-description]{font-size:16px;line-height:1.7}.rules-list{margin:0;padding-left:22px;list-style:decimal}.rules-list li{padding:5px 0;line-height:1.75}.source-note{color:#5c7780;margin:0;font-size:13px;line-height:1.8}.name-field{gap:8px;font-size:15px;display:grid}.name-field input{height:44px;font-size:16px}.setup-hint{color:#58717a;font-size:14px}.finish-stage,.travel-stage{text-align:center;padding:24px 0}.finish-stage svg{color:#d99511;filter:drop-shadow(0 5px #ffe4a3);margin:auto}.finish-stage p{font-size:16px;line-height:1.7}.finish-stage p:last-child{color:#5c7780;font-size:13px}.travel-stage strong{font-size:20px}.travel-stage p{color:#557078;font-size:14px}.travel-stage .train-preview{height:100px;margin-bottom:14px}.moving{animation:.5s infinite alternate chug}.train-info{margin-top:12px}@keyframes diceroll{0%{transform:rotate(-20deg)translateY(-7px)}to{transform:rotate(20deg)translateY(4px)}}@keyframes chug{0%{transform:translateY(1px)}to{transform:translateY(-3px)}}@media (width<=1000px){.topbar{gap:12px}.topbar h1{font-size:22px}.game-grid{gap:16px}.map-viewport{min-height:390px}.score{padding:12px 10px}.rule-badges{font-size:12px}}@media (width<=760px){.topbar{gap:9px}.topbar h1{font-size:20px}.topbar>span{display:none}.header-actions{gap:0}.header-actions button{padding:8px}.brand-icon{width:37px;height:37px}.map-panel{min-height:0}.map-viewport{flex:none;height:320px;min-height:320px}.map-heading{padding:12px 16px}.station-track{gap:10px 14px;padding:14px 16px 5px}.station-track span{font-size:14px}.map-credit{padding:12px 16px;line-height:1.65}.game-grid{gap:16px}.control-panel h2{min-height:0;margin-bottom:16px}.control-panel{padding:22px}.turn-content{min-height:210px}.rule-badges{font-size:14px}.fleet{grid-template-columns:repeat(16,1fr);gap:4px}.mini-car svg{height:10px}.journey-log>div:first-child{padding:18px;display:block}.journey-log>div:first-child>span{margin-top:7px;display:block}th,td{padding:12px 13px}.log-total{margin:7px 0 0;display:block}.log-die{margin-bottom:5px;display:inline-block}.game-dialog{padding:23px!important}.map-legend{bottom:10px;left:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.map-column{flex-direction:column;gap:16px;min-width:0;display:flex}.map-column .map-panel{flex:1;min-height:440px}.map-column .map-viewport{height:300px;min-height:270px}.map-column .station-track{gap:9px 14px;padding-top:13px}.map-column .map-credit{padding:10px 20px;line-height:1.5}.city-card{background:#fff;border-radius:22px;grid-template-columns:34% 1fr;min-height:196px;display:grid;overflow:hidden}.city-card>img{object-fit:cover;width:100%;height:100%;min-height:196px;max-height:245px}.city-copy{padding:20px 22px}.postcard-kicker{color:#247879;align-items:center;gap:5px;font-size:13px;display:flex}.postcard-kicker span{color:#6b848b;margin-left:auto;font-size:12px}.city-copy h3{margin:8px 0;font-size:21px;font-weight:850}.city-copy>p{color:#44636d;margin:0;font-size:16px;line-height:1.8}.photo-source{color:#587b84;margin-top:9px;font-size:12px}.photo-source summary{cursor:pointer}.photo-source p{margin-top:7px;line-height:1.7}.photo-source a{text-decoration:underline}.mode-label{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.mode-label>span{color:#087e85;background:#e5f4f2;border-radius:20px;padding:5px 12px;font-size:14px;font-weight:800}.mode-label small{color:#607d85;font-size:13px}.solo-score{grid-template-columns:1fr}.solo-score .score{grid-template-columns:1fr auto;align-items:center;padding:13px 18px;display:grid}.solo-score .score strong{grid-area:1/2/3;font-size:40px}.solo-score .score small{grid-column:1}.control-panel h2{min-height:66px;font-size:23px}.section-title{align-items:center;gap:13px;display:flex}.section-title h3{margin:0;font-size:19px;font-weight:850}.section-title p{color:#5e7981;margin:4px 0 0;font-size:14px;line-height:1.7}.section-title>strong{color:#087e85;margin-left:auto;font-size:22px}.passport{background:#fff;border-radius:22px;margin-top:22px;padding:22px 25px}.passport-grid{grid-template-columns:repeat(12,1fr);gap:9px;margin-top:18px;display:grid}.passport-stamp{flex-direction:column;color:#6f8990!important;opacity:.7!important;border:1px dashed #bdd5d9!important;border-radius:14px!important;gap:5px!important;height:68px!important;font-size:14px!important}.passport-stamp.collected{color:#11766e!important;opacity:1!important;background:#eff8f6!important;border-color:#8bc7bb!important}.passport-stamp.selected{box-shadow:0 0 0 2px #2f998b22;background:#d9f1e9!important;border-style:solid!important}.mode-options label{cursor:pointer;border:1px solid #c8dfe3;border-radius:14px;align-items:center;gap:13px;padding:14px;display:flex}.mode-options label:has([data-checked]){background:#e9f7f4;border-color:#158879}.mode-options b{font-size:17px;display:block}.mode-options span{color:#597983;margin-top:3px;font-size:14px;display:block}.movie-section{background:#fff;border-radius:22px;margin-top:22px;padding:25px}.movie-canvas,.journey-video{aspect-ratio:16/9;background:#0d303e;border-radius:16px;width:100%;max-width:1000px;margin:20px auto 0;display:block}.movie-canvas.hidden{display:none}.movie-progress{max-width:1000px;margin:20px auto}.movie-progress p{color:#087e85;margin:10px 0 4px;font-size:15px}.movie-progress>span{color:#597883;font-size:14px}.movie-progress>button{margin-left:12px}.movie-actions{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.movie-actions>span{color:#597883;font-size:14px}.download-button{color:#fff;background:#087e85;border-radius:12px;align-items:center;gap:8px;padding:13px 22px;font-weight:750;display:inline-flex}.movie-error{padding-top:15px}.city-image-loading{color:#aeced0;background:#173c47;place-items:center;font-size:14px;display:grid}@media (width<=1050px){.passport-grid{grid-template-columns:repeat(6,1fr)}.city-card{grid-template-columns:32% 1fr}.city-copy{padding:16px}.city-copy>p{font-size:15px}.postcard-kicker span{display:none}.map-column .map-panel{min-height:480px}}@media (width<=760px){.map-column .map-panel{min-height:0}.map-column .map-viewport{height:280px;min-height:280px}.city-card{grid-template-columns:30% 1fr;min-height:170px}.city-card>img{min-height:170px;max-height:none}.city-copy h3{font-size:19px}.city-copy>p{font-size:14px;line-height:1.7}.passport{padding:20px}.passport-grid{grid-template-columns:repeat(4,1fr)}.passport-stamp{height:62px!important}.movie-section{padding:18px}.movie-actions{flex-wrap:wrap}.section-title p,.header-actions button{font-size:13px}.control-panel h2{min-height:0}.topbar h1{font-size:18px}.brand-icon{width:32px;height:36px}.movie-progress>button{margin:8px 0 0}.section-title>strong{white-space:nowrap;font-size:18px}}.movie-license{color:#587982;text-align:center;margin-top:13px;font-size:12px;line-height:1.8}.movie-license a{text-decoration:underline}.city-card>img{object-fit:contain;background:#173c47}.listen-city{margin-top:6px;color:#0a7775!important;height:32px!important;padding:0!important;font-size:13px!important}.sound-notice{color:#916221;background:#fff5d9;border-radius:8px;margin:0 0 10px;padding:8px;font-size:13px;line-height:1.6}@media (width<=760px){.header-actions{flex-wrap:wrap}.header-actions button span{display:none}.header-actions button:last-child span{display:inline}}.map-heading{gap:14px}.map-heading>span{min-width:0;line-height:1.6}.map-toggle{flex-shrink:0}.travel-stage .rail-narration{color:#176775;margin:12px 0;font-size:16px;line-height:1.7}.rail-details{color:#557078;margin:8px 0 14px;font-size:14px;line-height:1.7}.rail-details summary{cursor:pointer}.rail-details p{margin-top:6px}.playground-return{color:#176775;justify-content:space-between;gap:16px;max-width:1600px;margin:0 auto;padding:16px 28px 0;font-size:14px;display:flex}.playground-return a{text-decoration:none}.playground-return a:hover{text-decoration:underline}.journey-switch,.family-game{max-width:1280px;margin:auto;padding:24px 28px}.journey-switch{padding-bottom:0}.journey-switch>div:first-child p{color:#087e85;margin:0 0 8px;font-size:14px;font-weight:750}.journey-switch h1{margin:0 0 20px;font-size:clamp(25px,4vw,36px);font-weight:850;line-height:1.4}.route-tabs{flex-wrap:wrap;gap:10px;display:flex}.route-tabs button{color:#28545f;background:#fff;border:1px solid #b6d4d8;border-radius:16px;min-height:48px;padding:13px 20px;font-size:16px}.route-tabs button[aria-pressed=true]{color:#fff;background:#087e85;border-color:#087e85}.offline-pack{align-items:center;gap:14px;margin-top:16px;display:flex}.offline-pack button{white-space:normal;min-height:40px}.offline-pack p{color:#587982;margin:0;font-size:13px;line-height:1.6}.expedition{background:#f9fcfc;border:1px solid #c6dfe3;border-radius:24px;margin-top:22px;padding:25px}.family-expedition{margin-top:0}.expedition-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.expedition-heading h2{margin:0;font-size:28px;font-weight:850;line-height:1.5}.expedition-heading>div>p:last-child{color:#577780;margin:6px 0 0;font-size:15px}.connection-pill{white-space:nowrap;color:#1c7562;background:#e3f2ec;border-radius:20px;padding:8px 12px;font-size:13px}.expedition-settings{background:#fff;border:1px solid #c9dde1;border-radius:14px;margin-bottom:20px;padding:14px 16px}.expedition-settings summary,.knowledge-card summary,.reset-expedition summary{cursor:pointer;font-weight:650;line-height:1.6}.explorer-settings,.ticket-fields{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:16px;display:grid}.ticket-fields{grid-template-columns:repeat(4,1fr)}.explorer-settings label,.ticket-fields label{gap:7px;font-size:14px;display:grid}.explorer-settings input,.ticket-fields input,.discovery-note input{height:42px;font-size:16px}.explorer-settings select{background:#fff;border:1px solid #bdd3d9;border-radius:9px;min-width:0;padding:9px;font-size:16px}.parent-note{color:#587580;font-size:13px;line-height:1.7}.trip-stops{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.trip-stops button{text-align:left;color:#3d6570;background:#e9f1f3;border:2px solid #0000;border-radius:18px;gap:7px;min-width:0;padding:18px;display:grid;position:relative}.trip-stops button.selected{background:#def2ec;border-color:#087e85}.trip-stops button>span{color:#087e85;font-size:13px}.trip-stops strong{font-size:24px}.trip-stops small{overflow-wrap:anywhere;font-size:13px}.trip-schematic{color:#627d86;margin:9px 0 22px;font-size:12px}.exploration-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;display:grid}.mission-card,.copilot-card{background:#fff;border:1px solid #d0e0e4;border-radius:20px;min-width:0;padding:24px}.mission-card h3,.copilot-card h3{margin:0 0 10px;font-size:22px;font-weight:800;line-height:1.5}.mission-card>p:not(.eyebrow){margin:10px 0 18px;line-height:1.8}.mission-choices{gap:10px;display:grid}.mission-choices button{white-space:normal;text-align:left;justify-content:flex-start;height:auto;min-height:48px;padding:12px 16px;font-size:16px;line-height:1.6}.mission-choices button[aria-pressed=true]{color:#0d735f;background:#e4f6ee;border-color:#128e7d}.mission-feedback{color:#795b20;background:#fff6dc;border-radius:12px;padding:14px;font-size:15px}.parent-partner{background:#eaf3f7;border-radius:12px;margin-top:18px;padding:13px 16px}.parent-partner b{color:#346b80;font-size:13px}.parent-partner p{margin:5px 0 0;font-size:14px;line-height:1.8}.knowledge-card{color:#456b76;margin-top:18px;font-size:14px}.knowledge-card p{margin:10px 0;line-height:1.8}.knowledge-card a{font-size:12px;text-decoration:underline}.discovery-note{gap:9px;margin-top:20px;font-size:14px;display:grid}.trip-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.trip-actions button{white-space:normal;height:auto;min-height:42px;padding:10px 14px}.trip-actions span{color:#577780;font-size:13px}.copilot-title{align-items:center;gap:14px;margin-bottom:18px;display:flex}.copilot-title>span{background:#fff3ce;border-radius:16px;padding:8px;font-size:30px}.copilot-title h3{margin:0;font-size:20px}.copilot-title p{color:#577780;margin:4px 0 0;font-size:13px}.chat-lines{overscroll-behavior:contain;flex-direction:column;gap:12px;max-height:340px;display:flex;overflow:auto}.copilot-welcome{color:#53717b;margin:0 0 15px;font-size:15px;line-height:1.8}.chat-line{overflow-wrap:anywhere;background:#edf5f6;border-radius:14px;padding:13px 16px}.chat-line.user{background:#fff3d5;align-self:flex-end}.chat-line small,.copilot-response small{color:#567781;margin-bottom:5px;font-size:12px;display:block}.chat-line p,.copilot-response{white-space:pre-wrap;margin:0;font-size:15px;line-height:1.9}.copilot-response{margin-top:15px}.suggested-question{white-space:normal;justify-content:flex-start;width:100%;height:auto;min-height:40px;margin:16px 0 14px;padding:9px 12px;font-size:14px;line-height:1.6}.copilot-form{gap:9px;display:grid}.copilot-form label{font-size:14px;font-weight:650}.copilot-form textarea{resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #bdd3d9;border-radius:12px;width:100%;min-height:84px;max-height:220px;padding:12px;font-size:16px;line-height:1.6}.copilot-form>button{height:42px;font-size:16px}.copilot-notice{color:#8a6a30;min-height:20px;margin:10px 0;font-size:13px;line-height:1.7}.pause-trip{flex-wrap:wrap;align-items:center;gap:16px;margin:22px 0;display:flex}.pause-trip button{height:auto;min-height:42px;padding:10px 14px}.pause-trip p{color:#7b6228;margin:0;font-size:14px}.discovery-passport{background:#fff;border:1px solid #d0e0e4;border-radius:20px;margin-top:22px;padding:22px}.discovery-badges{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.discovery-badges span{color:#755319;background:#fff3d1;border-radius:30px;padding:10px 14px;font-size:14px}.diary-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.diary-actions button{white-space:normal;height:auto;min-height:42px;padding:10px 14px}.travel-story{background:#f2f8f5;border-radius:16px;margin-top:20px;padding:20px}.travel-story>span{color:#41826f;font-size:12px}.travel-story p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:2}.save-notice{color:#617f88;margin-top:14px;font-size:12px;line-height:1.7}.reset-expedition{color:#6c7f86;margin-top:16px;font-size:13px}.reset-expedition p{line-height:1.8}.reset-expedition button{height:auto;min-height:38px;margin-top:8px;padding:10px;font-size:13px}button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d9a426}@media (width<=800px){.journey-switch,.family-game{padding:20px 14px}.journey-switch{padding-bottom:0}.expedition{padding:18px}.expedition-heading{flex-wrap:wrap}.expedition-heading h2{font-size:24px}.exploration-grid,.explorer-settings{grid-template-columns:1fr}.ticket-fields{grid-template-columns:1fr 1fr}.mission-card,.copilot-card{padding:19px}.trip-stops{gap:8px}.trip-stops button{padding:13px 10px}.trip-stops strong{font-size:21px}.trip-stops small{font-size:12px}.offline-pack{flex-direction:column;align-items:flex-start;gap:7px}.route-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.route-tabs button{padding:10px;font-size:14px;line-height:1.6}.discovery-passport{padding:18px}.diary-actions{grid-template-columns:1fr;display:grid}.discovery-note input{font-size:16px}.connection-pill{padding:6px 10px}}.family-train-stage{background:linear-gradient(135deg,#e0f3ee,#fff6d9);border-radius:16px;margin-bottom:16px;padding:14px 20px;overflow:hidden}.family-train-stage>p{color:#367967;margin:0;font-size:13px;font-weight:750}.family-track{height:74px;margin-top:8px;position:relative}.family-track:after{content:"";background:repeating-linear-gradient(90deg,#64908a 0 4px,#0000 4px 12px);border-top:2px solid #64908a;border-bottom:2px solid #64908a;height:7px;position:absolute;bottom:7px;left:10%;right:10%}.family-train{width:130px;transition:left .7s;position:absolute;bottom:15px;transform:translate(-50%)}.family-train svg{width:100%;height:47px;display:block}.family-train{filter:drop-shadow(0 3px 2px #376c6722)}@media (width<=800px){.family-train{width:90px}.family-train svg{height:33px}.family-track{height:57px}.family-train-stage{padding:13px 12px}}.adventure-switch{max-width:880px}.adventure-switch h1{margin-bottom:14px;font-size:clamp(24px,4vw,32px)}.adventure-switch .route-tabs button{min-height:43px;padding:10px 15px}.rail-adventure{max-width:880px;margin:auto;padding:18px 28px 8px}.adventure-status{align-items:center;gap:12px;margin-bottom:12px;font-size:15px;display:flex}.chapter-badge{color:#23685a;background:#d6ede5;border-radius:20px;padding:8px 12px;font-weight:750}.star-count{color:#b27d15;margin-left:auto;font-size:22px;font-weight:850}.ticket-count{white-space:nowrap;font-size:16px;font-weight:750}.adventure-status>button{height:40px;font-size:21px}.adventure-stage{background:#fff;border:1px solid #d6e6df;border-radius:26px;position:relative;overflow:hidden;box-shadow:0 8px 30px #254e4210}.adventure-world{background:#d7ede2;position:relative;overflow:hidden}.world-picture{touch-action:manipulation;width:100%;height:auto;display:block}.world-target{cursor:pointer;touch-action:manipulation;outline:none}.world-target:focus-visible>rect{stroke:#ec9c24;stroke-width:6px}.world-target[aria-disabled=true]{cursor:default}.bridge-rotation{transition:transform .25s}.story-train{transition:transform .8s ease-in}.story-train.departing{animation:1.2s ease-in-out forwards train-visit}.rail-story{align-items:flex-start;gap:15px;padding:19px 24px 10px;display:flex}.story-actor{background:#fff3ce;border:2px solid #f0ddb0;border-radius:20px;flex:0 0 66px;place-items:center;width:66px;height:68px;font-size:43px;display:grid}.rail-story small{color:#597780;font-size:12px;font-weight:700}.rail-story h2{margin:2px 0 6px;font-size:23px;font-weight:850;line-height:1.5}.rail-story p{color:#2f5862;margin:0;font-size:17px;line-height:1.8}.adventure-controls,.adventure-start,.adventure-reward,.adventure-finish,.adventure-pause{padding:14px 24px 24px}.adventure-start p{color:#71857b;text-align:center;margin:12px 0 0;font-size:13px;line-height:1.6}.big-play{width:100%;min-height:57px;line-height:1.5;box-shadow:0 5px #126e5d;white-space:normal!important;color:#fff!important;background:#1b8c76!important;border-radius:17px!important;height:auto!important;padding:14px 18px!important;font-size:19px!important;font-weight:800!important}.big-play:active{transform:translateY(3px);box-shadow:0 2px #126e5d}.big-lever{grid-template-rows:1fr 1fr;grid-template-columns:65px 1fr;column-gap:14px;width:100%;color:#765126!important;text-align:left!important;background:#f6edcf!important;border:2px solid #e1c889!important;border-radius:17px!important;height:95px!important;padding:12px 20px!important;display:grid!important}.big-lever b{grid-column:2;justify-self:start;font-size:19px}.big-lever small{grid-column:2;justify-self:start;font-size:14px;font-weight:500}.lever-handle{transform-origin:50% 52px;grid-area:1/1/3;justify-content:center;align-items:flex-start;height:61px;font-size:34px;transition:transform .3s;display:flex;position:relative;transform:rotate(-27deg)}.lever-handle:after{content:"";background:#8e6d48;border-radius:5px;width:9px;height:42px;position:absolute;top:19px}.track-1 .lever-handle{transform:rotate(27deg)}.gesture-hint{text-align:center;color:#387568;margin:0 0 10px;font-size:16px;line-height:1.7}.play-hint{color:#71877b;min-height:21px;margin:12px 0;font-size:13px;line-height:1.6}.play-hint.has-hint{color:#7f6128;background:#fff4d9;border-radius:10px;padding:10px 13px;font-size:15px}.cargo-passengers{justify-content:center;gap:14px;display:flex}.cargo-passengers button{width:100px;position:relative;background:#fffdf7!important;border:2px solid #d7ded5!important;border-radius:18px!important;height:86px!important}.cargo-passengers button>span{font-size:40px;line-height:1}.cargo-passengers button>b{filter:drop-shadow(0 0 2px #fff);font-size:31px;position:absolute;bottom:4px;right:9px}.cargo-passengers button[aria-pressed=true]{transform:translateY(-5px);background:#fff1c7!important;border-color:#e8b43a!important}.cargo-passengers button:disabled{opacity:1!important;background:#dff1e6!important}.partner-turn{text-align:center;color:#765b2c;margin:12px 0 0;font-size:14px;font-weight:700}.reward-message{color:#8e631d;justify-content:center;align-items:center;gap:13px;margin:0 0 10px;font-size:19px;display:flex}.reward-message>span{font-size:38px;animation:.6s ease-out star-pop}.tiny-discovery{color:#577065;background:#f2f8ec;border-radius:12px;margin:0 0 18px;padding:12px 15px;font-size:14px;line-height:1.8}.train-gifts{flex-wrap:wrap;gap:8px;margin-bottom:21px;display:flex}.train-gifts p{width:100%;margin:0 0 5px;font-size:15px;font-weight:700}.train-gifts button{flex-direction:column;flex:1;min-width:95px;min-height:84px;font-size:14px;background:#fcfbf4!important;border:2px solid #d9dcd4!important;border-radius:14px!important;height:auto!important;padding:10px 8px!important;display:flex!important}.train-gifts button span{font-size:27px}.train-gifts button[aria-pressed=true]{background:#fff0c0!important;border-color:#dcad35!important}.adventure-bottom{flex-wrap:wrap;justify-content:space-between;gap:5px;margin:15px 0 8px;display:flex}.adventure-bottom button{height:37px;padding:8px 10px;font-size:13px}.parent-corner{color:#607a70;padding:12px 0;font-size:13px;line-height:1.8}.parent-corner summary{cursor:pointer}.parent-corner>p{margin:9px 0}.collected-facts{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.collected-facts article{background:#fff;border-radius:13px;padding:14px}.collected-facts article>span{margin-right:8px;font-size:24px}.collected-facts article p{margin:5px 0 0}.travel-preparation{color:#6b8175;max-width:880px;margin:auto;padding:8px 28px 30px;font-size:13px;line-height:1.7}.travel-preparation summary{cursor:pointer}.travel-preparation .offline-pack{margin:12px 0}.legacy-dice{color:#326b58;background:#fff;border:1px solid #a9c9bb;border-radius:10px;margin-top:10px;padding:9px 12px}.travel-overlay{color:#2b705c;background:#dcf0e8d9;flex-direction:column;justify-content:center;align-items:center;gap:15px;display:flex;position:absolute;inset:0}.travel-overlay>span{font-size:65px;animation:.5s infinite alternate train-chug}.travel-overlay strong{font-size:24px}.travel-overlay i{background:#aacfb8;width:20%;height:2px;animation:1s linear infinite speed-line;position:absolute;top:70%;right:-20%}.travel-overlay i:nth-last-child(2){animation-delay:.3s;top:47%}.travel-overlay i:last-child{animation-delay:.6s;top:30%}.travel-caption{text-align:center;color:#46806a;padding:20px;font-size:17px;line-height:1.6}.adventure-pause{text-align:center}.adventure-pause>span{font-size:48px}.adventure-pause h3{margin:8px 0;font-size:22px;font-weight:800}.adventure-pause p{color:#698075;font-size:15px}.adventure-pause button{height:49px;margin-top:12px;padding:14px;font-size:16px}.adventure-stage.paused .adventure-world{opacity:.55}.earned-tickets{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:23px;display:flex}.earned-tickets span{text-align:center;background:#fff1c1;border:2px dashed #d6b75d;border-radius:14px;gap:7px;min-width:88px;padding:15px;font-size:35px;display:grid}.earned-tickets b{color:#8c6821;font-size:15px}.adventure-finish>button:last-child{height:43px;margin:17px auto 0;font-size:15px;display:flex}.reward-star{transform-box:fill-box;transform-origin:50%;animation:.8s ease-out infinite alternate star-pop}@keyframes train-visit{0%{transform:translate(0)}to{transform:translate(var(--arrival-x,600px),var(--arrival-y,0px))}}@keyframes star-pop{0%{opacity:.4;scale:.65}to{opacity:1;scale:1.05}}@keyframes train-chug{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}@keyframes speed-line{to{right:110%}}@media (width<=700px){.adventure-switch{padding:17px 12px 0}.adventure-switch>div:first-child p{margin-bottom:4px;font-size:12px}.adventure-switch h1{font-size:24px}.adventure-switch .route-tabs button{min-height:42px;padding:8px 10px;font-size:13px}.rail-adventure{padding:14px 12px 4px}.adventure-status{gap:7px;font-size:13px}.chapter-badge{padding:7px 10px;font-size:12px}.star-count{font-size:20px}.ticket-count{font-size:13px}.adventure-status>button{padding:7px}.adventure-stage{border-radius:20px}.rail-story{gap:11px;padding:15px 15px 7px}.story-actor{border-radius:16px;flex-basis:50px;width:50px;height:55px;font-size:34px}.rail-story h2{font-size:20px}.rail-story p{font-size:15px;line-height:1.8}.rail-story small{font-size:11px}.adventure-controls,.adventure-start,.adventure-reward,.adventure-finish,.adventure-pause{padding:12px 15px 22px}.big-play{min-height:54px;padding:12px!important;font-size:17px!important}.big-lever{height:86px!important;padding:9px 16px!important}.big-lever b{font-size:17px}.big-lever small{font-size:13px}.gesture-hint{font-size:14px}.play-hint{margin:10px 0;font-size:12px}.cargo-passengers{gap:10px}.cargo-passengers button{width:85px;height:78px!important}.cargo-passengers button>span{font-size:35px}.cargo-passengers button>b{font-size:27px}.adventure-bottom button{padding:7px;font-size:12px}.reward-message{gap:8px;font-size:17px}.reward-message>span{font-size:31px}.tiny-discovery{padding:10px 12px;font-size:13px}.train-gifts button{min-width:85px;min-height:75px;font-size:13px}.travel-preparation{padding:7px 12px 25px}.parent-corner{font-size:12px}.collected-facts{gap:9px}.collected-facts article{padding:12px}.world-picture{min-height:180px}.travel-overlay>span{font-size:50px}.travel-overlay strong{font-size:20px}}.story-train,.world-wish{pointer-events:none}.cargo-train.departing{animation:1.2s ease-in-out forwards train-visit}.world-wish{animation:1.4s infinite alternate train-chug}.world-target:active{opacity:.8}.story-train.rocket.departing{animation-duration:.9s}@media (prefers-reduced-motion:reduce){.story-train.departing,.cargo-train.departing{transform:translate(var(--arrival-x,600px),var(--arrival-y,0px))}.reward-star{opacity:1}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
