*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#3f342b;background:#b8ddef;font-family:ui-rounded,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif}.ui{pointer-events:none;position:fixed;inset:0}.world-header{color:#3e3329;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:20px;left:22px;right:22px}.world-header h1,.world-header p{margin:0}.world-header h1{letter-spacing:.06em;color:#fff;text-shadow:0 2px 10px #3c281966;font-family:Noto Sans SC,PingFang SC,ui-rounded,sans-serif;font-size:clamp(26px,3.4vw,40px);font-weight:900}.weather-chip{border-left:1px solid #8d694f40;align-items:center;gap:5px;margin-left:9px;padding-left:9px;display:inline-flex}.weather-icon{stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.25em;height:1.25em;overflow:visible}.weather-icon .wi-sun{fill:none;stroke:#e8a33c;stroke-width:1.7px}.weather-icon .wi-cloud{fill:#ffffffe6;stroke:#6f8ea3;stroke-width:1.6px}.weather-icon .wi-line{fill:none;stroke:#5f93b8;stroke-width:1.7px}.weather-icon .wi-dot{fill:#7fb2d4;stroke:none}.weather-icon .wi-bolt{fill:#e8a33c;stroke:none}.world-kicker,.dialog-kicker{letter-spacing:.14em;color:#8d694f;font-size:10px;font-weight:800}.date-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffbf1b3;border:1px solid #ffffffb8;border-radius:14px;align-items:center;padding:9px 13px;font-size:13px;font-weight:700;display:flex;box-shadow:0 8px 20px #45677721}.hint{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;pointer-events:auto;background:#304240b3;border-radius:999px;padding:8px 18px;font-size:14px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hint-button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hint-button:hover{text-decoration:underline}.cam-nav{pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;bottom:22px;left:22px}.cam-nav-group{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#304240b3;border-radius:12px;display:flex;overflow:hidden}.cam-nav-group button+button{border-left:1px solid #ffffff2e}.cam-nav button{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 13px;font-size:16px;font-weight:700;transition:background .15s}.cam-nav button:hover{background:#ffffff29}.cam-nav-reset{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#304240b3;border-radius:12px;padding:9px 12px!important;font-size:12px!important}.build-stamp{color:#ffffff8c;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 1px 2px #00000073;align-self:center;padding:0 4px;font-size:10px}.customize-entry{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font:inherit;cursor:pointer;background:#304240b3;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.customize-entry:hover{background:#3f5652e6;transform:translateY(-1px)}.customize-entry-avatar{object-fit:cover;object-position:50% 18%;background:#ffffff24;border-radius:50%;width:22px;height:22px}.customize-entry.is-new{border-color:#ffd766e6;box-shadow:0 0 12px #ffd76666}.dialog.customize{gap:0;max-width:560px}.customize-kicker{color:#b98a4e;letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.dialog.customize h2{margin:6px 0 4px;font-size:22px}.customize-lead{color:#6f6257;margin:0 0 6px;font-size:13px;line-height:1.6}.customize-step{border-top:1px solid #78645024;padding:14px 0 4px}.customize-step h3{margin:0 0 10px;font-size:14px;font-weight:700}.customize-cast{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cast-tile{color:inherit;font:inherit;cursor:pointer;background:#fdf7ee;border:1px solid #78645038;border-radius:14px;justify-items:center;gap:2px;padding:6px 6px 8px;transition:border-color .15s,background .15s,transform .15s;display:grid}.cast-tile img{aspect-ratio:1;object-fit:contain;background:linear-gradient(#f6efe4 0%,#efe4d3 100%);border-radius:10px;width:100%}.cast-tile span{font-size:12px;font-weight:600}.cast-tile:hover{border-color:#e9865d99;transform:translateY(-1px)}.cast-tile.is-on{background:#fff1e2;border-color:#e9865d;box-shadow:inset 0 0 0 1px #e9865d59}.customize-input{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:#fffaf2;border:1px solid #7864504d;border-radius:10px;padding:9px 12px;font-size:14px}.customize-input:focus{outline-offset:1px;outline:2px solid #e9865d80}.customize-note{color:#8b7d6f;margin:8px 0 0;font-size:12px}.customize-options{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.customize-option{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fffaf2;border:1px solid #78645038;border-radius:12px;gap:3px;padding:9px 11px;transition:border-color .15s,background .15s;display:grid}.customize-option strong{font-size:13px}.customize-option span{color:#8b7d6f;font-size:11px}.customize-option:hover{border-color:#e9865d99}.customize-option.is-on{background:#fff1e2;border-color:#e9865d;box-shadow:inset 0 0 0 1px #e9865d59}.customize-role-input{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-bottom:1px dashed #78645066;margin-top:2px;padding:3px 2px;font-size:12px}.customize-role-input:focus{border-bottom-color:#e9865d;outline:none}label.customize-option{cursor:text}.customize-zones{gap:6px;display:grid}.customize-zone{opacity:.55;background:#fdf7ee;border:1px solid #7864502e;border-radius:12px;grid-template-columns:26px 56px 1fr auto;align-items:center;gap:8px;padding:6px 8px;transition:opacity .15s,border-color .15s,background .15s;display:grid}.customize-zone.is-on{opacity:1;background:#fff1e2;border-color:#e9865d8c}.customize-zone-toggle{color:#e9865d;width:22px;height:22px;font:inherit;cursor:pointer;background:#fff;border:1px solid #78645066;border-radius:7px;font-size:13px;font-weight:800;line-height:1}.customize-zone.is-on .customize-zone-toggle{color:#fff;background:#e9865d;border-color:#e9865d}.customize-zone-place{color:#8b7d6f;white-space:nowrap;font-size:12px}.customize-zone-input{box-sizing:border-box;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-bottom:1px dashed #78645059;padding:5px 2px;font-size:13px}.customize-zone-input:focus{border-bottom-color:#e9865d;outline:none}.customize-zone-source{background:#fff;border:1px solid #78645047;border-radius:999px;display:inline-flex;overflow:hidden}.customize-zone-source button{color:#8b7d6f;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:11px;line-height:1.5}.customize-zone-source button.is-on{color:#fff;background:#e9865d;font-weight:700}.customize-actions{justify-content:flex-end;padding-top:16px;display:flex}.customize-done{color:#fff;font:inherit;cursor:pointer;background:#e9865d;border:0;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:700;transition:filter .15s}.customize-done:hover:not(:disabled){filter:brightness(1.06)}.customize-done:disabled{cursor:not-allowed;background:#cfc3b6}.sample-hint{background:#fdf7ee;border:1px dashed #78645066;border-radius:12px;gap:6px;padding:12px 14px;display:grid}.sample-hint p{color:#6f6257;margin:0;font-size:13px;line-height:1.7}.sample-hint code{background:#7864501f;border-radius:6px;padding:1px 6px;font-size:12px}.cast-pick{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:42vw;display:flex;position:absolute;bottom:22px;right:22px}.cast-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font:inherit;cursor:pointer;background:#304240b3;border:1px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:flex}.cast-chip:hover{background:#3f5652d9;transform:translateY(-1px)}.cast-chip.is-on{background:#486058e6;border-color:#ffd766e6;box-shadow:0 0 10px #ffd76659}.cast-emoji{font-size:16px}@media (width<=640px){.cast-pick{gap:4px;max-width:50vw}.cast-name{display:none}}.zone-label{--zone-accent:#ffd766;border:1px solid color-mix(in srgb, var(--zone-accent) 60%, #fff);min-width:84px;box-shadow:0 7px 16px #2326203d, 0 0 10px color-mix(in srgb, var(--zone-accent) 45%, transparent), inset 0 0 10px color-mix(in srgb, var(--zone-accent) 20%, transparent);color:#fff8e8;font:inherit;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;background:#41342ac2;border-radius:12px;gap:2px;padding:7px 10px 8px;transition:transform .18s,box-shadow .18s;display:grid}.zone-label:hover{box-shadow:0 9px 20px #23262047, 0 0 22px color-mix(in srgb, var(--zone-accent) 85%, transparent), inset 0 0 14px color-mix(in srgb, var(--zone-accent) 34%, transparent);transform:scale(1.08)}.zone-label:focus-visible{outline-offset:3px;outline:2px solid #fff8e8}.zone-label.is-near{animation:1.8s ease-in-out infinite zone-pulse}@keyframes zone-pulse{0%,to{box-shadow:0 7px 16px #2326203d, 0 0 14px color-mix(in srgb, var(--zone-accent) 60%, transparent), inset 0 0 10px color-mix(in srgb, var(--zone-accent) 22%, transparent)}50%{box-shadow:0 7px 16px #2326203d, 0 0 28px color-mix(in srgb, var(--zone-accent) 95%, transparent), inset 0 0 16px color-mix(in srgb, var(--zone-accent) 40%, transparent)}}@media (prefers-reduced-motion:reduce){.zone-label,.zone-label.is-near{transition:none;animation:none}}.zone-label strong{letter-spacing:.04em;font-size:13px;font-weight:700}.zone-label span{color:#ead7bc;font-size:10px}.dialog-close:focus-visible{outline-offset:2px;outline:3px solid #315b90}.loading{background:linear-gradient(#9fd3f5,#cfeaf7);place-items:center;display:grid;position:absolute;inset:0}.loading-card{color:#345;background:#fff;border-radius:16px;padding:14px 28px;font-size:15px;box-shadow:0 10px 30px #3c5a7840}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:#0f161e59;place-items:center;display:grid;position:absolute;inset:0}.dialog{color:#3a3a3a;background:#fffdf8;border:1px solid #ffffffeb;border-radius:24px;width:min(520px,100vw - 48px);max-height:70vh;padding:29px 30px 26px;animation:.18s ease-out pop;position:relative;overflow:auto;box-shadow:0 24px 60px #0a141e59}@keyframes pop{0%{opacity:0;transform:scale(.92)translateY(8px)}}.dialog h2{margin:0;font-size:28px}.dialog p{margin:10px 0;font-size:15px;line-height:1.75}.dialog-heading{justify-content:space-between;align-items:center;gap:18px;margin:4px 24px 14px 0;display:flex}.dialog-metric{background:color-mix(in srgb, var(--section-accent) 15%, white);color:#524235;text-align:right;border-radius:16px;min-width:94px;padding:8px 10px}.dialog-metric strong,.dialog-metric span{display:block}.dialog-metric strong{font-size:18px}.dialog-metric span{color:#806d5d;margin-top:2px;font-size:10px}.highlight-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0;display:grid}.highlight-card{background:#f8f0e5;border-radius:14px;min-height:72px;padding:11px}.highlight-card span,.highlight-card strong{display:block}.highlight-card span{color:#857364;font-size:11px}.highlight-card strong{color:#4a3b2f;margin-top:7px;font-size:15px}.task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task-list li{background:#fffaf1;border-radius:12px;padding:11px 13px 11px 34px;font-size:14px;line-height:1.45;position:relative}.task-list li:before{border:2px solid var(--section-accent);content:"";border-radius:4px;width:11px;height:11px;position:absolute;top:13px;left:13px}.skill-library{margin-top:20px}.skill-library-title{color:#66524a;font-weight:800;margin:0 0 10px!important;font-size:13px!important}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.skill-card{background:#fffaf2;border:1px solid #f0e3d6;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:112px;padding:12px;display:flex}.skill-card h3,.skill-card p{margin:0}.skill-card h3{color:#45382f;font-size:13px}.skill-card p{color:#77685d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;display:-webkit-box;overflow:hidden;font-size:11px!important;line-height:1.45!important}.skill-card span{color:#8d6fa0;margin-top:10px;font-size:10px;font-weight:800}.dialog-close{color:#999;cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1;position:absolute;top:10px;right:14px}.dialog-close:hover{color:#333}@media (width<=680px){.world-header{top:14px;left:14px;right:14px}.world-kicker{font-size:8px}.date-chip{padding:7px 9px;font-size:11px}.hint{text-overflow:ellipsis;max-width:calc(100vw - 28px);bottom:14px;overflow:hidden}.dialog{width:min(520px,100vw - 24px);max-height:78vh;padding:24px 20px 20px}.dialog h2{font-size:24px}.highlight-grid{grid-template-columns:1fr}.highlight-card{min-height:55px}.skill-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.topic-list-wrap{margin-top:18px}.topic-list-title{color:#66524a;font-weight:800;margin:0 0 10px!important;font-size:13px!important}.topic-empty{color:#97826f;font-size:13px!important}.topic-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.topic-card{color:inherit;background:#fffaf1;border:1px solid #f4e6d2;border-radius:13px;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:10px 12px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.topic-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px #785a3c24}.topic-kind{color:#fff;text-align:center;background:#f1ac51;border-radius:8px;grid-row:span 3;min-width:34px;padding:4px 6px;font-size:10px;font-weight:800}.topic-kind-blog{background:#58aeb0}.topic-kind-podcast{background:#9a72b7}.topic-title{color:#45382f;font-size:13px;font-weight:700;line-height:1.45}.topic-angle{color:#857364;font-size:12px;line-height:1.5}.topic-meta{color:#97826f;font-size:11px}.content-progress{gap:14px;margin-top:18px;display:grid}.platform-block{background:#fffaf2;border:1px solid #f0e3d6;border-radius:16px;padding:14px}.platform-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.platform-head strong{color:#45382f;font-size:14px}.platform-head span{color:#857364;font-size:11px}.platform-bar{background:#f1e4d3;border-radius:999px;height:10px;overflow:hidden}.platform-bar-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--platform-accent) 70%, #fff), var(--platform-accent));border-radius:999px;height:100%;transition:width .25s}.platform-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.content-check{cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:9px;padding:7px 9px;display:flex}.content-check input{opacity:0;pointer-events:none;position:absolute}.content-check-box{border:2px solid var(--platform-accent);color:#fff;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;line-height:1;display:grid}.content-check.is-done .content-check-box{background:var(--platform-accent)}.content-check-title{color:#45382f;font-size:13px}.content-check.is-done .content-check-title{color:#9c8a78;text-decoration:line-through}.content-check-note{color:#a08d7a;white-space:nowrap;margin-left:auto;font-size:11px}.travel-map-wrap{margin-top:18px}.travel-globe{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:min(320px,100%);margin:0 auto;display:block}.travel-globe:active{cursor:grabbing}.globe-rim{fill:none;stroke:#ffffffd9;stroke-width:2px}.map-land{fill:#cdd9b4}.map-marker text{fill:#5a4632;text-anchor:middle;paint-order:stroke;stroke:#fffdf6e6;stroke-width:2.2px;pointer-events:none;font-size:6.8px;font-weight:800}.map-marker-visited circle{fill:#f1ac51}.map-marker-halo{fill:#f1ac51;opacity:.35;transform-origin:50%;transform-box:fill-box;animation:2s ease-in-out infinite map-pulse}@keyframes map-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:.12;transform:scale(1.15)}}.map-marker-planned circle{fill:none;stroke:#5b7fc0;stroke-width:1.1px;stroke-dasharray:1.6 1.2}.map-marker-planned text{fill:#46608f}.travel-globe-hint{color:#a08d7a;text-align:center;margin:8px 0 0!important;font-size:11px!important}.fitness-plan{margin-top:18px}.fitness-today>header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.fitness-today>header strong{color:#3f6b41;font-size:14px}.fitness-today>header span{color:#857a64;font-size:11px}.exercise-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exercise-card{background:#f8fbf2;border:1px solid #e3ecd9;border-radius:13px;align-items:center;gap:12px;padding:9px 12px;display:flex}.exercise-figure{background:#e9f2dd;border-radius:10px;flex:none;width:44px;height:44px}.exercise-figure circle,.exercise-figure rect{fill:#5d8448}.exercise-figure line{stroke:#5d8448;stroke-width:2.6px;stroke-linecap:round}.exercise-info{gap:2px;display:grid}.exercise-info strong{color:#3f5233;font-size:13px}.exercise-info span{color:#7d8a6d;font-size:11px}.exercise-video{color:#4c6b3a;white-space:nowrap;background:#e8f0d8;border-radius:999px;flex:none;margin-left:auto;padding:5px 11px;font-size:11px;font-weight:700;text-decoration:none}.exercise-video:hover{background:#dce8c5}.fitness-week-title{color:#66524a;font-weight:800;margin:16px 0 8px!important;font-size:13px!important}.fitness-week{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:7px;margin:0;padding:0;list-style:none;display:grid}.fitness-week li{background:#f4f6ee;border-radius:11px;gap:2px;padding:8px 10px;display:grid}.fitness-week li.is-today{background:#dcebc4;outline:2px solid #8fb45e}.fitness-week strong{color:#4c5a3e;font-size:12px}.fitness-week span{color:#7d8a6d;font-size:11px}.travel-visited-list{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.travel-visited-list li{color:#8a6b3a;background:#fdf1d7;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.travel-visited-list li:before{content:"✦ "}.travel-plan-title{color:#66524a;font-weight:800;margin:14px 0 8px!important;font-size:13px!important}.travel-plan-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.travel-plan-list li{background:#f6f9ff;border:1px dashed #c9d4ec;border-radius:11px;align-items:baseline;gap:10px;padding:9px 12px;display:flex}.travel-plan-list strong{color:#46608f;white-space:nowrap;font-size:13px}.travel-plan-list span{color:#7d8aa5;font-size:12px}
