:root{--portal-bg:#1e1f22;--portal-bg-elevated:#2b2d31;--portal-card:#2b2d31;--portal-card-solid:#313338;--portal-accent-rgb:88,101,242;--portal-accent:#5865f2;--portal-accent-2-rgb:201,184,118;--portal-accent-2:#c9b876;--portal-azure-rgb:110,186,168;--portal-azure:#6ebaa8;--portal-green:#23a559;--portal-text:#dbdee1;--portal-muted:#949ba4;--portal-border:#3f4147;--portal-hover:#35373c;--portal-header-h:48px;--portal-mobile-nav-h:56px;--portal-app-chrome-h:48px;--portal-rail-w:72px;--portal-rail-bg:#111214;--portal-safe-bottom:env(safe-area-inset-bottom,0px);--portal-safe-top:env(safe-area-inset-top,0px);--portal-radius:8px;--portal-shadow:0 8px 16px rgba(0,0,0,.24);--portal-glass:#1e1f22;--bp-mobile-max:640px;--bp-tablet-max:1024px;--portal-content-max:1080px;--portal-content-wide:1240px;--portal-prose-max:720px}.portal-site--native-shell{--portal-mobile-nav-h:0px}.portal-site--native-shell.portal-app-site{--portal-mobile-nav-h:56px!important}.portal-fm-native-shell,.portal-site--native-shell.portal-app-site.portal-fm-native-shell,.portal-site--native-shell.portal-app-site.portal-fm-native-tabbar,.portal-site--native-shell.portal-app-site.portal-yuan-native-shell,.portal-site--native-shell.portal-fm-native-shell,.portal-site--native-shell.portal-fm-native-tabbar,.portal-site--native-shell.portal-yuan-native-shell,.portal-yuan-native-shell{--portal-mobile-nav-h:0px!important;--portal-safe-bottom:0px!important}.portal-fm-native-shell .portal-app-dock,.portal-fm-native-tabbar .portal-app-dock,.portal-yuan-native-shell .portal-app-dock{display:none!important}.portal-yuan-native-shell.portal-app-site--agent{--portal-app-chrome-h:0px}.portal-yuan-native-shell.portal-app-site--agent .portal-main{padding-top:0}.portal-fm-native-shell.portal-app-site--fm{--portal-app-chrome-h:0px}.portal-fm-native-shell.portal-app-site--fm .portal-main{padding-top:0}.portal-fm-native-shell .fm-mini-bar,.portal-fm-native-shell .podcast-mini-bar,.portal-fm-native-tabbar .fm-mini-bar,.portal-fm-native-tabbar .podcast-mini-bar{bottom:calc(var(--portal-safe-bottom) + var(--portal-mobile-nav-h, 56px) + 2px)!important}.portal-fm-native-shell .fm-mini-bar-error,.portal-fm-native-shell .podcast-mini-bar-error,.portal-fm-native-tabbar .fm-mini-bar-error,.portal-fm-native-tabbar .podcast-mini-bar-error{bottom:calc(var(--portal-safe-bottom) + var(--portal-mobile-nav-h, 56px) + 66px)!important}html[data-fm-theme=light] .portal-app-site--fm .fm-mini-bar,html[data-fm-theme=light] .portal-fm-native-shell .fm-mini-bar,html[data-fm-theme=light] .portal-fm-native-tabbar .fm-mini-bar{left:12px;right:12px;width:auto}html[data-fm-theme=light],html[data-portal-theme=light]{--portal-bg:#fff;--portal-bg-elevated:#fff;--portal-card:#fff;--portal-card-solid:#fff;--portal-accent-rgb:59,90,214;--portal-accent:#3b5ad6;--portal-accent-2-rgb:168,140,64;--portal-accent-2:#a88c40;--portal-azure-rgb:46,140,122;--portal-azure:#2e8c7a;--portal-green:#1f8a4c;--portal-text:#1d1d1f;--portal-muted:#6e6e73;--portal-border:rgba(0,0,0,.08);--portal-hover:#f5f5f7;--portal-glass:hsla(0,0%,100%,.72);--portal-shadow:0 8px 28px rgba(0,0,0,.08);--portal-radius:16px;--portal-rail-bg:#f2f3f5;color-scheme:light}html[data-fm-theme=light] body,html[data-portal-theme=light] body{background-color:var(--portal-bg);color:var(--portal-text)}html[data-fm-theme=light] ::-moz-selection,html[data-portal-theme=light] ::-moz-selection{color:var(--portal-text)}html[data-fm-theme=light] ::selection,html[data-portal-theme=light] ::selection{color:var(--portal-text)}html[data-fm-theme=light] .portal-auth-dropdown,html[data-fm-theme=light] .portal-lang-dropdown,html[data-fm-theme=light] .portal-search-form,html[data-portal-theme=light] .portal-auth-dropdown,html[data-portal-theme=light] .portal-lang-dropdown,html[data-portal-theme=light] .portal-search-form{background:#fff;box-shadow:0 12px 32px #1f29331f}html[data-fm-theme=light] .portal-header,html[data-portal-theme=light] .portal-header{box-shadow:0 1px #1f29330f}html[data-portal-theme=light] .portal-app-site .portal-app-dock,html[data-portal-theme=light] .portal-mobile-nav:not(.portal-app-dock){background:#ffffffe0;border-top-color:#00000014}html[data-fm-theme=light] .fm-desktop-bar,html[data-fm-theme=light] .fm-mine-card,html[data-fm-theme=light] .fm-resume-card,html[data-fm-theme=light] .fm-source-chip,html[data-fm-theme=light] .fm-station-card,html[data-fm-theme=light] .fm-station-panel{background:#fff;border-color:transparent;border-radius:18px;box-shadow:0 4px 20px #0000000f}html[data-fm-theme=light] .fm-mini-bar,html[data-fm-theme=light] .podcast-mini-bar{backdrop-filter:saturate(180%) blur(24px);background:#ffffffeb;border:none;border-radius:16px;box-shadow:0 8px 28px #0000001f;left:12px;right:12px}html[data-fm-theme=light] .fm-mini-bar-fav,html[data-fm-theme=light] .fm-mini-bar-nav,html[data-fm-theme=light] .fm-mini-bar-play,html[data-fm-theme=light] .podcast-mini-bar-play{background:transparent;color:var(--portal-text)}html[data-fm-theme=light] .fm-station-card:hover:not(.unavailable){box-shadow:0 10px 32px #0000001a}html[data-fm-theme=light] .fm-station-item:hover{background:#0000000a}html[data-fm-theme=light] .fm-station-card-fav,html[data-fm-theme=light] .fm-station-card-live,html[data-fm-theme=light] .fm-station-card-play{background:#fffffff0;box-shadow:0 2px 8px #00000014;color:var(--portal-text)}html[data-fm-theme=light] .fm-station-card-live{color:#dc2626}html[data-fm-theme=light] .fm-page .app-shell-header{margin-bottom:22px;padding-top:6px}html[data-fm-theme=light] .fm-page .app-shell-icon{display:none}html[data-fm-theme=light] .fm-page .app-shell-titles h1{color:#1d1d1f;font-size:clamp(30px,8vw,36px);font-weight:800;letter-spacing:-.035em;line-height:1.08}html[data-fm-theme=light] .fm-page .app-shell-version{display:none}html[data-fm-theme=light] .fm-explore-title,html[data-fm-theme=light] .fm-mine-title{color:#1d1d1f;font-size:clamp(28px,7vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.1}html[data-fm-theme=light] .fm-explore-section-title,html[data-fm-theme=light] .fm-section-heading{color:#1d1d1f;font-size:20px;font-weight:700;letter-spacing:-.02em}html[data-fm-theme=light] .fm-explore-card .fm-explore-cover-wrap,html[data-fm-theme=light] .fm-featured-cover{border-radius:16px;box-shadow:0 6px 20px #0000001a}.portal-fm-native-shell html[data-fm-theme=light] .fm-page .app-shell-back,html[data-fm-theme=light] .portal-fm-native-shell .fm-page .app-shell-back,html[data-fm-theme=light].portal-fm-native-shell .fm-page .app-shell-back{display:none}html[data-fm-theme=light] .fm-player-backdrop,html[data-fm-theme=light] .podcast-player-backdrop{background:#1f293347}html[data-fm-theme=light] .fm-player-panel,html[data-fm-theme=light] .fm-programme-panel,html[data-fm-theme=light] .podcast-player-panel{background:linear-gradient(180deg,#fff,#f5f5f7);box-shadow:none;color:var(--portal-text)}html[data-fm-theme=light] .fm-player-title,html[data-fm-theme=light] .fm-programme-title,html[data-fm-theme=light] .podcast-player-title{color:var(--portal-text)}html[data-fm-theme=light] .fm-player-close,html[data-fm-theme=light] .fm-programme-panel .fm-player-close,html[data-fm-theme=light] .podcast-player-close{background:#1f29330f;color:var(--portal-muted)}html[data-fm-theme=light] .fm-player-mode-btn,html[data-fm-theme=light] .podcast-player-mode-btn{background:#1f29330a;border-color:#1f29331f;color:var(--portal-muted)}html[data-fm-theme=light] .fm-player-mode-btn.active,html[data-fm-theme=light] .podcast-player-mode-btn.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}html[data-fm-theme=light] .fm-player-art,html[data-fm-theme=light] .podcast-player-art{box-shadow:0 12px 32px #1f293324}html[data-fm-theme=light] .fm-player-ctrl,html[data-fm-theme=light] .podcast-player-ctrl{background:#1f29330f;color:var(--portal-text)}html[data-fm-theme=light] .fm-player-play,html[data-fm-theme=light] .podcast-player-play{color:#fff}html[data-fm-theme=light] .fm-player-tools .fm-sleep select,html[data-fm-theme=light] .fm-player-tools .fm-stream-line-btn,html[data-fm-theme=light] .fm-player-tools .fm-switch-btn,html[data-fm-theme=light] .fm-player-tools .fm-tool-btn,html[data-fm-theme=light] .fm-player-tools button,html[data-fm-theme=light] .fm-player-tools select{background:#fff;border-color:#1f293324;color:var(--portal-text)}html[data-fm-theme=light] .fm-player-tools .fm-scene-toggle{background:#1f29330f;border-color:#1f29331f}html[data-fm-theme=light] .fm-player-tools .fm-scene-btn.active{color:var(--portal-accent)}html[data-fm-theme=light] .fm-player-desc,html[data-fm-theme=light] .fm-player-hint,html[data-fm-theme=light] .fm-player-muted,html[data-fm-theme=light] .fm-player-tools .fm-sleep,html[data-fm-theme=light] .fm-player-tools .fm-volume{color:var(--portal-muted)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:rgba(var(--portal-accent-rgb),.35) transparent;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--portal-accent-rgb),.28);background-clip:content-box;border:2px solid transparent;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--portal-accent-rgb),.45);background-clip:content-box;border:2px solid transparent}:focus-visible{border-radius:4px;outline:2px solid rgba(var(--portal-accent-rgb),.75);outline-offset:2px}::-moz-selection{background:rgba(var(--portal-accent-rgb),.35);color:#fff}::selection{background:rgba(var(--portal-accent-rgb),.35);color:#fff}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{background-color:var(--portal-bg);background-image:none;color:var(--portal-text);font-family:gg sans,Noto Sans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,sans-serif;line-height:1.6;margin:0;-webkit-tap-highlight-color:rgba(var(--portal-accent-rgb),.18)}body:before{display:none}.portal-site{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.portal-site.portal-shell{align-items:stretch;flex-direction:row}.portal-site.portal-shell>.portal-shell-body{display:flex;flex:1;flex-direction:column;min-width:0}.portal-main{flex:1;margin:0 auto;max-width:1080px;min-width:0;padding:24px 20px 48px;width:100%}.portal-page{max-width:100%;overflow-x:clip;width:100%}.portal-page-header{margin:8px 0 22px}.portal-page-header h1{font-size:clamp(24px,4vw,30px);line-height:1.35;margin:0 0 8px}.portal-page-header p{color:var(--portal-muted);font-size:15px;line-height:1.7;margin:0}.portal-card{background:var(--portal-card);border:none;border-radius:var(--portal-radius);padding:16px;transition:background .15s}.portal-card:hover{background:var(--portal-hover)}.portal-btn{align-items:center;background:#4e5058;border:none;border-radius:3px;color:var(--portal-text);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;justify-content:center;min-height:38px;min-width:38px;padding:2px 16px;text-decoration:none;touch-action:manipulation;transition:background .15s}.portal-btn:hover{background:#6d6f78}.portal-btn-primary,.portal-btn.primary{background:var(--portal-accent);border:none;color:#fff}.portal-btn-primary:hover,.portal-btn.primary:hover{background:#4752c4}.portal-btn-ghost,.portal-btn.ghost{background:transparent;border:none;color:var(--portal-text)}.portal-btn-ghost:hover,.portal-btn.ghost:hover{background:var(--portal-hover)}.app-shell{width:100%}.app-shell--default,.app-shell--mp{margin:0 auto;max-width:720px}.app-shell--media,.app-shell--mp{padding:8px 0 24px}.app-shell--media{margin:0 auto;max-width:640px}.app-shell-header{margin-bottom:16px}.app-shell-back{font-size:13px;margin:0 0 10px}.app-shell-back a{align-items:center;color:var(--portal-muted);display:inline-flex;gap:4px;min-height:44px;padding:6px 0;text-decoration:none;touch-action:manipulation}.app-shell-back a:hover{color:var(--portal-accent)}.app-shell-title-row{align-items:center;display:flex;gap:12px}.app-shell-icon{align-items:center;background:var(--portal-accent);border-radius:16px;color:#fff;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.app-shell-titles{flex:1;min-width:0}.app-shell-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.app-shell-titles h1{font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.3;margin:0}.app-shell-titles p{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:4px 0 0}.app-shell-version{color:var(--portal-accent)!important;font-size:12px!important;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:6px 0 0!important}.app-shell-footer{font-size:14px;margin-top:20px}.app-shell-footer a{color:var(--portal-accent);text-decoration:none}.app-shell-footer a:hover{text-decoration:underline}.apps-page{margin:0 auto;max-width:var(--portal-content-wide,1080px);padding-bottom:24px}.apps-hero{align-items:flex-start;display:flex;gap:14px;margin-bottom:18px}.apps-hero-icon{align-items:center;background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.22),rgba(var(--portal-accent-rgb),.06));border-radius:14px;box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.2);display:flex;flex-shrink:0;font-size:26px;height:52px;justify-content:center;width:52px}.apps-hero h1{font-size:clamp(22px,4vw,28px);margin:0 0 6px}.apps-hero p{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:0}.apps-auto-update-hint{background:#2d5a4a14;border:1px solid rgba(45,90,74,.16);border-radius:10px;color:var(--portal-text)!important;font-size:13px!important;margin-top:10px!important;padding:10px 12px}.apps-section-heading{font-size:15px;font-weight:600;margin:0 0 10px}.apps-featured{margin-bottom:16px}.apps-featured-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:640px){.apps-featured-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.apps-featured-tile{align-items:center;background:#ffffff08;border:1px solid var(--portal-border);border-radius:12px;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:92px;padding:10px 6px;position:relative;transition:border-color .15s,background .15s,transform .15s}.apps-featured-tile:hover{background:rgba(var(--portal-accent-rgb),.08);border-color:rgba(var(--portal-accent-rgb),.4)}.apps-featured-tile:active{transform:scale(.97)}.apps-featured-icon{align-items:center;background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.2),rgba(var(--portal-accent-rgb),.05));border-radius:12px;display:flex;font-size:22px;height:44px;justify-content:center;width:44px}.apps-featured-label{display:-webkit-box;font-size:12px;font-weight:600;-webkit-line-clamp:2;line-height:1.35;text-align:center;-webkit-box-orient:vertical;overflow:hidden}.apps-featured-fav{color:var(--portal-accent)}.apps-fav-btn{font-size:15px}.apps-fav-btn.is-on{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.4);color:var(--portal-accent)}.apps-featured-tile.is-favorite{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.45)}.apps-featured-fav{color:#e8b84a;font-size:11px;line-height:1;position:absolute;right:8px;top:6px}.apps-card.is-favorite{background:rgba(var(--portal-accent-rgb),.05);border-color:rgba(var(--portal-accent-rgb),.4)}.apps-card-title-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.apps-fav-btn{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:16px;height:30px;line-height:1;padding:0;width:30px}.apps-fav-btn.is-on{background:#e8b84a1f;border-color:#e8b84a73;color:#e8b84a}.apps-catalog-panel{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;margin-bottom:18px;padding:12px}.apps-panel-toolbar{margin-bottom:8px}.apps-catalog-summary{color:var(--portal-muted);font-size:13px;margin:0}.apps-search-box{align-items:center;background:#0000001f;border:1px solid var(--portal-border);border-radius:12px;display:flex;gap:8px;margin-bottom:10px;padding:10px 12px}.apps-search-box input{background:transparent;border:none;color:var(--portal-text);flex:1;font-size:15px;outline:none}.apps-search-clear{background:#ffffff14;border:none;border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.apps-platform-tabs{background:#00000014;border-radius:999px;display:flex;gap:8px;margin-bottom:10px;max-width:100%;overflow-x:auto;padding:4px;scrollbar-width:none;width:-moz-fit-content;width:fit-content}.apps-platform-tabs::-webkit-scrollbar{display:none}.apps-platform-tab{background:transparent;border:none;border-radius:999px;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:6px 16px}.apps-platform-tab.is-active{background:var(--portal-accent);color:#fff}.apps-category-scroll{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.apps-category-scroll::-webkit-scrollbar{display:none}.apps-category-chip{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:13px;padding:6px 12px}.apps-category-chip.is-active{background:rgba(var(--portal-accent-rgb),.18);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-text)}.apps-list-empty{color:var(--portal-muted);font-size:14px;margin:0;padding:28px 8px;text-align:center}.apps-grid{display:grid;gap:12px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:720px){.apps-grid--catalog{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.apps-grid--catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}.apps-card{background:#ffffff05;border:1px solid var(--portal-border);border-radius:12px;padding:14px;transition:border-color .15s,background .15s}.apps-card:hover{background:rgba(var(--portal-accent-rgb),.04);border-color:rgba(var(--portal-accent-rgb),.35)}.apps-card-head{align-items:flex-start;display:flex;gap:14px;margin-bottom:12px}.apps-icon{align-items:center;background:rgba(var(--portal-accent-rgb),.15);border-radius:14px;display:flex;flex-shrink:0;font-size:22px;height:48px;justify-content:center;width:48px}.apps-card-copy{flex:1;min-width:0}.apps-card-title-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.apps-card h2{font-size:17px;line-height:1.35;margin:0}.apps-category-tag{background:#ffffff08;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);flex-shrink:0;font-size:11px;padding:2px 8px}.apps-version{color:var(--portal-accent);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.45;margin:6px 0 0;word-break:break-word}.apps-card-desc{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:6px 0 0}.apps-android-download-tip{background:#8b735514;border:1px solid rgba(139,115,85,.35);border-radius:10px;margin:0 0 14px;padding:12px 14px}.apps-android-download-tip-text{color:var(--portal-text);font-size:13px;line-height:1.55;margin:0 0 10px}.apps-android-download-tip-actions{display:flex;flex-wrap:wrap;gap:8px}.apps-fm-update-notice{background:#8b735514;border:1px solid rgba(139,115,85,.35);border-radius:10px;margin:12px 0 14px;padding:12px 14px}.apps-fm-update-title{color:var(--portal-text);font-size:14px;font-weight:600;margin:0 0 6px}.apps-fm-update-lead{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:0 0 8px}.apps-fm-update-steps{color:var(--portal-text);font-size:13px;line-height:1.6;margin:0;padding-left:1.2rem}.apps-fm-update-steps li+li{margin-top:4px}.apps-ios-notice{background:#60a5fa14;border:1px solid rgba(96,165,250,.35);border-radius:10px;margin:12px 0 14px;padding:12px 14px}.apps-ios-method-title{color:var(--portal-text);font-size:13px;font-weight:600;margin:10px 0 6px}.apps-ios-method-title:first-of-type{margin-top:0}.apps-pwa-guide-close{background:transparent!important;border:1px solid var(--portal-border)!important;color:var(--portal-muted)!important;margin-top:8px}.apps-links{display:flex;flex-wrap:wrap;gap:8px}.apps-older-downloads{background:#0000001f;border:1px dashed var(--portal-border);border-radius:10px;margin-top:10px;padding:10px 12px}.apps-older-downloads summary{color:var(--portal-text);cursor:pointer;font-size:13px;font-weight:600}.apps-older-downloads-hint{color:var(--portal-muted);font-size:12px;line-height:1.5;margin:8px 0 0}.apps-older-downloads-list{list-style:disc;margin:8px 0 0;padding-left:1.1rem}.apps-older-downloads-list li+li{margin-top:6px}.apps-older-download-label{display:inline;font-size:13px;margin-right:8px}.apps-older-download-mirrors{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px;margin-right:8px}.apps-older-download-link{color:var(--portal-accent);font-size:13px;text-decoration:none}.apps-older-download-link:hover{text-decoration:underline}.apps-older-download-note{color:var(--portal-muted);display:block;font-size:12px;line-height:1.45;margin-top:2px}.apps-mp-inline{align-items:center;border-top:1px solid var(--portal-border);display:flex;gap:12px;margin-top:14px;padding-top:14px}.apps-mp-caption{color:var(--portal-muted);font-size:13px;line-height:1.5;margin:0}.apps-mp-section{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;margin-top:20px;padding:16px}.apps-mp-section h2{font-size:18px;margin:0 0 8px}.apps-mp-version{color:var(--portal-accent);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.45;margin:0 0 10px;word-break:break-word}.apps-mp-intro{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:0 0 16px}.apps-mp-grid{display:grid;gap:16px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:640px){.apps-mp-grid{grid-template-columns:repeat(3,1fr)}}.apps-mp-card{background:#ffffff08;border:1px solid var(--portal-border);border-radius:12px;padding:14px 10px;text-align:center}.apps-mp-card h3{font-size:16px;margin:8px 0 10px}.apps-mp-card p{color:var(--portal-muted);font-size:13px;line-height:1.5;margin:8px 0 0}.apps-mp-icon{align-items:center;background:rgba(var(--portal-accent-rgb),.12);border-radius:10px;display:inline-flex;font-size:20px;height:40px;justify-content:center;width:40px}.apps-mp-qr{background:#fff;border-radius:10px;display:block;height:132px;margin:0 auto;-o-object-fit:contain;object-fit:contain;width:132px}.apps-mp-section .apps-mp-qr{height:160px;width:160px}.apps-hint{color:var(--portal-muted);font-size:14px;line-height:1.6;margin-top:12px}.apps-page-footer{margin-top:18px}.apps-legal{font-size:14px;margin-top:10px}.apps-legal a{color:var(--portal-accent);text-decoration:none}.health-tabs{display:flex;gap:8px;margin-bottom:16px}.health-tabs button{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-muted);cursor:pointer;flex:1;font-size:14px;min-height:44px;padding:10px 12px;transition:background .2s,color .2s,border-color .2s}.health-tabs button.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent);font-weight:600}.health-field{display:block;margin-bottom:12px}.health-field span{color:var(--portal-muted);display:block;font-size:14px;margin-bottom:4px}.health-field input,.health-field select,.health-field textarea{background:#0003;border:1px solid var(--portal-border);border-radius:10px;box-sizing:border-box;color:var(--portal-text);font-size:16px;line-height:1.5;min-height:48px;padding:14px 16px;width:100%}.health-field textarea{min-height:120px;resize:vertical}.health-field input:focus,.health-field select:focus,.health-field textarea:focus{border-color:rgba(var(--portal-accent-rgb),.5);outline:none}.health-row{display:flex;flex-wrap:wrap;gap:10px}.health-row .health-field{flex:1;min-width:140px}.health-bmi{color:var(--portal-accent);font-size:14px;margin:-4px 0 12px}.health-view div{border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.health-view dt{color:var(--portal-muted)}.health-view dd{margin:0;text-align:right}.health-empty{color:var(--portal-muted);padding:16px 0;text-align:center}.health-disclaimer,.health-hint{color:var(--portal-muted);font-size:13px;line-height:1.6;margin-top:12px}.health-family-list{margin-bottom:12px}.health-family-item{align-items:flex-start;border-bottom:1px solid hsla(0,0%,100%,.06);display:flex;gap:12px;justify-content:space-between;padding:12px 0}.health-family-item p{color:var(--portal-muted);font-size:13px;margin:4px 0 0}.health-tag{background:#ef444426;border-radius:999px;color:#f87171;font-size:12px;margin-left:6px;padding:1px 6px}.health-check{align-items:center;color:var(--portal-text);display:flex;gap:8px;margin-bottom:12px}.health-sync-status{color:var(--portal-muted);font-size:13px;line-height:1.5;margin:0 0 12px}.health-sync-status--error{color:#f87171}.health-search{align-items:center;display:flex;gap:8px;margin-bottom:12px}.health-search input{background:#0003;border:1px solid var(--portal-border);border-radius:10px;box-sizing:border-box;color:var(--portal-text);flex:1;font-size:16px;min-height:48px;padding:14px 16px}.health-pagination{align-items:center;color:var(--portal-muted);display:flex;font-size:14px;gap:12px;justify-content:center;margin:12px 0}.health-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.health-tag-btn{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:14px;padding:10px 14px}.health-tag-btn.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent);font-weight:600}.health-form-title{font-size:16px;font-weight:700;margin:16px 0 8px}.health-family-actions{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.health-family-incomplete{color:#f59e0b!important}.tools-page.app-shell{max-width:min(960px,100%)}.tools-page{padding:8px 0 24px;width:100%}.tools-section-heading{font-size:15px;font-weight:700;margin:0 0 12px}.tools-resume-card{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.25);border-radius:12px;display:flex;gap:12px;margin-bottom:14px;padding:12px 14px}.tools-resume-icon{align-items:center;background:#0003;border-radius:12px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.tools-resume-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.tools-resume-label{color:var(--portal-muted);font-size:11px}.tools-resume-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-resume-btn{background:var(--portal-accent);border:none;border-radius:999px;color:var(--portal-bg);cursor:pointer;flex-shrink:0;font-size:13px;padding:8px 14px}.tools-quick{margin-bottom:18px}.tools-quick-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.tools-quick-tile{background:rgba(var(--portal-azure-rgb),.06);border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);cursor:pointer;padding:12px 8px;text-align:center;transition:border-color .2s,transform .15s}.tools-quick-tile:hover{border-color:rgba(var(--portal-azure-rgb),.35);transform:translateY(-1px)}.tools-quick-tile.active{background:rgba(var(--portal-accent-rgb),.14);border-color:rgba(var(--portal-accent-rgb),.55);color:var(--portal-accent)}.tools-quick-icon{display:block;font-size:22px;margin-bottom:4px}.tools-quick-label{display:block;font-size:12px;font-weight:600;line-height:1.3}.tools-browse-panel{margin-bottom:16px}.tools-panel-toolbar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.tools-list-tabs{display:flex;flex-wrap:wrap;gap:6px}.tools-list-tab{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:12px;padding:6px 12px}.tools-list-tab.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent);font-weight:600}.tools-chip-count{background:rgba(var(--portal-accent-rgb),.18);border-radius:999px;color:var(--portal-accent);font-size:10px;margin-left:4px;padding:0 6px}.tools-catalog-summary{color:var(--portal-muted);font-size:12px;margin:0 0 10px}.tools-search-box{align-items:center;background:#0003;border-radius:10px;color:var(--portal-muted);display:flex;gap:8px;margin-bottom:12px;padding:8px 12px}.tools-search-box input{background:transparent;border:none;color:inherit;flex:1;font-size:14px;outline:none}.tools-search-box.is-searching{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.35)}.tools-search-clear{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.tools-filter-label{color:var(--portal-muted);font-size:12px;margin:0 0 8px}.tools-category-scroll{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tools-category-scroll::-webkit-scrollbar{display:none}.tools-category-chip{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:12px;padding:6px 12px}.tools-category-chip.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent);font-weight:600}.tools-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.tools-grid,.tools-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.tools-card{background:#ffffff08;border:none;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f;color:var(--portal-text);cursor:pointer;padding:14px 12px 12px;position:relative;text-align:left;transition:transform .15s,box-shadow .15s}.tools-card:hover{box-shadow:0 8px 24px #00000040;transform:translateY(-2px)}.tools-card.active{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.45)}.tools-card-icon{display:block;font-size:28px;margin-bottom:8px}.tools-card-name{display:block;font-size:14px;font-weight:600;line-height:1.35;margin:0 0 4px}.tools-card-desc{color:var(--portal-muted);display:block;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.45;margin:0;-webkit-box-orient:vertical;overflow:hidden}.tools-card-fav-btn{align-items:center;background:#00000059;border-radius:50%;color:var(--portal-muted);display:inline-flex;font-size:13px;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px}.tools-card-fav-btn.active,.tools-fav-btn.active{color:#fbbf24}.tools-empty{color:var(--portal-muted);font-size:13px;margin:8px 0 0;text-align:center}.tool-panel{background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.08),#0f1e228c);border:1px solid rgba(var(--portal-accent-rgb),.2);margin-bottom:12px}.tool-panel-head{border-bottom:1px solid hsla(0,0%,100%,.06);justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.tool-panel-head,.tool-panel-title{align-items:flex-start;display:flex;gap:12px}.tool-panel-title{min-width:0}.tool-panel-icon{flex-shrink:0;font-size:32px;line-height:1}.tool-panel-head h2{font-size:18px;margin:0 0 4px}.tools-fav-btn{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:4px}.tool-section h2{font-size:18px;margin:0 0 8px}.tool-desc,.tools-hint{color:var(--portal-muted);font-size:14px;line-height:1.6}.tool-panel-head .tool-desc{font-size:13px;margin:0}.tool-panel .tool-section>.tool-desc,.tool-panel .tool-section>h2{display:none}.tool-subtitle{color:var(--portal-text);font-size:14px;font-weight:600;margin:16px 0 8px}.tool-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.tool-result{font-size:15px;margin:12px 0 0}.tool-result strong{color:var(--portal-accent)}.tool-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.tool-checks{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.tool-dropzone{border:2px dashed var(--portal-border,hsla(0,0%,100%,.12));border-radius:12px;cursor:pointer;padding:28px 20px;text-align:center;transition:border-color .2s,background .2s}.tool-dropzone.dragging,.tool-dropzone:hover{background:#7dd3c00f;border-color:var(--portal-accent)}.tool-dropzone.loading{opacity:.7;pointer-events:none}.tool-dropzone-input{display:none}.tool-dropzone-title{color:var(--portal-text);font-size:15px;font-weight:600;margin:0 0 6px}.tool-dropzone-hint{color:var(--portal-muted);font-size:13px;line-height:1.5;margin:0}.tool-downloads{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}@media(max-width:520px){.tools-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.tools-search-box input{font-size:16px}.tools-page{padding-bottom:calc(16px + var(--portal-safe-bottom))}}.services-page{margin:0 auto;max-width:880px}.services-intro p{color:var(--portal-muted);line-height:1.7;margin:0}.services-block{margin:24px 0}.services-heading{font-size:clamp(18px,3vw,22px);margin:0 0 12px}.services-grid{display:grid;gap:14px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr)}}.services-card h3{font-size:16px;margin:0 0 6px}.services-card p{color:var(--portal-muted);font-size:14px;line-height:1.55;margin:0}.services-icon{display:block;font-size:24px;margin-bottom:8px}.services-process p,.services-stack p{color:var(--portal-muted);line-height:1.6}.services-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.services-tag{background:rgba(var(--portal-accent-rgb),.08);border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-accent);font-size:12px;padding:4px 10px}.services-steps{color:var(--portal-muted);line-height:1.8;margin:12px 0 0;padding-left:20px}.services-cta p{color:var(--portal-muted);line-height:1.6}.services-wechat{align-items:center;background:rgba(var(--portal-accent-rgb),.06);border:1px solid rgba(var(--portal-accent-rgb),.2);border-radius:14px;display:flex;flex-wrap:wrap;gap:20px;margin:18px 0;padding:16px}.services-wechat-qr-wrap{background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;flex-shrink:0;padding:8px}.services-wechat-qr{border-radius:6px;display:block;height:200px;-o-object-fit:contain;object-fit:contain;width:200px}.services-wechat-meta{flex:1;min-width:200px}.services-wechat-meta h3{color:var(--portal-accent);font-size:17px;margin:0 0 8px}.services-wechat-meta p{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:0}.services-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.services-note{color:var(--portal-muted);font-size:13px}.reading-section{margin:8px 0 32px}.reading-section-intro{line-height:1.6;margin:-4px 0 14px}.reading-section-hint,.reading-section-intro{color:var(--portal-muted);font-size:14px}.reading-book-grid{gap:12px}@media(min-width:640px){.reading-book-grid{grid-template-columns:repeat(2,1fr)}}.reading-book-card{align-items:center;display:flex;gap:12px;padding:14px 16px}.reading-book-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-book-ext{background:rgba(var(--portal-accent-rgb),.15);border-radius:4px;color:var(--portal-accent);font-size:11px;font-weight:600;padding:1px 6px}.reading-book-actions{flex-shrink:0}.reading-book-download{flex-shrink:0;font-size:13px;min-height:36px;padding:6px 14px}.reading-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.reading-list-item{flex-wrap:wrap;justify-content:space-between;padding:14px 16px}.reading-list-item,.reading-list-main{align-items:center;display:flex;gap:12px}.reading-list-main{flex:1;min-width:0}.reading-list-icon{flex-shrink:0;font-size:24px}.reading-list-item h2{font-size:16px;font-weight:600;margin:0 0 4px}.reading-list-meta{color:var(--portal-muted);font-size:13px;margin:0}.reading-book-desc,.reading-list-desc{color:var(--portal-muted);display:-webkit-box;font-size:13px;-webkit-line-clamp:3;line-height:1.65;margin:8px 0 0;-webkit-box-orient:vertical;overflow:hidden}.reading-footer-note{font-size:13px}.reading-footer-note,.reading-page-hint{color:var(--portal-muted);line-height:1.6}.reading-page-hint{font-size:14px;margin:0 0 16px}.reading-section-heading{font-size:15px;font-weight:600;margin:0 0 10px}.reading-quick-keywords{margin-bottom:16px}.reading-keyword-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:769px){.reading-keyword-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.reading-keyword-tile{background:#ffffff08;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);cursor:pointer;font-size:13px;padding:10px 8px;transition:background .2s,border-color .2s}.reading-keyword-tile:hover{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.35)}.reading-library-panel{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;padding:12px}.reading-panel-toolbar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.reading-tabs{display:flex;flex-wrap:wrap;gap:6px}.reading-tab{background:transparent;border:1px solid transparent;border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:13px;padding:6px 12px}.reading-tab.is-active{background:rgba(var(--portal-accent-rgb),.18);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-text)}.reading-refresh-btn{background:transparent;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);cursor:pointer;height:36px;width:36px}.reading-search-box{align-items:center;background:#00000026;border:1px solid var(--portal-border);border-radius:12px;display:flex;gap:8px;margin-bottom:10px;padding:10px 12px}.reading-search-box input{background:transparent;border:none;color:var(--portal-text);flex:1;font-size:15px;outline:none}.reading-search-box.is-loading{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.35)}.reading-search-box.is-loading>span:first-child{animation:fm-spin 1s linear infinite}.reading-search-clear{background:#ffffff14;border:none;border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:18px;height:28px;line-height:1;width:28px}.reading-catalog-summary,.reading-import-note{color:var(--portal-muted);font-size:13px;margin:0 0 10px}.reading-import-note{color:rgba(var(--portal-azure-rgb),.95)}.reading-filter-label{color:var(--portal-muted);font-size:12px;margin:0 0 8px}.reading-filter-scroll{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}.reading-filter-chip{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:13px;padding:6px 12px}.reading-filter-chip.is-active{background:rgba(var(--portal-accent-rgb),.18);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-text)}.reading-chip-count{font-size:12px;margin-left:4px;opacity:.75}.reading-list-empty,.reading-list-error{color:var(--portal-muted);font-size:14px;padding:24px 8px;text-align:center}.reading-book-grid{display:grid;gap:10px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:640px){.reading-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reading-book-card{background:#ffffff05;border:1px solid var(--portal-border);border-radius:12px;overflow:hidden}.reading-book-card-main{background:transparent;border:none;color:inherit;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left;width:100%}.reading-book-icon{flex-shrink:0;font-size:28px}.reading-book-meta{flex:1;min-width:0}.reading-book-title{font-size:16px;font-weight:600;line-height:1.35;margin:0 0 4px}.reading-book-author{color:var(--portal-muted);font-size:13px;margin:0 0 4px}.reading-book-sub{color:var(--portal-muted);font-size:12px;margin:0}.reading-book-actions,.reading-book-sub{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.reading-book-actions{padding:0 12px 12px}.reading-fav-btn{background:transparent;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-muted);cursor:pointer;font-size:18px;height:36px;width:36px}.reading-fav-btn.is-active{border-color:#f5c54273;color:#f5c542}.reading-list-load-more{color:var(--portal-muted);font-size:13px;padding:16px;text-align:center}.reading-spin{animation:fm-spin 1s linear infinite;display:inline-block}.reading-mobile-filters,.reading-mobile-filters-label,.reading-mobile-keywords{display:block}.reading-sidebar-keywords .fm-sidebar-chip{white-space:nowrap}.fm-page.reading-page,.fm-page.reading-reader-page{width:100%}@media(min-width:769px){.reading-mobile-filters,.reading-mobile-filters-label,.reading-mobile-keywords{display:none}.reading-page .reading-book-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.reading-page .reading-library-panel{padding:16px}.reading-reader-page .reading-reader-frame-wrap,.reading-reader-page .reading-reader-text-wrap{min-height:calc(100vh - 220px)}.reading-reader-page .reading-reader-frame{height:calc(100vh - 200px);min-height:calc(100vh - 220px)}}.portal-site--reader{background:#f8f1e3;height:100dvh;max-height:100dvh;min-height:100dvh;overflow:hidden}.portal-site--reader .portal-main--reader{display:flex;flex:1;flex-direction:column;height:100%;margin:0;max-width:none;min-height:0;overflow:hidden;padding:0}.books-reader{--books-bg:#f8f1e3;--books-text:#3b3228;--books-muted:rgba(59,50,40,.62);--books-bar-bg:rgba(248,241,227,.92);--books-bar-border:rgba(59,50,40,.08);--books-page-bg:#fffdf8;--books-page-shadow:0 10px 40px rgba(59,50,40,.08);--books-font-size:17px;--books-line-height:1.82;--books-page-width:min(720px, calc(100% - 32px) );background:var(--books-bg);color:var(--books-text);display:flex;flex-direction:column;min-height:100dvh}.books-reader--light{--books-bg:#f5f5f7;--books-text:#1d1d1f;--books-muted:rgba(29,29,31,.58);--books-bar-bg:hsla(0,0%,100%,.92);--books-bar-border:rgba(0,0,0,.08);--books-page-bg:#fff;--books-page-shadow:0 10px 40px rgba(0,0,0,.06)}.books-reader--dark{--books-bg:#1c1c1e;--books-text:#f2f2f7;--books-muted:rgba(242,242,247,.62);--books-bar-bg:rgba(28,28,30,.94);--books-bar-border:hsla(0,0%,100%,.08);--books-page-bg:#2c2c2e;--books-page-shadow:0 10px 40px rgba(0,0,0,.28)}.books-reader--size-sm{--books-font-size:15px;--books-line-height:1.78}.books-reader--size-md{--books-font-size:17px;--books-line-height:1.82}.books-reader--size-lg{--books-font-size:20px;--books-line-height:1.88}.books-reader-bar{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--books-bar-bg);border-bottom:1px solid var(--books-bar-border);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:calc(8px + var(--portal-safe-top)) 12px 8px;position:sticky;top:0;z-index:20}.books-reader-title-wrap{min-width:0;text-align:center}.books-reader-title{font-size:15px;font-weight:600;line-height:1.35;margin:0}.books-reader-author,.books-reader-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.books-reader-author{color:var(--books-muted);font-size:12px;margin:2px 0 0}.books-reader-actions{align-items:center;display:flex;gap:4px;justify-content:flex-end}.books-reader-icon-btn{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--books-text);cursor:pointer;display:inline-flex;font-size:18px;height:40px;justify-content:center;line-height:1;text-decoration:none;transition:background .15s;width:40px}.books-reader-icon-btn:hover{background:#7f7f7f1f}.books-reader-aa{font-family:Georgia,Times New Roman,Songti SC,serif;font-size:15px;font-weight:600;letter-spacing:-.02em}.books-reader-settings-wrap{position:relative}.books-reader-settings{background:var(--books-page-bg);border-radius:16px;box-shadow:var(--books-page-shadow),inset 0 0 0 1px var(--books-bar-border);color:var(--books-text);padding:16px;position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 24px));z-index:30}.books-reader-settings-label{color:var(--books-muted);font-size:12px;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.books-reader-font-row,.books-reader-theme-row{align-items:center;display:flex;gap:10px;margin-bottom:16px}.books-reader-font-row{margin-bottom:12px}.books-reader-layout-row{align-items:center;display:flex;gap:10px;margin-bottom:0}.books-reader-layout-btn{background:transparent;border:1px solid var(--books-bar-border);border-radius:10px;color:var(--books-text);cursor:pointer;flex:1;font-size:14px;font-weight:600;min-height:40px;transition:background .15s,border-color .15s,color .15s}.books-reader-layout-btn.active{background:#007aff1f;border-color:#007aff59;color:#007aff}.books-reader--dark .books-reader-layout-btn.active{background:#0a84ff2e;border-color:#0a84ff6b;color:#409cff}.books-reader-theme-btn{border:2px solid transparent;border-radius:50%;cursor:pointer;height:34px;transition:transform .15s,box-shadow .15s;width:34px}.books-reader-theme-btn.active{box-shadow:0 0 0 2px var(--books-text);transform:scale(1.04)}.books-reader-theme-btn--light{background:#fff;border-color:#00000014}.books-reader-theme-btn--sepia{background:#f8f1e3;border-color:#3b32281f}.books-reader-theme-btn--dark{background:#1c1c1e;border-color:#ffffff1f}.books-reader-font-btn{background:transparent;border:1px solid var(--books-bar-border);border-radius:10px;color:var(--books-text);cursor:pointer;flex:1;font-family:Georgia,Times New Roman,Songti SC,serif;min-height:40px;transition:background .15s,border-color .15s}.books-reader-font-btn--sm{font-size:13px}.books-reader-font-btn--md{font-size:16px}.books-reader-font-btn--lg{font-size:19px}.books-reader-font-btn.active{background:#7f7f7f1f;border-color:#7f7f7f47;font-weight:600}.books-reader-body{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.books-reader-state{color:var(--books-muted);font-size:15px;margin:0;padding:48px 20px;text-align:center}.books-reader-state--error{color:#c2410c}.books-reader-article{background:var(--books-page-bg);border-radius:4px;box-shadow:var(--books-page-shadow);margin:24px auto 40px;padding:clamp(28px,5vw,48px) clamp(22px,4vw,40px);width:var(--books-page-width)}.books-reader-text{color:var(--books-text);font-family:Georgia,Iowan Old Style,Palatino Linotype,Songti SC,"Noto Serif SC",serif;font-size:var(--books-font-size);line-height:var(--books-line-height);margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;white-space:pre-wrap;word-break:break-word}.books-reader-pdf{background:#525659}.books-reader-frame,.books-reader-pdf{min-height:calc(100dvh - 72px);width:100%}.books-reader-frame{background:#fff;border:0;display:block;height:calc(100dvh - 72px)}.books-reader-fallback{background:var(--books-page-bg);border-radius:18px;box-shadow:var(--books-page-shadow);margin:32px auto 48px;padding:clamp(28px,5vw,40px);text-align:center;width:var(--books-page-width)}.books-reader-cover{align-items:center;background:linear-gradient(145deg,#7f7f7f1f,#7f7f7f0a);border-radius:8px;box-shadow:0 12px 28px #0000001f;display:flex;height:168px;justify-content:center;margin:0 auto 20px;width:120px}.books-reader-cover-icon{font-size:42px}.books-reader-fallback-title{font-family:Georgia,Songti SC,serif;font-size:22px;font-weight:600;line-height:1.35;margin:0 0 6px}.books-reader-fallback-author{color:var(--books-muted);font-size:14px;margin:0 0 14px}.books-reader-fallback-desc{color:var(--books-muted);font-size:14px;line-height:1.7;margin:0 0 16px;text-align:left}.books-reader-fallback-hint{color:var(--books-muted);font-size:14px;line-height:1.7;margin:0 0 20px}.books-reader-fallback-actions{display:flex;flex-direction:column;gap:10px}.books-reader-primary-btn,.books-reader-secondary-btn{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;min-height:48px;padding:12px 20px;text-decoration:none}.books-reader-primary-btn{background:#007aff;color:#fff}.books-reader-primary-btn:hover{background:#0066d6}.books-reader-secondary-btn{background:#7f7f7f1f;color:var(--books-text)}.books-reader-secondary-btn:hover{background:#7f7f7f2e}.books-reader-progress{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--books-bar-bg);border-top:1px solid var(--books-bar-border);bottom:0;display:flex;gap:10px;padding:8px 16px calc(8px + var(--portal-safe-bottom));position:sticky;z-index:20}.books-reader-progress-track{background:#7f7f7f2e;border-radius:999px;flex:1;height:3px;overflow:hidden}.books-reader-progress-fill{background:#007aff;border-radius:inherit;height:100%;transition:width .12s linear}.books-reader-progress-label{color:var(--books-muted);flex-shrink:0;font-size:12px;min-width:36px;text-align:right}@media(min-width:769px){.books-reader-bar{padding-left:20px;padding-right:20px}.books-reader-title{font-size:16px}.books-reader-article{margin-bottom:56px;margin-top:32px}}.books-library-search{align-items:center;background:#ffffff0f;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff14;display:flex;gap:10px;margin-bottom:0;padding:10px 14px}.books-library-search-wrap{margin-bottom:14px;position:relative}.books-search-history{background:var(--portal-card-solid,#313338);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;box-shadow:var(--portal-shadow);left:0;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.books-search-history-head{align-items:center;color:var(--portal-muted);display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:4px 8px 8px}.books-search-history-clear{background:transparent;border:none;color:var(--portal-accent);cursor:pointer;font-size:12px}.books-search-history-item{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--portal-text);cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;min-height:40px;padding:8px 10px;text-align:left;width:100%}.books-search-history-item:hover{background:#ffffff0f}.books-search-history-remove{align-items:center;border-radius:8px;color:var(--portal-muted);display:inline-flex;flex-shrink:0;font-size:18px;height:28px;justify-content:center;width:28px}.books-search-history-remove:hover{background:#ffffff14}.books-reader-offline-hint{background:#ff95001f;border-bottom-color:#ff95002e}.books-library-search input{background:transparent;border:none;color:var(--portal-text);flex:1;font-size:16px;outline:none}.books-library-search-clear,.books-library-search-icon{color:var(--portal-muted);font-size:18px}.books-library-search-clear{background:#ffffff14;border:none;border-radius:8px;cursor:pointer;height:28px;width:28px}.books-library-search.is-loading .books-library-search-icon{animation:fm-spin 1s linear infinite}.books-library-panel{background:transparent;border:none;padding:0}.books-continue-shelf{margin-bottom:20px}.books-shelf-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.books-shelf-title{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.books-shelf-link{background:transparent;border:none;color:#007aff;cursor:pointer;font-size:14px;font-weight:600;padding:4px 0}.books-shelf-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.books-shelf-scroll::-webkit-scrollbar{display:none}.books-shelf-card{background:transparent;border:none;color:inherit;cursor:pointer;flex:0 0 108px;padding:0;text-align:left}.books-shelf-card .books-cover{height:152px;margin-bottom:8px;width:108px}.books-shelf-card-title{display:block;display:-webkit-box;font-size:13px;font-weight:600;-webkit-line-clamp:2;line-height:1.35;-webkit-box-orient:vertical;overflow:hidden}.books-shelf-card-author{color:var(--portal-muted);display:block;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.books-cover-grid{display:grid;gap:18px 14px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.books-cover-item{min-width:0}.books-cover-card{background:transparent;border:none;color:inherit;cursor:pointer;padding:0;text-align:left;width:100%}.books-cover-wrap{margin-bottom:10px;position:relative}.books-cover{align-items:center;aspect-ratio:5/7;border-radius:6px;box-shadow:inset 0 1px #ffffff1f,0 10px 24px #00000047;display:flex;justify-content:center;overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .18s ease;width:100%}.books-cover-card:hover .books-cover,.books-shelf-card:hover .books-cover{box-shadow:inset 0 1px #ffffff1f,0 16px 32px #00000057;transform:translateY(-3px) scale(1.02)}.books-cover-initial{font-family:Georgia,Songti SC,"Noto Serif SC",serif;font-size:clamp(28px,8vw,42px);text-shadow:0 2px 12px rgba(0,0,0,.22)}.books-cover-format,.books-cover-initial{color:#ffffffeb;font-weight:700}.books-cover-format{backdrop-filter:blur(4px);background:#00000052;border-radius:4px;bottom:8px;font-size:10px;left:8px;letter-spacing:.04em;padding:2px 7px;position:absolute}.books-cover-fav{background:#0000006b;border:none;border-radius:50%;color:#ffffffe6;cursor:pointer;font-size:16px;height:32px;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.92);transition:opacity .15s,transform .15s;width:32px}.books-cover-fav.is-active,.books-cover-fav:focus-visible,.books-cover-wrap:hover .books-cover-fav{opacity:1;transform:scale(1)}.books-cover-fav.is-active{color:#f5c542}.books-cover-title{display:-webkit-box;font-size:14px;font-weight:600;-webkit-line-clamp:2;line-height:1.35;margin:0 0 4px;-webkit-box-orient:vertical;overflow:hidden}.books-cover-author{color:var(--portal-muted);font-size:12px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.books-cover-meta{color:var(--portal-muted);display:flex;font-size:11px;gap:6px;margin:0}.books-cover-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:0;opacity:0;overflow:hidden;transition:opacity .15s,max-height .15s,margin-top .15s}.books-cover-item:focus-within .books-cover-actions,.books-cover-item:hover .books-cover-actions{margin-top:8px;max-height:80px;opacity:1}.books-cover-action-btn{background:rgba(var(--portal-accent-rgb),.18);border:none;border-radius:8px;color:var(--portal-text);cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;text-decoration:none}.books-cover-action-btn--secondary{background:#ffffff0f;color:var(--portal-muted)}@media(min-width:640px){.books-cover-grid{gap:22px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.books-cover-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.books-shelf-card{flex-basis:120px}.books-shelf-card .books-cover{height:168px;width:120px}}@media(min-width:1100px){.books-cover-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:768px){.books-cover-fav{opacity:1;transform:scale(1)}.books-cover-actions{margin-top:8px;max-height:80px;opacity:1}}.books-cover-progress{background:#00000038;bottom:0;height:4px;left:0;position:absolute;right:0}.books-cover-progress-fill{background:#007aff;border-radius:0 2px 2px 0;height:100%;transition:width .2s ease}.books-shelf-card-progress{color:#007aff;display:block;font-size:11px;font-weight:600;margin-top:4px}.books-pagination{align-items:center;border-top:1px solid var(--portal-border);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;padding-top:16px}.books-pagination-btn,.books-pagination-page{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);cursor:pointer;font-size:14px;min-height:40px;padding:8px 14px}.books-pagination-btn:disabled,.books-pagination-page:disabled{cursor:not-allowed;opacity:.45}.books-pagination-pages{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.books-pagination-page{min-width:40px;padding:8px 10px;text-align:center}.books-pagination-page.is-active{background:rgba(var(--portal-accent-rgb),.2);border-color:rgba(var(--portal-accent-rgb),.45);font-weight:700}.books-pagination-ellipsis{color:var(--portal-muted);padding:0 2px}.books-pagination-summary{color:var(--portal-muted);font-size:13px;margin:0;text-align:center;width:100%}.books-reader-progress--inline{backdrop-filter:none;background:transparent;border:none;padding:0;position:relative}.books-reader-progress--inline .books-reader-progress-track{border-radius:0;height:2px}.books-reader-progress--inline .books-reader-progress-label{display:none}.books-reader-resume-hint{background:#007aff1a;border-bottom:1px solid rgba(0,122,255,.15);color:var(--books-muted);font-size:13px;margin:0;padding:8px 16px;text-align:center}.books-reader-text.is-loading{opacity:.55}.books-reader--paginated{--books-page-width:100%;--books-reader-chrome-top:calc(52px + var(--portal-safe-top));--books-page-nav-h:84px;height:100%;max-height:100%;min-height:0;overflow:hidden}.books-reader--paginated .books-reader-body{display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none;padding-bottom:calc(var(--books-page-nav-h) + var(--portal-safe-bottom))}.books-reader-page-controls{flex-shrink:0}.books-reader--paginated .books-epub-reader,.books-reader--paginated .books-reader-article{background:transparent;border-radius:0;box-shadow:none;display:flex;flex:1;flex-direction:column;margin:0;max-width:none;min-height:0;padding:0;width:100%}.books-reader-page-stage{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.books-reader-page-stage--epub{min-height:calc(100dvh - 112px)}.books-reader-page-viewport{flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;position:relative;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;background:var(--books-page-bg);box-shadow:var(--books-page-shadow);scrollbar-width:none;transition:opacity .18s ease}.books-reader-page-viewport::-webkit-scrollbar{display:none}.books-reader-page-viewport.is-turning{opacity:.72}.books-reader-page-viewport--spread:before{background:linear-gradient(180deg,transparent,hsla(0,0%,49.8%,.22) 12%,hsla(0,0%,49.8%,.22) 88%,transparent);bottom:6%;content:"";left:50%;pointer-events:none;position:absolute;top:6%;transform:translate(-50%);width:1px;z-index:2}.books-reader-page-viewport--spread .books-reader-text--paged{padding-inline:clamp(14px,2.4vw,28px)}.books-reader-page-sheet,.books-reader-text--paged{height:100%;max-height:100%;min-height:0;overflow:hidden}.books-reader-text--paged{box-sizing:border-box;-moz-column-fill:auto;column-fill:auto;-moz-column-gap:0;column-gap:0;-moz-column-width:var(--books-page-col-width,100%);column-width:var(--books-page-col-width,100%);margin:0;padding:clamp(18px,3.5vw,36px) clamp(22px,5vw,48px);scroll-snap-align:start}.books-page-turn-overlay{bottom:calc(var(--books-page-nav-h, 84px) + var(--portal-safe-bottom));left:0;pointer-events:none;position:fixed;right:0;top:var(--books-reader-chrome-top,52px);z-index:24}.books-page-turn-zone{background:transparent;border:none;bottom:0;cursor:pointer;margin:0;padding:0;pointer-events:auto;position:absolute;top:0;width:min(34%,180px)}.books-page-turn-zone--prev{left:0}.books-page-turn-zone--next{right:0}.books-page-turn-zone:hover:not(:disabled){background:linear-gradient(90deg,hsla(0,0%,49.8%,.08),transparent)}.books-page-turn-zone--next:hover:not(:disabled){background:linear-gradient(270deg,hsla(0,0%,49.8%,.08),transparent)}.books-page-turn-zone:disabled{cursor:default;pointer-events:none}.books-reader-page-nav{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb,var(--books-page-bg) 92%,transparent);border-top:1px solid var(--books-bar-border,rgba(0,0,0,.08));bottom:0;box-shadow:0 -4px 24px #0000000f;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);left:0;min-height:var(--books-page-nav-h,84px);padding:12px 16px calc(12px + var(--portal-safe-bottom));position:fixed;right:0;z-index:100}.books-reader-page-btn{align-items:center;background:#7f7f7f14;border:1px solid var(--books-bar-border,rgba(0,0,0,.1));border-radius:999px;box-shadow:none;color:var(--books-text);cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;max-width:min(168px,42vw);min-height:48px;min-width:108px;padding:10px 16px;transition:background .15s,border-color .15s,transform .15s,opacity .15s;white-space:nowrap;width:auto}.books-reader-page-btn--prev{justify-self:start}.books-reader-page-btn--next{justify-self:end}.books-reader-page-btn:hover:not(:disabled){background:#007aff1a;border-color:#007aff47;color:#007aff;transform:translateY(-1px)}.books-reader-page-btn:active:not(:disabled){transform:translateY(0)}.books-reader-page-btn:disabled{background:#7f7f7f0f;cursor:not-allowed;opacity:.38}.books-reader--dark .books-reader-page-btn:not(:disabled):hover{background:#0a84ff29;border-color:#0a84ff57;color:#409cff}.books-reader-page-btn-icon{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.books-reader-page-btn-label{font-size:15px;font-weight:600}.books-reader-page-meta-wrap{align-items:center;display:flex;justify-content:center;max-width:min(220px,34vw);min-width:96px}.books-reader-page-meta{color:var(--books-muted);font-size:13px;font-weight:600;line-height:1.4;margin:0;text-align:center}.books-reader--paginated .books-reader-chunk-nav,.books-reader--paginated .books-reader-keyboard-hint{display:none}.books-reader-progress--inline{margin-bottom:0}.books-reader-retry-btn{background:#007aff26;border:none;border-radius:10px;color:#007aff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;margin-top:12px;padding:8px 16px}.books-reader-chunk-nav{align-items:center;border-top:1px solid var(--books-bar-border);display:flex;gap:10px;justify-content:space-between;margin-top:20px;padding-top:16px}.books-reader-chunk-btn{background:#7f7f7f14;border:1px solid var(--books-bar-border);border-radius:10px;color:var(--books-text);cursor:pointer;font-size:14px;font-weight:600;min-height:42px;padding:8px 14px}.books-reader-chunk-btn:disabled{cursor:not-allowed;opacity:.45}.books-reader-chunk-meta{color:var(--books-muted);flex:1;font-size:13px;text-align:center}.books-reader-keyboard-hint{color:var(--books-muted);font-size:12px;margin:16px 0 0;text-align:center}.books-reader-jump-wrap{position:relative}.books-reader-jump-panel{background:var(--books-bar-bg,#fff);border:1px solid var(--books-bar-border,rgba(0,0,0,.08));border-radius:14px;box-shadow:0 12px 32px #00000024;padding:14px;position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));z-index:40}.books-reader-jump-label{color:var(--books-muted);display:block;font-size:13px;margin:0 0 10px}.books-reader-jump-range{accent-color:#007aff;margin:0 0 12px;width:100%}.books-reader-jump-go{background:#007aff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-height:40px;width:100%}.books-reader-toc-backdrop{background:#00000059;top:0;right:0;bottom:0;left:0;position:fixed;z-index:60}.books-reader-toc-panel{background:var(--books-bar-bg,#fff);border-left:1px solid var(--books-bar-border,rgba(0,0,0,.08));box-shadow:-12px 0 32px #0000001f;display:flex;flex-direction:column;max-height:100dvh;position:fixed;right:0;top:0;width:min(360px,92vw);z-index:70}.books-reader-toc-header{align-items:center;border-bottom:1px solid var(--books-bar-border,rgba(0,0,0,.08));display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.books-reader-toc-title{font-size:17px;font-weight:600;margin:0}.books-reader-toc-list{flex:1;overflow:auto;padding:8px 0 calc(12px + var(--portal-safe-bottom))}.books-reader-toc-item{background:transparent;border:none;color:var(--books-text);cursor:pointer;display:block;font-size:14px;line-height:1.45;padding:10px 16px;text-align:left;width:100%}.books-reader-toc-item:hover{background:#7f7f7f14}.books-reader-toc-item--level-1{font-size:13px;padding-left:28px}.books-reader-toc-item--level-2{color:var(--books-muted);font-size:13px;padding-left:40px}.books-reader-toc-item--level-3{color:var(--books-muted);font-size:12px;padding-left:52px}.books-reader-toc-empty{color:var(--books-muted);font-size:14px;margin:0;padding:24px 16px;text-align:center}.books-reader-pdf{position:relative}.books-reader-pdf-state{align-items:center;background:#525659eb;color:#f5f5f5;display:flex;flex-direction:column;gap:12px;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute;z-index:2}.books-reader-frame.is-hidden{visibility:hidden}.books-reader-pdf-js{display:flex;flex:1;flex-direction:column;min-height:0;width:100%}.books-reader-pdf-stage{align-items:flex-start;display:flex;flex:1;justify-content:center;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 12px}.books-reader-pdf-canvas{background:#fff;box-shadow:0 1px 4px #0000001f;display:block;height:auto;max-width:100%}.books-reader-pdf-canvas.is-busy{opacity:.72}.portal-site--reader{padding-bottom:var(--portal-safe-bottom)}@media(prefers-reduced-motion:reduce){.books-cover-card:hover .books-cover,.books-cover-progress-fill,.books-reader-progress-fill,.books-shelf-card:hover .books-cover{transform:none;transition:none}}@media(max-width:768px){.books-reader-keyboard-hint{display:none}.books-reader-chunk-btn,.books-reader-icon-btn{min-height:44px;min-width:44px}.books-reader--paginated{--books-page-nav-h:76px}.books-reader-page-nav{gap:8px;grid-template-columns:minmax(0,1fr) minmax(80px,120px) minmax(0,1fr);padding-inline:10px}.books-reader-page-btn{min-height:44px;min-width:44px;padding:10px 12px}.books-reader-page-btn-label{display:none}.books-reader-page-meta-wrap{max-width:96px}.books-reader-page-meta{font-size:12px}}.guqin-note h2,.guqin-page .portal-card h2{font-size:17px;margin:0 0 8px}.guqin-hint,.guqin-note p{color:var(--portal-muted);font-size:14px;line-height:1.6}.guqin-track-list{list-style:none;margin:0;padding:0}.guqin-track{background:transparent;border:none;border-bottom:1px solid hsla(0,0%,100%,.06);border-radius:8px;color:var(--portal-text);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 4px;text-align:left;transition:background .2s;width:100%}.guqin-track:hover{background:#ffffff0a}.guqin-track.active{background:rgba(var(--portal-accent-rgb),.08);color:var(--portal-accent);font-weight:600}.mp-back{font-size:13px;margin:0 0 10px}.mp-back a{color:var(--portal-muted);text-decoration:none}.mp-back a:hover{color:var(--portal-accent)}.portal-header{align-items:center;backdrop-filter:saturate(180%) blur(20px);background:color-mix(in srgb,var(--portal-bg-elevated) 82%,transparent);border-bottom:.5px solid var(--portal-border);box-shadow:none;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;min-height:calc(var(--portal-header-h) + var(--portal-safe-top));padding:var(--portal-safe-top) 16px 0;position:sticky;top:0;z-index:50}@supports not (background:color-mix(in srgb,#000 50%,transparent)){.portal-header{background:var(--portal-bg-elevated)}}.portal-brand{color:inherit;display:flex;flex-direction:column;gap:2px;min-width:0;text-decoration:none}.portal-brand strong{color:var(--portal-accent-2);font-family:Songti SC,STSong,PingFang SC,serif;font-size:18px;letter-spacing:.06em;line-height:1.2}.portal-brand-tagline{color:var(--portal-muted);font-size:12px}.portal-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.portal-nav{display:flex;flex-wrap:wrap;gap:8px}.portal-nav a{align-items:center;border-radius:4px;color:var(--portal-muted);display:inline-flex;font-size:14px;font-weight:500;min-height:32px;padding:6px 10px;text-decoration:none;transition:background .15s,color .15s}.portal-nav a.router-link-active,.portal-nav a:hover{background:var(--portal-hover);color:var(--portal-text)}.portal-nav a.router-link-active{box-shadow:inset 3px 0 0 var(--portal-accent)}.portal-langs{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.portal-lang{align-items:center;background:transparent;border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:8px;color:var(--portal-accent);display:inline-flex;font-size:12px;min-height:40px;padding:8px 10px;text-decoration:none}.portal-lang:hover{background:rgba(var(--portal-accent-rgb),.1)}.portal-lang-menu{position:relative}.portal-lang-toggle{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:10px;color:var(--portal-accent);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;min-height:40px;padding:8px 12px;touch-action:manipulation}.portal-lang-caret{font-size:10px;opacity:.8}.portal-lang-dropdown{background:var(--portal-card-solid);border:1px solid var(--portal-border);border-radius:12px;box-shadow:var(--portal-shadow);list-style:none;margin:0;min-width:148px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:80}.portal-lang-option{border-radius:8px;color:var(--portal-text);display:block;font-size:14px;padding:10px 12px;text-decoration:none}.portal-lang-option.active,.portal-lang-option:hover{background:rgba(var(--portal-accent-rgb),.12);color:var(--portal-accent)}.portal-lang-option--disabled{cursor:not-allowed;opacity:.45}.portal-locale-fallback-hint{background:rgba(var(--portal-accent-rgb),.08);border-radius:.5rem;color:var(--portal-muted,#6b7280);font-size:.875rem;margin:0 0 1rem;padding:.75rem 1rem}.portal-langs--desktop{display:none}.portal-auth-menu{flex-shrink:0;position:relative}.portal-auth-login-btn,.portal-auth-toggle{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:10px;color:var(--portal-accent);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;max-width:120px;min-height:40px;padding:8px 12px;touch-action:manipulation}.portal-auth-login-btn:hover,.portal-auth-toggle:hover{background:rgba(var(--portal-accent-rgb),.14)}.portal-auth-name{max-width:6.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-auth-caret{flex-shrink:0;font-size:10px;opacity:.8}.portal-auth-dropdown{background:var(--portal-card-solid);border:1px solid var(--portal-border);border-radius:12px;box-shadow:var(--portal-shadow);list-style:none;margin:0;min-width:168px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:80}.portal-auth-dropdown-email{color:var(--portal-muted);font-size:12px;overflow:hidden;padding:8px 12px 6px;text-overflow:ellipsis;white-space:nowrap}.portal-auth-option{background:transparent;border:0;border-radius:8px;color:var(--portal-text);cursor:pointer;display:block;font-size:14px;padding:10px 12px;text-align:left;text-decoration:none;width:100%}.portal-auth-option:hover{background:rgba(var(--portal-accent-rgb),.12);color:var(--portal-accent)}.portal-auth-option--danger{color:#f87171}.portal-auth-option--danger:hover{background:#f871711f;color:#fca5a5}.portal-auth-modal-overlay{align-items:center;backdrop-filter:blur(2px);background:#0000008c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:16px;position:fixed;z-index:200}.portal-auth-modal{background:var(--portal-bg-elevated);border:1px solid var(--portal-border);border-radius:16px;box-shadow:0 24px 48px #0006;max-height:calc(100vh - 32px);overflow:auto;padding:24px 20px 20px;position:relative;width:min(100%,400px)}.portal-auth-modal h2{font-size:20px;margin:0 0 8px}.portal-auth-modal-hint{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:0 0 14px}.portal-auth-modal .practice-label{margin-top:10px}.portal-auth-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.portal-auth-modal-close{background:transparent;border:0;border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:22px;height:32px;line-height:1;position:absolute;right:12px;top:10px;width:32px}.portal-auth-modal-close:hover{background:var(--portal-hover);color:var(--portal-text)}.portal-auth-success{color:var(--portal-accent);font-size:14px;margin:8px 0 0}html[dir=rtl] .portal-header,html[dir=rtl] .portal-nav{flex-direction:row-reverse}html[dir=rtl] .portal-auth-dropdown,html[dir=rtl] .portal-lang-dropdown{left:0;right:auto}html[dir=rtl] .breadcrumb ol,html[dir=rtl] .section-heading{flex-direction:row-reverse}.portal-mobile-nav{display:none}.portal-mobile-nav-item{align-items:center;color:var(--portal-muted);display:flex;flex:1;flex-direction:column;font-size:10px;font-weight:500;gap:3px;justify-content:center;letter-spacing:-.01em;min-height:var(--portal-mobile-nav-h);padding:6px 4px 4px;position:relative;text-decoration:none;touch-action:manipulation;z-index:1;-webkit-tap-highlight-color:transparent;transition:color .18s ease}.portal-mobile-nav-item:hover{color:var(--portal-text)}.portal-mobile-nav-item.active{color:var(--portal-accent)}.portal-mobile-nav-icon{align-items:center;display:flex;height:26px;justify-content:center;width:26px}.portal-mobile-nav-icon svg{height:24px;width:24px}.portal-mobile-nav-label{line-height:1.15}button.portal-mobile-nav-item{background:transparent;border:none;cursor:pointer;font:inherit;width:100%}.portal-app-dock-icon{align-items:center;display:flex;font-size:20px;height:26px;justify-content:center;line-height:1;width:26px}.portal-app-dock .portal-mobile-nav-item{min-width:0}.portal-app-dock .portal-mobile-nav-label{max-width:72px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.portal-app-dock:has(.portal-mobile-nav-item:nth-child(5)) .portal-mobile-nav-item{padding:6px 2px 4px}.portal-app-dock:has(.portal-mobile-nav-item:nth-child(5)) .portal-mobile-nav-label{font-size:9px;max-width:56px}.portal-app-site .portal-app-dock{backdrop-filter:saturate(180%) blur(20px);background:#1e1f22c7;border-top:.5px solid hsla(0,0%,100%,.1);bottom:0;display:flex;left:0;padding-bottom:var(--portal-safe-bottom);position:fixed;right:0;z-index:90}html[data-fm-theme=light] .portal-app-site .portal-app-dock{background:#ffffffe0;border-top-color:#00000014}.portal-app-site--fm .portal-app-dock{border:.5px solid hsla(0,0%,100%,.14);border-radius:28px;bottom:var(--portal-safe-bottom);box-shadow:0 6px 20px #00000047;gap:0;left:50%;padding:4px 6px;right:auto;transform:translate(-50%);width:min(400px,calc(100% - 24px))}html[data-fm-theme=light] .portal-app-site--fm .portal-app-dock{backdrop-filter:saturate(180%) blur(24px);background:#ffffffeb;border-color:#00000014;box-shadow:0 10px 32px #0000001a}.portal-app-site--fm .portal-app-dock .portal-mobile-nav-item{border-radius:22px;min-height:52px;padding:6px 4px 4px}.portal-app-site--fm .portal-app-dock .portal-app-dock-icon{border-radius:50%;height:34px;transition:background .18s ease;width:34px}.portal-app-site--fm .portal-app-dock .portal-mobile-nav-item.active .portal-app-dock-icon{background:#ffffff24}html[data-fm-theme=light] .portal-app-site--fm .portal-app-dock .portal-mobile-nav-item.active .portal-app-dock-icon{background:#0000000f}.portal-app-site.portal-site--with-mobile-nav .portal-main{padding-bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 24px)}.portal-app-site--fm.portal-site--with-mobile-nav .portal-main{padding-bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 36px)}.portal-app-site .portal-app-chrome-footer{padding-bottom:calc(16px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.portal-app-site .fm-mini-bar,.portal-app-site .podcast-mini-bar{bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.portal-app-site--fm .fm-mini-bar{border:none;border-radius:16px;bottom:calc(var(--portal-safe-bottom) + 58px);box-shadow:0 6px 18px #00000038;left:12px;right:12px}.portal-app-site .fm-mini-bar-error,.portal-app-site .podcast-mini-bar-error{bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 64px)}.portal-app-site--fm .fm-mini-bar-error{bottom:calc(var(--portal-safe-bottom) + 122px)}.fm-header-mine{align-items:center;background:#ffffff14;border:.5px solid hsla(0,0%,100%,.16);border-radius:50%;color:var(--portal-text);cursor:pointer;display:inline-flex;font-size:18px;height:40px;justify-content:center;touch-action:manipulation;width:40px;-webkit-tap-highlight-color:transparent}.fm-header-mine.active{background:var(--portal-accent);border-color:transparent;color:#fff}html[data-fm-theme=light] .fm-header-mine{background:#0000000d;border-color:#0000001a}.fm-home-empty,.fm-search-page-hint{color:var(--portal-muted);padding:28px 16px;text-align:center}.fm-home-empty-cta{background:var(--portal-accent);border:none;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-weight:600;margin-top:12px;padding:10px 18px}.fm-home-empty-cta--ghost{background:transparent;border:.5px solid color-mix(in srgb,var(--portal-accent) 45%,transparent);color:var(--portal-accent)}.fm-home-browse-hint{display:flex;justify-content:center;padding:8px 0 20px}@media(min-width:769px){.portal-app-site .portal-app-dock{border:.5px solid hsla(0,0%,100%,.1);border-bottom:none;border-radius:16px 16px 0 0;left:50%;right:auto;transform:translate(-50%);width:min(720px,calc(100% - 28px))}.portal-app-site .podcast-page{padding-bottom:calc(96px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}}.hero{background:var(--portal-bg-elevated);border-radius:var(--portal-radius);padding:40px 20px 28px;position:relative;text-align:center}.hero--editorial{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(var(--portal-accent-rgb),.14),transparent 60%),radial-gradient(ellipse 50% 40% at 90% 100%,rgba(var(--portal-azure-rgb),.08),transparent 55%),var(--portal-bg-elevated);border:1px solid rgba(var(--portal-accent-rgb),.12)}.hero:after,.hero:before{display:none}.hero>*{position:relative}.hero-tagline{align-items:center;color:var(--portal-muted);display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.hero-tagline:after,.hero-tagline:before{display:none}.hero h1{color:var(--portal-text);font-family:gg sans,Noto Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(28px,5.5vw,44px);font-weight:700;letter-spacing:.02em;margin:0 0 12px}.hero p,.hero-subtitle{color:var(--portal-muted);font-size:15px;line-height:1.7;margin:0 auto;max-width:560px}.hero-actions{gap:8px;margin-top:20px}.hero-actions,.home-quick-nav{display:flex;flex-wrap:wrap;justify-content:center}.home-quick-nav{gap:6px;list-style:none;margin:0 0 24px;padding:0}.home-quick-nav a{align-items:center;background:#ffffff08;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);display:inline-flex;font-size:13px;font-weight:500;min-height:34px;padding:6px 14px;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.home-quick-nav a:hover{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-text)}.home-page{display:flex;flex-direction:column;gap:4px}.home-focus{display:grid;gap:12px;grid-template-columns:1.4fr 1fr 1fr;margin:8px 0 20px}.home-focus-card{align-items:flex-start;background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);color:inherit;display:flex;flex-direction:column;gap:8px;min-height:148px;padding:18px 16px;text-decoration:none}.home-focus-card:hover{border-color:var(--portal-accent,#c4a574)}.home-focus-kicker{color:var(--portal-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.home-focus-title{font-size:18px;font-weight:600;line-height:1.35}.home-focus-meta{color:var(--portal-muted);font-size:13px;margin-top:auto}.home-focus-theme-links{display:flex;gap:12px;margin-top:auto}.home-focus-theme-links a{color:inherit;font-weight:600}.home-explore-more{margin:8px 0 16px}.home-explore-more>summary{color:var(--portal-muted);cursor:pointer;font-size:14px;margin-bottom:12px}.portal-contact{margin:0 auto 20px;max-width:var(--portal-content-max)}.portal-contact__card{align-items:center;background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);display:inline-flex;gap:16px;padding:14px 18px;text-align:left}.portal-contact__card--global{display:block;max-width:560px}.portal-contact__qr{background:#fff;border-radius:8px;flex-shrink:0;height:112px;-o-object-fit:contain;object-fit:contain;width:112px}.portal-contact__title{color:var(--portal-text);font-size:15px;font-weight:600;margin:0 0 6px}.portal-contact__hint{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:0;max-width:36em}.portal-contact__links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px}.portal-contact__link{color:inherit;font-size:14px;font-weight:600}.portal-contact__aside{color:var(--portal-muted);font-size:12px;margin:10px 0 0}.portal-contact--footer{text-align:center}.portal-contact--footer .portal-contact__card{max-width:100%}.portal-contact--section{margin-top:28px}@media(max-width:800px){.home-focus{grid-template-columns:1fr}}@media(max-width:640px){.portal-contact__card{flex-direction:column;text-align:center;width:100%}}.home-section-band{background:transparent;border-radius:var(--portal-radius);margin:0 0 28px;padding:20px 16px}.home-section-band--alt{background:#ffffff05;border:1px solid var(--portal-border)}.home-editorial{margin-bottom:28px}.home-editorial-error{margin:-12px 0 20px}.home-editorial-grid{align-items:start;display:grid;gap:16px}.home-editorial-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.home-editorial-list-item{border:1px solid transparent;border-radius:12px;color:inherit;display:grid;gap:12px;grid-template-columns:96px minmax(0,1fr);padding:10px 12px;text-decoration:none;transition:background .15s,border-color .15s}.home-editorial-list-item:hover{background:var(--portal-hover);border-color:var(--portal-border)}.home-editorial-list-thumb{background:var(--portal-card-solid);border-radius:8px;height:72px;-o-object-fit:cover;object-fit:cover;width:96px}.home-editorial-list-body{display:flex;flex-direction:column;gap:4px;min-width:0}.home-editorial-list-body h3{display:-webkit-box;font-size:15px;-webkit-line-clamp:2;line-height:1.45;margin:0;-webkit-box-orient:vertical;overflow:hidden}.home-editorial-list-body time{color:var(--portal-muted);font-size:12px}.post-card--featured .post-card-link{display:grid;grid-template-columns:1fr}.post-card--featured .post-card-cover{aspect-ratio:16/9;max-height:320px}.post-card--featured .post-card-body{padding:18px 16px 16px}.post-card--featured h2{font-size:clamp(20px,3vw,26px);line-height:1.35}.post-card--featured p{font-size:15px;-webkit-line-clamp:2}.home-media-tabs{scroll-margin-top:calc(var(--portal-header-h) + 16px)}.home-media-tabs-intro{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:-4px 0 14px}.home-media-tabs-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.home-media-tab{align-items:center;background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;min-height:36px;padding:6px 14px;transition:color .15s,background .15s,border-color .15s}.home-media-tab:hover{background:var(--portal-hover);color:var(--portal-text)}.home-media-tab--active{background:rgba(var(--portal-accent-rgb),.14);border-color:rgba(var(--portal-accent-rgb),.4);color:var(--portal-text)}.home-media-tab-count{background:#ffffff14;border-radius:999px;color:var(--portal-muted);font-size:11px;padding:1px 6px}.home-media-tab--active .home-media-tab-count{background:rgba(var(--portal-accent-rgb),.16);color:var(--portal-accent)}.home-media-tabs-panel{min-height:180px}.post-grid--videos{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portal-skip-link{height:1px;left:-9999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:100}.portal-skip-link:focus{background:var(--portal-card-solid);border:2px solid var(--portal-accent);border-radius:10px;box-shadow:var(--portal-shadow);color:var(--portal-text);font-size:14px;height:auto;left:12px;overflow:visible;padding:10px 16px;position:fixed;text-decoration:none;top:12px;width:auto}.portal-search{align-items:center;display:flex;position:relative}.portal-search-toggle{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:10px;color:var(--portal-accent);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;touch-action:manipulation;width:40px}.portal-search-toggle svg{height:18px;width:18px}.portal-search-form{align-items:center;background:var(--portal-card-solid);border:1px solid var(--portal-border);border-radius:12px;box-shadow:var(--portal-shadow);display:none;gap:6px;min-width:min(320px,calc(100vw - 28px));padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:90}.portal-search--open .portal-search-form{display:flex}.portal-search-label{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.portal-search-form input{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-text);flex:1;font-size:14px;min-height:40px;min-width:0;padding:8px 12px}.portal-search-form input::-moz-placeholder{color:var(--portal-muted)}.portal-search-form input::placeholder{color:var(--portal-muted)}.portal-search-submit{background:var(--portal-accent);border:none;border-radius:8px;color:#0f1e22;cursor:pointer;font-size:13px;font-weight:600;min-height:40px;padding:8px 12px;white-space:nowrap}.post-card--skeleton{overflow:hidden;pointer-events:none}.post-card-skeleton-cover{animation:portal-shimmer 1.4s ease-in-out infinite;aspect-ratio:16/9;background:linear-gradient(90deg,rgba(var(--portal-accent-rgb),.06) 0,rgba(var(--portal-accent-rgb),.14),rgba(var(--portal-accent-rgb),.06));background-size:200% 100%}.post-card-skeleton-body{display:flex;flex-direction:column;gap:10px;padding:16px}.post-card-skeleton-line{animation:portal-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(var(--portal-accent-rgb),.06) 0,rgba(var(--portal-accent-rgb),.12),rgba(var(--portal-accent-rgb),.06));background-size:200% 100%;border-radius:6px;display:block;height:12px}.post-card-skeleton-line--short{height:10px;width:28%}.post-card-skeleton-line--title{height:16px;width:88%}.post-card-skeleton-line--date{height:10px;margin-top:4px;width:36%}@keyframes portal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.portal-list-search{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.portal-list-search input{background:#ffffff0a;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);flex:1;font-size:14px;min-height:44px;min-width:min(100%,220px);padding:10px 14px}.search-results-hint{color:var(--portal-muted);font-size:14px;line-height:1.6;margin:-4px 0 12px}.search-clear-link{color:var(--portal-accent);margin-left:8px;text-decoration:none}.search-clear-link:hover{text-decoration:underline}#apps,#home-media,#themes{scroll-margin-top:calc(var(--portal-header-h) + 16px)}.theme-section{margin:8px 0 32px}.home-intro-body{color:var(--portal-muted);font-size:15px;line-height:1.75;margin:0 0 16px;max-width:720px}.home-intro-links{display:flex;flex-wrap:wrap;gap:10px}.theme-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));list-style:none;margin:0;padding:0}.theme-card{backdrop-filter:blur(8px);background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.theme-card:hover{border-color:rgba(var(--portal-accent-rgb),.45);box-shadow:var(--portal-shadow),0 0 0 1px rgba(var(--portal-accent-rgb),.08);transform:translateY(-3px)}.theme-card-link{color:inherit;display:block;height:100%;padding:20px 16px;text-align:center;text-decoration:none}.theme-card-link h3{color:var(--portal-text);font-size:16px;margin:0 0 8px}.theme-card-link p{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:0 0 10px}.theme-more{color:var(--portal-accent);font-size:12px;letter-spacing:.04em}.theme-icon{align-items:center;background:linear-gradient(145deg,rgba(var(--portal-azure-rgb),.22),rgba(var(--portal-accent-rgb),.08));border-radius:50%;box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.22);color:var(--portal-accent-2);display:inline-flex;font-family:KaiTi,STKaiti,Songti SC,serif;font-size:22px;height:48px;justify-content:center;margin:0 auto 10px;transition:transform .25s ease,box-shadow .25s ease;width:48px}.theme-card:hover .theme-icon{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.35),0 6px 18px rgba(var(--portal-accent-rgb),.15);transform:translateY(-2px)}.theme-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 20px}.theme-chip{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--portal-muted);display:inline-flex;font-size:14px;font-weight:500;gap:6px;min-height:34px;padding:6px 12px;text-decoration:none;transition:color .15s,background .15s}.theme-chip.router-link-active,.theme-chip:hover{background:var(--portal-hover);color:var(--portal-text)}.theme-chip.router-link-active{box-shadow:inset 3px 0 0 var(--portal-accent)}.theme-chip .theme-chip-icon{font-size:14px}.theme-page-header{margin:12px 0 24px}.theme-page-header .theme-icon{margin:0 0 12px}.theme-page-desc{color:var(--portal-muted);line-height:1.6;margin:8px 0 0;max-width:640px}.theme-related{display:flex;flex-wrap:wrap;font-size:14px;gap:10px 16px;margin-top:14px}.theme-related a{color:var(--portal-accent);text-decoration:none}.theme-related a:hover{text-decoration:underline}.theme-back{font-size:14px;margin-top:28px}.theme-back a{color:var(--portal-accent);text-decoration:none}.theme-back a:hover{text-decoration:underline}.page-title,.section-title{color:var(--portal-accent-2);font-family:Songti SC,STSong,PingFang SC,serif;font-size:20px;letter-spacing:.04em;margin:28px 0 14px;padding-left:14px;position:relative}.page-title:before,.section-title:before{background:linear-gradient(180deg,var(--portal-accent-2),var(--portal-accent));border-radius:2px;content:"";height:1.05em;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}html[dir=rtl] .page-title,html[dir=rtl] .section-title{padding-left:0;padding-right:14px}html[dir=rtl] .page-title:before,html[dir=rtl] .section-title:before{left:auto;right:0}.page-title{margin-top:0}.section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:28px 0 14px}.section-heading .section-title{margin:0}.section-more{color:var(--portal-accent);font-size:14px;text-decoration:none;touch-action:manipulation;white-space:nowrap}.section-more:hover{text-decoration:underline}.breadcrumb{margin-bottom:16px}.breadcrumb ol{color:var(--portal-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:4px;list-style:none;margin:0;padding:0}.breadcrumb a{color:var(--portal-accent);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .sep{margin:0 4px;opacity:.5}.post-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.post-card{background:var(--portal-card);border:none;border-radius:var(--portal-radius);overflow:hidden;transition:background .15s,transform .15s}.post-card:hover{background:var(--portal-hover);transform:translateY(-1px)}.post-card-link{color:inherit;display:flex;flex-direction:column;height:100%;text-decoration:none}.post-card-cover{aspect-ratio:16/9;background:var(--portal-card-solid);display:block;min-height:140px;-o-object-fit:cover;object-fit:cover;transition:transform .35s ease;width:100%}.post-card:hover .post-card-cover{transform:scale(1.045)}.post-hero-cover{aspect-ratio:16/9;background:var(--portal-card-solid);border-radius:8px;margin:0 0 20px;max-height:420px;-o-object-fit:cover;object-fit:cover;width:100%}.post-card-body{display:flex;flex:1;flex-direction:column;gap:8px;padding:16px}.post-card-type{align-self:flex-start;background:#6b9b6e29;border:1px solid rgba(107,155,110,.22);border-radius:999px;color:var(--portal-green);font-size:11px;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.post-card h2{font-size:17px;line-height:1.4;margin:0;transition:color .2s}.post-card:hover h2{color:var(--portal-accent)}.post-card p{color:var(--portal-muted);display:-webkit-box;flex:1;font-size:14px;-webkit-line-clamp:3;margin:0;-webkit-box-orient:vertical;overflow:hidden}.post-card time{color:var(--portal-muted);font-size:12px;opacity:.85}.post-detail{margin:0 auto;max-width:960px}.post-detail--article{max-width:1080px}.post-detail h1{font-size:clamp(24px,4vw,34px);line-height:1.35;margin:0 0 8px}.post-lede{color:var(--portal-muted);font-size:17px;line-height:1.7;margin:0 0 12px}.post-detail .meta{color:var(--portal-muted);font-size:14px;margin-bottom:20px}.detail-video{background:#000;border-radius:12px;margin-bottom:20px;max-height:70vh;width:100%}.detail-layout{display:grid;gap:24px;grid-template-columns:1fr 280px}.article-progress{background:linear-gradient(90deg,var(--portal-accent-2),var(--portal-accent));height:2px;left:0;opacity:.95;pointer-events:none;position:fixed;right:0;top:var(--portal-header-h);transform-origin:left center;z-index:49}.article-header{background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.08),#0f1e228c);border:1px solid rgba(var(--portal-accent-rgb),.22);border-radius:16px;margin:8px 0 24px;padding:20px 22px}.article-category{color:var(--portal-accent);font-size:12px;letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase}.article-title{font-family:Songti SC,STSong,PingFang SC,serif;font-size:clamp(26px,4.5vw,36px);font-weight:600;letter-spacing:.02em;line-height:1.32;margin:0 0 12px}.article-lede{color:#d6d3d1;font-size:17px;line-height:1.75;margin:0 0 14px}.article-meta-row{color:var(--portal-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px}.article-reading-time{color:var(--portal-accent)}.article-reading-layout{align-items:start;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) 220px}.article-prose-wrap{max-width:720px;min-width:0}.article-toc-desktop{backdrop-filter:blur(8px);background:#0f1e22b8;border:1px solid var(--portal-border);border-radius:12px;max-height:calc(100vh - var(--portal-header-h) - 32px);overflow:auto;padding:14px 12px;position:sticky;top:calc(var(--portal-header-h) + 16px)}.article-toc-title{color:var(--portal-muted);font-size:12px;letter-spacing:.08em;margin:0 0 10px}.article-toc-list{display:flex;flex-direction:column;gap:4px}.article-toc-link{border-left:2px solid transparent;border-radius:8px;color:var(--portal-muted);display:block;font-size:13px;line-height:1.45;padding:6px 8px;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.article-toc-link.is-h3{font-size:12px;padding-left:18px}.article-toc-link.active,.article-toc-link:hover{background:rgba(var(--portal-accent-rgb),.1);border-left-color:var(--portal-accent);color:var(--portal-accent)}.article-toc-mobile{display:none;margin-bottom:16px}.article-toc-toggle{align-items:center;background:var(--portal-card);border:1px solid var(--portal-border);border-radius:12px;color:var(--portal-text);cursor:pointer;display:flex;font-size:14px;gap:8px;justify-content:space-between;padding:12px 14px;width:100%}.article-toc-count{background:rgba(var(--portal-accent-rgb),.15);border-radius:999px;color:var(--portal-accent);font-size:12px;padding:2px 8px}.article-toc-panel{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:12px;display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:10px}.article-prose-wrap .article-body,.detail-content .article-body{color:#e7e5e4;font-size:17px;letter-spacing:.01em;line-height:1.9}.detail-content .article-body :first-child{margin-top:0}.article-prose-wrap .article-body h2,.article-prose-wrap .article-body h3,.detail-content .article-body h2,.detail-content .article-body h3{color:var(--portal-accent);line-height:1.4;margin:2em 0 .75em;scroll-margin-top:calc(var(--portal-header-h) + 12px)}.article-prose-wrap .article-body h2,.detail-content .article-body h2{font-size:1.4em}.article-prose-wrap .article-body h3,.detail-content .article-body h3{font-size:1.18em;opacity:.95}.article-prose-wrap .article-body p,.detail-content .article-body p{margin:0 0 1.15em}.article-prose-wrap .article-body a,.detail-content .article-body a{color:var(--portal-accent);text-decoration:underline;text-underline-offset:2px}.article-prose-wrap .article-body ol,.article-prose-wrap .article-body ul,.detail-content .article-body ol,.detail-content .article-body ul{margin:0 0 1.15em;padding-left:1.5em}.article-prose-wrap .article-body li{margin-bottom:.45em}.article-prose-wrap .article-body li::marker{color:var(--portal-accent)}.article-table-wrap{border:1px solid rgba(var(--portal-accent-rgb),.2);border-radius:12px;margin:1.25em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.article-prose-wrap .article-body table{border-collapse:collapse;font-size:14px;min-width:480px;width:100%}.article-prose-wrap .article-body td,.article-prose-wrap .article-body th{border-bottom:1px solid rgba(var(--portal-accent-rgb),.12);padding:10px 12px;text-align:left;vertical-align:top}.article-prose-wrap .article-body th{background:rgba(var(--portal-accent-rgb),.1);color:var(--portal-accent);font-weight:600;white-space:nowrap}.article-prose-wrap .article-body tr:last-child td{border-bottom:none}.article-prose-wrap .article-body tr:nth-child(2n) td{background:#ffffff05}.article-prose-wrap .article-body blockquote,.detail-content .article-body blockquote{background:rgba(var(--portal-accent-rgb),.08);border-left:3px solid var(--portal-accent);border-radius:0 10px 10px 0;color:#d6d3d1;font-size:.96em;margin:1.25em 0;padding:14px 18px}.article-prose-wrap .article-body strong{color:#fafaf9;font-weight:600}.article-prose-wrap .article-body hr{background:linear-gradient(90deg,transparent,rgba(var(--portal-accent-rgb),.35),transparent);border:none;height:1px;margin:2em 0}.detail-content .article-body img,.detail-content .article-body video{border-radius:8px;margin:1em 0;max-width:100%}.portal-article-figure{background:var(--portal-card);border:1px solid rgba(var(--portal-accent-rgb),.2);border-radius:12px;margin:1.25em 0;overflow:hidden}.portal-article-figure img{aspect-ratio:16/9;display:block;margin:0;-o-object-fit:cover;object-fit:cover;width:100%}.portal-article-figure figcaption{border-top:1px solid rgba(var(--portal-accent-rgb),.12);color:var(--portal-muted);font-size:13px;padding:10px 14px;text-align:center}.detail-content .article-body audio.portal-article-audio__player,.detail-content .portal-article-audio__player{border-radius:10px;margin:0;width:100%}.portal-article-audio{background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.12),#252220e6);border:1px solid rgba(var(--portal-accent-rgb),.28);border-radius:14px;margin:1.25em 0;padding:14px 16px}.portal-article-audio__meta{align-items:center;display:flex;gap:12px;margin-bottom:12px}.portal-article-audio__icon{align-items:center;background:rgba(var(--portal-accent-rgb),.15);border-radius:50%;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.portal-article-audio__text{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-article-audio__label{color:var(--portal-muted);font-size:12px;letter-spacing:.06em}.portal-article-audio__title{color:var(--portal-text);font-size:15px;font-weight:600;line-height:1.4}.portal-article-audio__error{color:#ef4444;font-size:12px;margin:8px 0 0}html[dir=rtl] .portal-article-audio__meta{flex-direction:row-reverse}html[dir=rtl] .article-body,html[dir=rtl] .article-prose-wrap .article-body{direction:rtl;text-align:right}html[dir=rtl] .article-prose-wrap .article-body ol,html[dir=rtl] .article-prose-wrap .article-body ul{padding-left:0;padding-right:1.25em}html[dir=rtl] .article-prose-wrap .article-body blockquote{border-left:none;border-right:3px solid var(--portal-accent);padding-left:0;padding-right:1em}html[dir=rtl] .article-toc-desktop{border-left:none;border-right:1px solid var(--portal-border);padding-left:0;padding-right:1rem}html[dir=rtl] .article-locale-fallback{text-align:right}.article-locale-fallback{background:rgba(var(--portal-accent-rgb),.12);border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-muted);font-size:.92rem;line-height:1.5;margin:0 0 1rem;padding:.75rem 1rem}html[dir=rtl] .portal-article-audio__text{text-align:right}.theme-column-tabs,.theme-content-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.theme-column-tab{border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);font-size:14px;padding:6px 14px;text-decoration:none}.theme-column-tab.active,.theme-column-tab:hover{background:rgba(var(--portal-accent-rgb),.1);border-color:var(--portal-accent);color:var(--portal-accent)}.theme-music-desc{color:var(--portal-muted);font-size:13px;line-height:1.6;margin:-4px 0 12px}.theme-music-player{margin:20px 0 24px;padding:16px 18px}.theme-music-title{font-size:1.05rem;margin:0 0 12px}.theme-music-now{align-items:center;display:flex;gap:12px;margin-bottom:12px}.theme-music-disc{font-size:1.6rem}.theme-music-disc.spinning{animation:portal-spin 4s linear infinite}.theme-music-list{list-style:none;margin:0;max-height:280px;overflow:auto;padding:0}.theme-music-item{border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.theme-music-item.active,.theme-music-item:hover{background:rgba(var(--portal-accent-rgb),.12);border-color:var(--portal-border)}.theme-music-more{color:var(--portal-muted);font-size:12px;margin:8px 0 0}@keyframes portal-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.retry-btn{background:transparent;border:1px solid var(--portal-border);border-radius:6px;color:var(--portal-accent);cursor:pointer;font-size:13px;margin-left:8px;padding:4px 12px}.retry-btn:hover{background:rgba(var(--portal-accent-rgb),.1)}.ad-slot{margin:16px 0;min-height:0;text-align:center}.ad-slot.ad-empty{display:none}.ad-leaderboard{min-height:90px}.ad-rectangle{min-height:250px}.ad-sidebar{min-height:280px}.ad-in-feed{grid-column:1/-1;min-height:120px}.ad-placeholder{display:none}.portal-footer{background:linear-gradient(180deg,transparent,rgba(var(--portal-azure-rgb),.06));border-top:1px solid var(--portal-border);color:var(--portal-muted);font-size:13px;padding:28px 24px;text-align:center}.portal-footer a{color:var(--portal-accent);text-decoration:none}.portal-footer-icp{margin-top:6px}.portal-wechat-contact{margin:0 auto 20px;max-width:var(--portal-content-max)}.portal-wechat-contact__card{align-items:center;background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);display:inline-flex;gap:16px;padding:14px 18px;text-align:left}.portal-wechat-contact__qr{background:#fff;border-radius:8px;flex-shrink:0;height:112px;-o-object-fit:contain;object-fit:contain;width:112px}.portal-wechat-contact__title{color:var(--portal-text);font-size:15px;font-weight:600;margin:0 0 6px}.portal-wechat-contact__hint{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:0;max-width:28em}.portal-wechat-contact--footer{text-align:center}.portal-wechat-contact--footer .portal-wechat-contact__card{max-width:100%}.portal-wechat-contact--section{margin-bottom:8px;margin-top:40px}.portal-wechat-contact--section .portal-wechat-contact__card{max-width:480px;width:100%}.portal-wechat-contact--section .portal-wechat-contact__qr{height:140px;width:140px}@media(max-width:640px){.portal-wechat-contact__card{flex-direction:column;text-align:center;width:100%}.portal-wechat-contact__hint{max-width:none}}.empty,.error{color:var(--portal-muted);padding:32px;text-align:center}@media(max-width:900px){.detail-layout{grid-template-columns:1fr}.detail-sidebar{order:-1}.article-reading-layout{grid-template-columns:1fr}.article-toc-desktop{display:none}.article-toc-mobile{display:block}.article-header{padding:16px}.article-prose-wrap{max-width:none}}@media(min-width:901px){.article-toc-mobile{display:none}}.fm-page{margin:0 auto;max-width:680px;padding:8px 0 24px}.fm-page.fm-has-player{padding-bottom:calc(88px + var(--portal-safe-bottom))}.fm-layout{display:flex;flex-direction:column;gap:16px}.fm-main{flex:1;min-width:0}.fm-sidebar{display:none}.fm-sidebar-title{color:var(--portal-muted);font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.fm-sidebar-title-sub{margin-top:18px}.fm-source-nav{display:flex;flex-direction:column;gap:4px}.fm-source-btn{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--portal-text);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;text-align:left;transition:background .15s,color .15s;width:100%}.fm-source-btn:hover{background:#ffffff0d}.fm-source-btn.active{background:rgba(var(--portal-accent-rgb),.14);color:var(--portal-accent);font-weight:600}.fm-source-icon{flex-shrink:0;font-size:16px;text-align:center;width:22px}.fm-sidebar-regions{display:flex;flex-direction:column;gap:4px}.fm-sidebar-chip{background:transparent;border:none;border-radius:8px;color:var(--portal-muted);cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;width:100%}.fm-sidebar-chip:hover{background:#ffffff0a;color:var(--portal-text)}.fm-sidebar-chip.active{background:rgba(var(--portal-accent-rgb),.12);color:var(--portal-accent);font-weight:600}.fm-source-scroll{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fm-source-scroll::-webkit-scrollbar{display:none}.fm-source-chip{align-items:center;background:#ffffff08;border:1px solid hsla(0,0%,100%,.08);border-radius:999px;color:var(--portal-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:13px;gap:6px;padding:8px 14px;transition:border-color .15s,background .15s,color .15s}.fm-source-chip.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent);font-weight:600}.fm-catalog-summary{color:var(--portal-muted);flex:1;font-size:12px;margin:0;min-width:0}.fm-catalog-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:0 0 10px}.fm-filters-toggle{align-items:center;background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;max-width:52%;padding:5px 12px}.fm-filters-toggle span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-filters-toggle.active,.fm-filters-toggle.has-value{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.fm-panel-tools{align-items:center;display:flex;flex-shrink:0;gap:2px}.fm-icon-btn.active{background:rgba(var(--portal-accent-rgb),.12);color:var(--portal-accent)}.fm-station-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-station-card{background:#ffffff08;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f;cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .15s}.fm-station-card:hover:not(.unavailable){box-shadow:0 8px 24px #00000040;transform:translateY(-2px)}.fm-station-card.active{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.45)}.fm-station-card.playing{background:rgba(var(--portal-accent-rgb),.06);box-shadow:inset 0 0 0 1.5px rgba(var(--portal-accent-rgb),.65),0 0 0 1px rgba(var(--portal-accent-rgb),.18)}.fm-station-card.unavailable{cursor:not-allowed;opacity:.55}.fm-station-card-cover{aspect-ratio:1;background:rgba(var(--portal-accent-rgb),.08);overflow:hidden;position:relative}.fm-station-card-cover img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-station-card-live{border-radius:999px;color:#ef4444;font-size:10px;font-weight:700;left:8px;letter-spacing:.06em;padding:2px 8px;top:8px}.fm-station-card-live,.fm-station-card-play{background:#0000008c;position:absolute}.fm-station-card-play{align-items:center;backdrop-filter:blur(6px);border:none;border-radius:50%;bottom:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;height:40px;justify-content:center;opacity:0;right:8px;transform:scale(.92);transition:opacity .15s,transform .15s;width:40px}.fm-station-card.playing .fm-station-card-play,.fm-station-card:hover .fm-station-card-play{opacity:1;transform:scale(1)}.fm-station-card-play:disabled{cursor:not-allowed;opacity:.35}.fm-station-card-fav{align-items:center;background:#00000073;border:none;border-radius:50%;color:#ffffffd9;cursor:pointer;display:inline-flex;font-size:14px;height:32px;justify-content:center;position:absolute;right:8px;top:8px;width:32px}.fm-station-card-fav.active{color:#fbbf24}.fm-station-card-body{padding:10px 12px 12px}.fm-station-card-name{display:-webkit-box;font-size:14px;font-weight:600;-webkit-line-clamp:2;line-height:1.35;margin:0 0 6px;-webkit-box-orient:vertical;overflow:hidden}.fm-station-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin:0}.fm-desktop-bar{align-items:center;backdrop-filter:blur(16px);background:#121c20f5;border-radius:16px;bottom:16px;box-shadow:0 12px 40px #0006,inset 0 0 0 1px #ffffff14;display:none;gap:14px;left:16px;margin:0 auto;max-width:960px;padding:10px 16px;position:fixed;right:16px;z-index:90}.fm-desktop-bar-cover{border-radius:10px;flex-shrink:0;height:52px;-o-object-fit:cover;object-fit:cover;width:52px}.fm-desktop-bar-meta{flex:1;min-width:0}.fm-desktop-bar-title{font-size:14px;font-weight:600}.fm-desktop-bar-desc,.fm-desktop-bar-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-desktop-bar-desc{color:var(--portal-muted);font-size:12px}.fm-desktop-bar-controls{align-items:center;display:flex;flex-shrink:0;gap:8px}.fm-desktop-bar-volume{flex-shrink:0;margin:0}.fm-desktop-bar-volume input[type=range]{width:88px}.fm-desktop-bar .fm-stream-line-btn{flex-shrink:0;white-space:nowrap}.fm-mini-bar-volume{flex-shrink:0;gap:4px;margin:0}.fm-mini-bar-volume input[type=range]{width:52px}.fm-mini-bar-volume-label{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.fm-header{margin-bottom:16px}.fm-title-row{align-items:center;display:flex;gap:12px}.fm-icon{flex-shrink:0;font-size:28px}.fm-title-row h1{font-size:22px;font-weight:600;line-height:1.3;margin:0}.fm-title-row p{color:var(--portal-muted);font-size:13px;margin:2px 0 0}.fm-now-playing{align-items:center;background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.12),#0f1e22cc);border:1px solid rgba(var(--portal-accent-rgb),.25);border-radius:16px;display:flex;flex-direction:column;gap:16px;margin-bottom:20px;padding:20px 16px;text-align:center;transition:border-color .25s,box-shadow .25s}.fm-now-playing.active{border-color:rgba(var(--portal-accent-rgb),.45);box-shadow:0 8px 32px rgba(var(--portal-accent-rgb),.1)}.fm-np-visual{flex-shrink:0;position:relative;width:160px}.fm-np-art{align-items:center;background:radial-gradient(circle at 30% 30%,#3f3f46,#18181b);border-radius:18px;box-shadow:0 10px 28px #00000047;display:flex;height:160px;justify-content:center;overflow:hidden;width:160px}.fm-np-art.spinning{animation:fm-art-pulse 2.4s ease-in-out infinite}@keyframes fm-art-pulse{0%,to{box-shadow:0 10px 28px #00000047;transform:scale(1)}50%{box-shadow:0 12px 32px rgba(var(--portal-accent-rgb),.22);transform:scale(1.02)}}.fm-np-cover{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-np-placeholder{font-size:48px}.fm-np-disc{align-items:center;background:radial-gradient(circle at 30% 30%,#3f3f46,#18181b);border-radius:50%;box-shadow:0 8px 24px #00000040;display:flex;font-size:36px;height:100%;justify-content:center;width:100%}.fm-np-disc.spinning{animation:fm-spin-disc 8s linear infinite}@keyframes fm-spin-disc{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fm-np-controls{gap:10px;margin-top:14px}.fm-np-controls,.fm-np-nav-btn{align-items:center;display:flex;justify-content:center}.fm-np-nav-btn{background:#00000059;border:none;border-radius:50%;color:var(--portal-text);cursor:pointer;font-size:20px;height:36px;line-height:1;width:36px}.fm-np-nav-btn:disabled{cursor:not-allowed;opacity:.35}.fm-np-play-btn{align-items:center;background:var(--portal-accent);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(var(--portal-accent-rgb),.35);color:var(--portal-bg);cursor:pointer;display:flex;font-size:18px;height:52px;justify-content:center;position:static;transition:transform .15s,opacity .15s;width:52px}.fm-np-play-btn:active{transform:scale(.95)}.fm-np-play-btn:disabled{cursor:not-allowed;opacity:.5}.fm-np-meta{width:100%}.fm-np-live{background:#ef44441f;color:#ef4444;font-weight:700;letter-spacing:.08em;margin-bottom:6px}.fm-np-live,.fm-np-reconnect{border-radius:999px;display:inline-block;font-size:10px;padding:2px 8px}.fm-np-reconnect{background:#f59e0b1f;color:#f59e0b;font-weight:600}.fm-quick-regions{margin-bottom:18px}.fm-region-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.fm-region-tile{background:rgba(var(--portal-azure-rgb),.06);border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);cursor:pointer;padding:10px 6px;text-align:center;transition:border-color .2s,transform .15s}.fm-region-tile:hover{border-color:rgba(var(--portal-azure-rgb),.35);transform:translateY(-1px)}.fm-region-tile.active{background:rgba(var(--portal-azure-rgb),.14);border-color:rgba(var(--portal-azure-rgb),.55);color:var(--portal-azure)}.fm-region-tile-label{font-size:13px;font-weight:600}.fm-quick-categories{margin-bottom:18px}.fm-category-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.fm-category-tile{background:linear-gradient(145deg,rgba(var(--portal-accent-rgb),.08),#0000001f);border:1px solid var(--portal-border);border-radius:12px;color:var(--portal-text);cursor:pointer;padding:14px 10px;text-align:center;transition:border-color .2s,transform .15s}.fm-category-tile:hover{border-color:rgba(var(--portal-accent-rgb),.35);transform:translateY(-1px)}.fm-category-tile.active{background:rgba(var(--portal-accent-rgb),.16);border-color:rgba(var(--portal-accent-rgb),.55);color:var(--portal-accent)}.fm-category-tile-label{font-size:14px;font-weight:600}.fm-np-name{font-size:18px;font-weight:600;margin-bottom:4px}.fm-np-desc{color:var(--portal-muted);font-size:13px}.fm-np-error{color:#ef4444;font-size:12px;margin:8px 0 0}.fm-np-muted,.fm-player-muted{margin:10px 0 0}.fm-unmute-btn{align-items:center;background:rgba(var(--portal-accent-rgb),.22);border:0;border-radius:999px;color:var(--portal-text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:8px 14px}.fm-unmute-btn:hover{background:rgba(var(--portal-accent-rgb),.32)}.fm-np-head{gap:8px;margin-bottom:6px}.fm-np-head,.fm-np-tools{align-items:center;display:flex}.fm-np-tools{flex-wrap:wrap;gap:12px;margin-top:12px}.fm-sleep,.fm-volume{align-items:center;color:var(--portal-muted);display:flex;font-size:12px;gap:8px}.fm-volume input[type=range]{accent-color:var(--portal-accent);width:96px}.fm-sleep select{color:inherit;padding:4px 8px}.fm-sleep select,.fm-stream-line-btn{background:#0003;border:1px solid var(--portal-border);border-radius:8px;font-size:12px}.fm-stream-line-btn{color:var(--portal-muted);cursor:pointer;line-height:1.4;padding:4px 10px}.fm-stream-line-btn:hover{background:rgba(var(--portal-accent-rgb),.08);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-text)}.fm-sleep-hint{color:var(--portal-accent);font-size:12px;margin:8px 0 0}.fm-resume-card{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.25);border-radius:12px;display:flex;gap:12px;margin-bottom:14px;padding:12px 14px}.fm-resume-card--hero{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent) 16%,var(--portal-card)),var(--portal-card));border:1px solid color-mix(in srgb,var(--portal-accent) 28%,var(--portal-border));cursor:pointer;gap:14px;min-height:96px;padding:14px 16px}.fm-resume-card--hero:hover{border-color:color-mix(in srgb,var(--portal-accent) 50%,var(--portal-border))}.fm-resume-card--hero .fm-resume-cover{border-radius:14px;height:72px;width:72px}.fm-resume-card--hero .fm-resume-name{font-size:16px}.fm-resume-card--hero .fm-resume-btn{font-size:15px;font-weight:700;min-height:44px;min-width:72px;padding:10px 18px}.fm-resume-meta{color:var(--portal-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-resume-cover{background:#0003;border-radius:12px;flex-shrink:0;height:72px;overflow:hidden;width:72px}.fm-resume-cover img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-resume-copy{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.fm-resume-label{color:var(--portal-muted);font-size:11px}.fm-resume-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-resume-btn{background:var(--portal-accent);border:none;border-radius:999px;color:var(--portal-bg);cursor:pointer;flex-shrink:0;font-size:13px;padding:8px 14px}.fm-list-tabs{display:flex;flex-wrap:wrap;gap:6px}.fm-list-tab{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:12px;padding:6px 12px}.fm-list-tab.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.fm-panel-options{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.fm-panel-options--top{background:rgba(var(--portal-accent-rgb),.04);border:1px solid var(--portal-border);border-radius:12px;margin-bottom:12px;margin-top:2px;padding:8px 10px}.fm-toggle{align-items:center;color:var(--portal-muted);cursor:pointer;display:flex;font-size:12px;gap:6px}.fm-layout-toggle-wrap{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.fm-layout-toggle-label{color:var(--portal-text);font-size:12px;font-weight:600;white-space:nowrap}.fm-layout-toggle{background:#ffffff0d;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;display:inline-flex;gap:4px;padding:2px}html[data-fm-theme=light] .fm-layout-toggle{background:#1f29330a;border-color:#1f293324}.fm-layout-btn{background:transparent;border:none;border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:12px;padding:5px 10px}.fm-layout-btn.active{background:rgba(var(--portal-accent-rgb),.14);color:var(--portal-accent);font-weight:600}.fm-keyboard-hint{color:var(--portal-muted);display:none;font-size:11px;opacity:.85}.fm-keyboard-hint--block{margin:0 0 10px}@media(min-width:769px){.fm-keyboard-hint{display:inline}.fm-keyboard-hint--block{display:block}}.fm-search-clear{font-size:18px;padding:0 2px}.fm-fav-btn,.fm-search-clear{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;line-height:1}.fm-fav-btn{font-size:16px;padding:2px 4px}.fm-fav-btn.active{color:#fbbf24}.fm-share-btn{background:rgba(var(--portal-accent-rgb),.1);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:999px;color:var(--portal-accent);cursor:pointer;font-size:12px;font-weight:600;line-height:1;padding:4px 10px}.fm-share-btn:hover{background:rgba(var(--portal-accent-rgb),.18)}.fm-share-hint{color:var(--portal-accent);font-size:12px;margin:6px 0 0}.fm-place-toggle{color:var(--portal-text);font-size:13px;margin:-2px 2px 10px}.fm-place-toggle input{accent-color:var(--portal-accent);height:16px;margin:0;width:16px}.fm-station-cat-chips{margin:0 0 10px;padding-bottom:2px}.fm-browse-modes{background:#00000029;border:1px solid var(--portal-border);border-radius:12px;display:flex;flex-wrap:nowrap;gap:4px;margin-bottom:10px;padding:3px}.fm-browse-mode{background:transparent;border:none;border-radius:9px;color:var(--portal-muted);cursor:pointer;flex:1 1 0;font-size:13px;font-weight:600;min-width:0;padding:8px 6px;text-align:center}.fm-browse-mode.active{background:rgba(var(--portal-accent-rgb),.22);box-shadow:0 1px #ffffff0a;color:var(--portal-text)}.fm-browse-bar{background:#00000024;border:1px solid var(--portal-border);border-radius:12px;margin-bottom:8px;padding:8px 10px 4px}@media(min-width:769px){.fm-browse-bar{background:linear-gradient(to bottom,var(--portal-bg-elevated,var(--portal-card)) 72%,transparent);position:sticky;top:calc(var(--portal-header-h, 48px) + 4px);z-index:4}}.fm-active-filters{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.fm-active-chip{background:rgba(var(--portal-accent-rgb),.1);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:999px;padding:4px 10px}.fm-active-chip,.fm-clear-filters{color:var(--portal-accent);cursor:pointer;font-size:12px}.fm-clear-filters{background:transparent;border:none;font-weight:600;padding:4px 6px}.fm-country-chip-more{border-style:dashed!important}.fm-picker-sheet{align-items:flex-end;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:12100}.fm-picker-backdrop{background:#0000008c;top:0;right:0;bottom:0;left:0;position:absolute}.fm-picker-panel{background:var(--portal-bg-elevated,var(--portal-card));border-radius:16px 16px 0 0;box-shadow:0 -8px 32px #00000059;display:flex;flex-direction:column;max-height:min(78vh,640px);padding-bottom:env(safe-area-inset-bottom,0);position:relative;width:min(520px,100%)}.fm-picker-head{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 16px 8px}.fm-picker-title{font-size:16px;font-weight:700;margin:0}.fm-picker-close{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.fm-picker-search{align-items:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;color:#000;display:flex;gap:8px;margin:0 16px 10px;padding:8px 12px}.fm-picker-search>span:first-child{color:#000;flex-shrink:0;font-size:17px;line-height:1}.fm-picker-search input{background:transparent;border:none;color:#1c1c1e;flex:1;font-size:14px;outline:none}.fm-picker-search input::-moz-placeholder{color:#3c3c4373}.fm-picker-search input::placeholder{color:#3c3c4373}.fm-picker-list{overflow-y:auto;padding:0 8px 16px;-webkit-overflow-scrolling:touch}.fm-picker-item{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--portal-text);cursor:pointer;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:12px;text-align:left;width:100%}.fm-picker-item:hover{background:#ffffff0a}.fm-picker-item.active{background:rgba(var(--portal-accent-rgb),.12);color:var(--portal-accent);font-weight:600}.fm-picker-count{color:var(--portal-muted);font-size:12px}.fm-picker-empty{color:var(--portal-muted);font-size:13px;margin:16px;text-align:center}@media(min-width:769px){.fm-picker-sheet{align-items:center}.fm-picker-panel{border-radius:16px;max-height:min(70vh,560px)}}.fm-car-btn,.fm-switch-btn{background:#0003;border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:12px;line-height:1.4;padding:4px 10px}.fm-car-btn.active,.fm-car-btn:hover,.fm-switch-btn:hover{background:rgba(var(--portal-accent-rgb),.08);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-text)}.fm-switch-btn{border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-accent);font-weight:600}.fm-fav-io{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.fm-fav-io-btn{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:12px;padding:5px 12px}.fm-fav-io-btn:hover{background:rgba(var(--portal-accent-rgb),.08);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.fm-fav-io-input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.fm-fav-io-hint{color:var(--portal-accent);font-size:12px;margin:0;width:100%}body:has(.fm-car-mode) .portal-app-dock,body:has(.fm-classic-mode) .portal-app-dock,body:has(.fm-sleep-mode) .portal-app-dock{display:none!important}.fm-car-mode{--fm-car-blue:#3b82f6;--fm-car-blue-soft:#dbeafe;--fm-car-ink:#0f172a;--fm-car-muted:#64748b;--fm-car-card:#fff;--fm-car-bg:#f1f5f9;background:radial-gradient(ellipse at 12% 0,rgba(59,130,246,.14),transparent 42%),linear-gradient(180deg,#eef3f9 0,var(--fm-car-bg) 100%);box-sizing:border-box;color:var(--fm-car-ink);display:grid;gap:12px;grid-template-columns:minmax(260px,.4fr) minmax(0,.6fr);grid-template-rows:minmax(0,1fr);top:0;right:0;bottom:0;left:0;overflow:hidden;padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(10px + env(safe-area-inset-bottom,0px));position:fixed;z-index:12000}@media(max-width:820px),(orientation:portrait){.fm-car-mode{grid-template-columns:1fr;grid-template-rows:minmax(240px,.46fr) minmax(0,.54fr);overflow:hidden}}.fm-car-player-card,.fm-car-side{background:var(--fm-car-card);border-radius:28px;box-shadow:0 10px 30px #0f172a14;min-height:0;min-width:0}.fm-car-player-card{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding:14px 14px 12px;position:relative}.fm-car-player-top{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.fm-car-brand{align-items:center;background:var(--fm-car-blue-soft);border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.02em;padding:6px 12px}.fm-car-player-actions{display:inline-flex;gap:8px}.fm-car-icon-btn{background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:var(--fm-car-ink);cursor:pointer;display:grid;font-size:18px;height:40px;place-items:center;width:40px}.fm-car-icon-btn:disabled{cursor:default;opacity:.85}.fm-car-power{background:#fee2e2;border-color:#fecaca;color:#dc2626;font-weight:700}.fm-car-exit{background:#00000040;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-text);cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px;position:absolute;right:16px;top:calc(12px + env(safe-area-inset-top,0px))}.fm-car-hint{color:var(--portal-muted);font-size:13px;margin:0}.fm-car-hint-inline{color:var(--fm-car-muted);font-size:12px;margin:0;text-align:center}.fm-car-art{aspect-ratio:1;background:#e2e8f0;border-radius:22px;box-shadow:0 12px 28px #0f172a1f;flex:1 1 auto;height:min(28vmin,168px);max-height:min(28vmin,168px);max-width:100%;min-height:72px;overflow:hidden;width:min(28vmin,168px)}.fm-car-art img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-car-art-placeholder{display:grid;font-size:clamp(36px,8vmin,56px);height:100%;place-items:center;width:100%}.fm-car-title{color:var(--fm-car-ink);display:-webkit-box;flex:0 0 auto;font-size:clamp(16px,2.2vw,24px);font-weight:800;-webkit-line-clamp:2;line-height:1.25;margin:0;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;-webkit-box-orient:vertical}.fm-car-live-row{display:flex;justify-content:center}.fm-car-live-pill{align-items:center;border-radius:999px;color:#be185d;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:5px 12px}.fm-car-live-pill,.fm-car-live-pill.on{background:#fce7f3}.fm-car-live-pill i{background:#db2777;border-radius:50%;box-shadow:0 0 #db277773;height:7px;width:7px}.fm-car-live-pill.on i{animation:fm-car-pulse 1.4s ease-out infinite}@keyframes fm-car-pulse{0%{box-shadow:0 0 #db277773}70%{box-shadow:0 0 0 8px #db277700}to{box-shadow:0 0 #db277700}}.fm-car-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:100%}.fm-car-tag{background:#f1f5f9;border-radius:999px;color:var(--fm-car-muted);font-size:12px;font-weight:600;padding:4px 10px}.fm-car-meta{color:var(--portal-muted);font-size:15px;margin:0;text-align:center}.fm-car-controls{align-items:center;box-sizing:border-box;display:flex;flex:0 0 auto;flex-shrink:0;gap:clamp(8px,1.6vw,16px);justify-content:center;margin-top:auto;max-width:100%;padding:8px 4px 2px;width:100%}.fm-car-ctrl,.fm-car-play{border:none;color:var(--fm-car-ink);cursor:pointer;display:grid;place-items:center;-webkit-tap-highlight-color:transparent;flex:0 0 auto}.fm-car-ctrl{background:#f1f5f9;border-radius:50%;box-shadow:inset 0 0 0 1px #e2e8f0;font-size:clamp(22px,4vmin,28px);height:clamp(44px,7vmin,56px);line-height:1;width:clamp(44px,7vmin,56px)}.fm-car-ctrl:disabled{cursor:not-allowed;opacity:.35}.fm-car-heart.on{background:#ffe4e6;color:#e11d48}.fm-car-play{background:var(--fm-car-blue);border-radius:50%;box-shadow:0 10px 24px #3b82f659;color:#fff;font-size:clamp(22px,4vmin,28px);height:clamp(56px,9vmin,72px);width:clamp(56px,9vmin,72px)}.fm-car-progress{background:#e2e8f0;border-radius:999px;flex:0 0 auto;height:3px;margin-top:2px;overflow:hidden;width:100%}.fm-car-progress.active:after{animation:fm-car-bar 1.6s linear infinite;background:linear-gradient(90deg,transparent,var(--fm-car-blue),transparent);content:"";display:block;height:100%;width:36%}@keyframes fm-car-bar{0%{transform:translate(-120%)}to{transform:translate(320%)}}.fm-car-error{color:#dc2626;font-size:14px;margin:0;text-align:center}.fm-car-side{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:12px 12px 10px}.fm-car-nav{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}.fm-car-nav::-webkit-scrollbar{display:none}.fm-car-nav-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:var(--fm-car-ink);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:650;gap:6px;min-height:42px;padding:8px 14px;position:relative;white-space:nowrap}.fm-car-nav-btn.on{background:var(--fm-car-blue-soft);border-color:#bfdbfe;color:#1d4ed8}.fm-car-nav-badge{background:var(--fm-car-blue);border-radius:999px;color:#fff;font-size:10px;font-weight:700;height:16px;line-height:16px;min-width:16px;padding:0 4px;position:absolute;right:-2px;text-align:center;top:-4px}.fm-car-list-head{align-items:center;display:flex;gap:8px;padding:0 4px 8px}.fm-car-list-mode{background:transparent;border:none;color:var(--fm-car-muted);cursor:pointer;font-size:13px;font-weight:700;padding:4px 2px}.fm-car-list-mode.active{color:var(--fm-car-blue)}.fm-car-list-mode:disabled{cursor:not-allowed;opacity:.4}.fm-car-channel-list{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch}.fm-car-channel{align-items:center;background:#f8fafc;border:1.5px solid transparent;border-radius:18px;color:inherit;cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;width:100%;-webkit-tap-highlight-color:transparent}.fm-car-channel.active{background:var(--fm-car-blue-soft);border-color:var(--fm-car-blue);box-shadow:0 6px 16px #3b82f61f}.fm-car-channel-art{background:#e2e8f0;border-radius:14px;flex:0 0 auto;height:48px;overflow:hidden;width:48px}.fm-car-channel-art img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-car-channel-body{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.fm-car-channel-body strong{font-size:15px;font-weight:750;line-height:1.25}.fm-car-channel-body small,.fm-car-channel-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-car-channel-body small{color:var(--fm-car-muted);font-size:12px}.fm-car-eq{align-items:flex-end;display:inline-flex;gap:3px;height:18px}.fm-car-eq i{animation:fm-car-eq .9s ease-in-out infinite;background:var(--fm-car-blue);border-radius:2px;display:block;width:3px}.fm-car-eq i:first-child{animation-delay:0s;height:8px}.fm-car-eq i:nth-child(2){animation-delay:.15s;height:14px}.fm-car-eq i:nth-child(3){animation-delay:.3s;height:10px}@keyframes fm-car-eq{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.fm-car-empty{color:var(--fm-car-muted);font-size:14px;margin:24px 8px;text-align:center}.fm-car-favs{display:flex;gap:10px;max-width:min(96vw,720px);overflow-x:auto;padding:4px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fm-car-favs::-webkit-scrollbar{display:none}.fm-car-fav{background:transparent;border:none;color:inherit;cursor:pointer;flex:0 0 auto;padding:0;text-align:center;width:88px;-webkit-tap-highlight-color:transparent}.fm-car-fav-art{background:#ffffff14;border-radius:16px;box-shadow:0 4px 14px #00000040;display:grid;font-size:28px;height:72px;margin:0 auto 6px;overflow:hidden;place-items:center;width:72px}.fm-car-fav-art img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-car-fav.active .fm-car-fav-art{outline:2px solid rgba(var(--portal-accent-rgb),.75);outline-offset:2px}.fm-car-fav-name{display:block;font-size:12px;font-weight:600;line-height:1.25;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-scene-toggle{background:#0000002e;border:1px solid var(--portal-border);border-radius:999px;display:inline-flex;overflow:hidden}.fm-scene-btn{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.fm-scene-btn.active{background:rgba(var(--portal-accent-rgb),.28);color:var(--portal-text)}.fm-layout-scene-select{background:#00000038;border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);font-size:13px;font-weight:600;padding:6px 10px}.fm-page.fm-scene-elder{font-size:1.22em}.fm-page.fm-scene-elder .fm-header-mine,.fm-page.fm-scene-elder .fm-mini-play,.fm-page.fm-scene-elder .fm-np-play,.fm-page.fm-scene-elder .fm-player-play,.fm-page.fm-scene-elder .fm-shell-tab,.fm-page.fm-scene-elder .fm-switch-btn{font-size:1.08em;min-height:52px;min-width:52px}.fm-page.fm-scene-elder .app-shell-titles h1,.fm-page.fm-scene-elder .fm-section-heading,.fm-page.fm-scene-elder .fm-station-name{font-size:1.12em}.fm-classic-mode,.fm-sleep-mode{align-items:center;color:var(--portal-text);display:flex;flex-direction:column;gap:16px;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));position:fixed;z-index:12000}.fm-classic-mode{background:radial-gradient(ellipse at 50% 0,hsla(30,53%,64%,.22),transparent 50%),linear-gradient(180deg,#1a1510,#0d0b09)}.fm-sleep-mode{background:radial-gradient(ellipse at 50% 30%,rgba(80,100,160,.18),transparent 55%),#05070c}.fm-classic-hint,.fm-sleep-mode-hint{color:var(--portal-muted);font-size:13px;margin:0;max-width:28rem;text-align:center}.fm-classic-dial{background:#00000059;border:1px solid hsla(30,53%,64%,.35);border-radius:18px;padding:18px 16px 14px;text-align:center;width:min(92vw,360px)}.fm-classic-scale{color:#ffffff8c;display:flex;font-size:11px;font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:10px}.fm-classic-needle{background:linear-gradient(90deg,transparent,#d4a373,transparent);height:2px;margin:0 auto 12px;position:relative;width:70%}.fm-classic-needle:after{background:#f0c090;box-shadow:0 0 8px #f0c090b3;content:"";height:16px;left:58%;position:absolute;top:-7px;width:2px}.fm-classic-freq{display:block;font-size:clamp(28px,7vw,40px);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.04em}.fm-classic-freq small{font-size:.45em;font-weight:600;margin-left:4px;opacity:.7}.fm-classic-title,.fm-sleep-mode-title{font-size:clamp(20px,4.5vw,28px);font-weight:700;line-height:1.3;margin:0;max-width:92vw;text-align:center}.fm-classic-knobs,.fm-sleep-mode-controls{align-items:center;display:flex;gap:20px;justify-content:center}.fm-classic-knob{background:#ffffff0f;border:1px solid hsla(30,53%,64%,.4);border-radius:50%;color:inherit;cursor:pointer;font-size:14px;font-weight:700;height:88px;min-width:88px}.fm-classic-knob:disabled{cursor:not-allowed;opacity:.35}.fm-classic-play{background:#d4a373;border:none;border-radius:50%;box-shadow:0 10px 28px #d4a37359;color:#1a120a;cursor:pointer;display:grid;font-size:40px;height:112px;place-items:center;width:112px}.fm-classic-volume{color:var(--portal-muted);display:flex;flex-direction:column;font-size:13px;gap:6px;width:min(92vw,280px)}.fm-classic-volume input[type=range]{width:100%}.fm-classic-fav{background:transparent;border:1px solid hsla(30,53%,64%,.45);border-radius:999px;color:inherit;cursor:pointer;font-size:14px;font-weight:700;padding:10px 18px}.fm-classic-fav.active{background:#d4a37338}.fm-sleep-mode-timer{color:#b4c8ffd9;font-size:15px;margin:0}.fm-section-heading{font-size:15px;font-weight:700;margin:0 0 12px}.fm-section-heading--catalog{margin-top:0}.fm-featured{margin-bottom:18px}.fm-featured--rail{border-bottom:1px solid hsla(0,0%,100%,.08);margin-bottom:4px;padding-bottom:16px}.fm-catalog-block--after-rail{margin-top:18px;padding-top:4px}html[data-fm-theme=light] .fm-featured--rail{border-bottom-color:#1f29331a}.fm-featured-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}.fm-featured-scroll::-webkit-scrollbar{display:none}.fm-featured-card{background:transparent;border:none;color:inherit;cursor:pointer;flex:0 0 auto;padding:0;text-align:left;text-decoration:none;touch-action:manipulation;width:140px;-webkit-tap-highlight-color:rgba(var(--portal-accent-rgb),.15)}.fm-featured-cover{background:#0003;border-radius:14px;box-shadow:0 6px 18px #0000002e;height:140px;overflow:hidden;position:relative;width:140px}.fm-featured-cover img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-featured-card.active .fm-featured-cover{outline:2px solid rgba(var(--portal-accent-rgb),.55);outline-offset:2px}.fm-featured-live{background:#ef4444e0;border-radius:999px;color:#fff;font-size:10px;font-weight:700;left:8px;padding:2px 7px;position:absolute;top:8px}.fm-featured-name{font-size:13px;font-weight:600;margin-top:8px}.fm-featured-meta,.fm-featured-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-featured-meta{color:var(--portal-muted);font-size:11px;margin-top:2px}.fm-station-cover{background:#0003;border-radius:12px;flex-shrink:0;height:56px;-o-object-fit:cover;object-fit:cover;width:56px}.fm-station-panel{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;box-sizing:border-box;max-width:100%;overflow-x:hidden;padding:12px}.fm-shell-tabs{background:#00000029;border:1px solid var(--portal-border);border-radius:12px;display:flex;gap:4px;margin:0 0 14px;padding:3px}.fm-shell-tab{background:transparent;border:none;border-radius:9px;color:var(--portal-muted);cursor:pointer;flex:1;font-size:14px;font-weight:650;padding:8px 6px}.fm-shell-tab.active{background:rgba(var(--portal-accent-rgb),.22);color:var(--portal-text)}.fm-panel-toolbar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.fm-panel-toolbar .fm-list-tabs{flex:1;min-width:0}@media(max-width:768px){.fm-page .app-shell-titles>p:not(.app-shell-version){display:none}.fm-page .app-shell-version{font-size:11px;margin-top:2px;opacity:.75}.fm-page .app-shell-header{padding-bottom:6px}.fm-station-panel{border-radius:12px;padding:10px}.fm-browse-modes{margin-bottom:8px}.fm-browse-mode{font-size:12px;padding:7px 4px}.fm-list-tab{padding:5px 10px}.fm-search-box{margin-bottom:8px}.fm-featured{margin-bottom:12px}.fm-featured--rail{margin-bottom:2px;padding-bottom:12px}.fm-catalog-block--after-rail{margin-top:14px}.fm-featured-card{width:112px}.fm-featured-cover{border-radius:12px;height:112px;width:112px}.fm-section-heading{font-size:13px;margin-bottom:8px}.fm-filter-label{margin-bottom:4px}.fm-country-scroll{margin-bottom:8px}.fm-sidebar{display:none}.fm-resume-card--hero{margin-bottom:10px}}.fm-panel-count{font-size:13px;font-weight:600}.fm-icon-btn{background:none;border:none;border-radius:8px;color:var(--portal-muted);cursor:pointer;font-size:18px;line-height:1;padding:6px}.fm-icon-btn:hover{background:rgba(var(--portal-accent-rgb),.1);color:var(--portal-accent)}.fm-search-box{align-items:center;background:#fff;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000f;box-sizing:border-box;color:#000;display:flex;gap:6px;margin-bottom:12px;max-width:100%;overflow:hidden;padding:6px 10px;width:100%}.fm-search-box .fm-search-icon,.fm-search-box>span:first-child{align-items:center;color:#000;display:inline-flex;flex-shrink:0;font-size:17px;justify-content:center;line-height:1}.fm-search-box .fm-search-icon{height:22px;width:22px}.fm-search-box .fm-search-icon svg{display:block;height:20px;width:20px}.fm-search-box input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:#1c1c1e;flex:1 1 auto;font-size:14px;min-width:0;outline:none}.fm-search-box input::-webkit-search-cancel-button,.fm-search-box input::-webkit-search-decoration,.fm-search-box input::-webkit-search-results-button,.fm-search-box input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}.fm-search-box input::-moz-placeholder{color:#3c3c4373}.fm-search-box input::placeholder{color:#3c3c4373}.fm-search-box .fm-search-clear{color:#3c3c4373;flex-shrink:0}.apps-search-box .portal-search-voice,.fm-search-box .portal-search-voice,.tools-search-box .portal-search-voice{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:8px;box-sizing:border-box;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;flex-shrink:0;height:32px;justify-content:center;margin:0;max-height:32px;max-width:32px;min-height:32px;min-width:32px;padding:0;transition:background .15s ease,color .15s ease;width:32px}.fm-search-box .portal-search-voice{color:#000;height:34px;margin:0;max-height:34px;max-width:34px;min-height:34px;min-width:34px;width:34px}.fm-search-box .portal-search-voice-icon{display:block;flex-shrink:0;height:20px;width:20px}.fm-search-box .portal-search-voice:hover{background:#0000000f}.apps-search-box .portal-search-voice,.tools-search-box .portal-search-voice{color:var(--portal-muted)}.apps-search-box .portal-search-voice:hover,.tools-search-box .portal-search-voice:hover{background:#ffffff14;color:var(--portal-text)}.apps-search-box .portal-search-voice.is-recording,.fm-search-box .portal-search-voice.is-recording,.tools-search-box .portal-search-voice.is-recording{animation:portal-voice-pulse 1.1s ease-in-out infinite;background:#ff3b301f;color:#ff3b30}.fm-search-box .portal-search-voice.is-busy{color:#3c3c4373;cursor:wait}.apps-search-box .portal-search-voice.is-busy,.tools-search-box .portal-search-voice.is-busy{color:var(--portal-muted);cursor:wait}.apps-search-box .portal-search-voice:disabled,.fm-search-box .portal-search-voice:disabled,.tools-search-box .portal-search-voice:disabled{opacity:.55}@keyframes portal-voice-pulse{0%,to{box-shadow:0 0 #ff3b3059;opacity:1}50%{box-shadow:0 0 0 4px #ff3b3000;opacity:.92}}.fm-country-scroll{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fm-country-scroll::-webkit-scrollbar{display:none}.fm-country-chip{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;flex:0 0 auto;font-size:13px;padding:8px 14px;touch-action:manipulation;white-space:nowrap}.fm-country-chip.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.fm-filter-label{color:var(--portal-muted);font-size:12px;font-weight:600;margin:0 0 6px}.fm-filter-label:not(:first-child){margin-top:4px}.fm-chip-count{font-size:11px;margin-left:4px;opacity:.75}.fm-meta-tag{background:rgba(var(--portal-accent-rgb),.12);border-radius:4px;color:var(--portal-accent);display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;vertical-align:middle}.fm-meta-tag,.fm-station-tags{margin-right:6px}.fm-station-item.unavailable{cursor:not-allowed}.fm-station-item.unavailable .fm-station-desc,.fm-station-item.unavailable .fm-station-name{color:var(--portal-muted)}.fm-unavailable-tag{background:#94a3b81f;border-radius:4px;color:#94a3b8;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.fm-unavailable-hint{color:var(--portal-muted);font-size:12px;margin:0 0 10px}.fm-mini-play:disabled{cursor:not-allowed;opacity:.35}.fm-np-favicon,.fm-station-favicon{border-radius:4px;height:20px;margin-right:6px;-o-object-fit:cover;object-fit:cover;vertical-align:middle;width:20px}.fm-np-favicon{border-radius:50%;height:48px;margin:0;width:48px}.fm-country-tag{background:#ffffff0f;border-radius:4px;color:var(--portal-muted);font-size:10px;font-weight:600;padding:2px 6px}.fm-station-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-height:min(52vh,420px);overflow-y:auto;padding:0;-webkit-overflow-scrolling:touch}.fm-station-list--catalog{max-height:none;overflow:visible}.fm-station-item{align-items:center;border:1px solid transparent;border-radius:10px;cursor:default;display:flex;gap:12px;justify-content:flex-start;padding:12px;scroll-margin-bottom:96px;scroll-margin-top:120px;transition:background .15s}.fm-station-item:hover{background:#ffffff0a}.fm-station-item.active{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.25)}.fm-station-item.playing{background:rgba(var(--portal-accent-rgb),.14);border-color:rgba(var(--portal-accent-rgb),.4)}.fm-station-item.unavailable{opacity:.55}.fm-station-item-main{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex:1;font:inherit;gap:12px;margin:0;min-width:0;padding:0;text-align:left}.fm-station-item-main:disabled{cursor:not-allowed}.fm-station-item-cover{background:rgba(var(--portal-accent-rgb),.08);border-radius:10px;flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;pointer-events:none;width:48px}.fm-station-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.fm-station-name{align-items:center;display:flex;font-size:15px;font-weight:500;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-eq-bars,.fm-mini-bar-eq{align-items:flex-end;display:inline-flex;flex-shrink:0;gap:2px;height:12px}.fm-eq-bars i,.fm-mini-bar-eq i{animation:fm-eq .9s ease-in-out infinite;background:var(--portal-accent);border-radius:1px;display:block;width:2px}.fm-eq-bars i:first-child,.fm-mini-bar-eq i:first-child{animation-delay:0s;height:40%}.fm-eq-bars i:nth-child(2),.fm-mini-bar-eq i:nth-child(2){animation-delay:.15s;height:90%}.fm-eq-bars i:nth-child(3),.fm-mini-bar-eq i:nth-child(3){animation-delay:.3s;height:60%}@keyframes fm-eq{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}.fm-station-desc{color:var(--portal-muted);font-size:12px}.fm-station-action{align-items:center;display:flex;flex-shrink:0;gap:8px}.fm-section-hint{color:var(--portal-muted,#94a3b8);font-size:12px;margin:-4px 0 10px}.fm-fav-sort{display:inline-flex;flex-direction:column;flex-shrink:0;gap:2px}.fm-fav-sort-btn{background:transparent;border:1px solid var(--portal-border,#3f4147);border-radius:6px;color:var(--portal-muted,#94a3b8);cursor:pointer;font-size:10px;height:18px;line-height:1;min-width:28px;padding:0}.fm-fav-sort-btn:disabled{cursor:default;opacity:.35}.fm-fav-sort-btn:not(:disabled):hover{border-color:var(--portal-accent,#e8b86d);color:var(--portal-text,#e8eaed)}.fm-station-item-fav{align-items:center;background:#ffffff0f;border:none;border-radius:50%;color:#ffffffd9;cursor:pointer;display:inline-flex;font-size:14px;height:32px;justify-content:center;width:32px}.fm-station-item-fav.active{color:#fbbf24}html[data-fm-theme=light] .fm-station-item-fav{background:#1f29330f;color:var(--portal-muted)}.fm-live-tag{color:#ef4444;font-size:10px;font-weight:600}.fm-mini-play{align-items:center;background:rgba(var(--portal-accent-rgb),.15);border:none;border-radius:50%;color:var(--portal-accent);cursor:pointer;display:flex;font-size:12px;height:36px;justify-content:center;width:36px}.fm-station-item.playing .fm-mini-play{background:var(--portal-accent);color:var(--portal-bg)}.fm-list-empty,.fm-list-error{color:var(--portal-muted);font-size:13px;padding:24px 8px;text-align:center}.fm-list-error{color:#ef4444}.fm-list-load-more{color:var(--portal-muted);font-size:12px;min-height:40px;padding:16px 8px 8px;text-align:center}button.fm-list-load-more{background:transparent;border:none;cursor:pointer;display:block;font:inherit;width:100%}button.fm-list-load-more:disabled{cursor:default;opacity:.7}button.fm-list-load-more:not(:disabled):hover{color:var(--portal-text)}.fm-explore-skeleton{display:grid;gap:22px;max-width:100%;overflow:hidden}.fm-explore-skel-title{background:#ffffff29;border-radius:6px;height:18px;margin-bottom:12px;width:96px}.fm-explore-skel-rail{display:flex;gap:12px;overflow:hidden}.fm-explore-skel-card{background:#ffffff1f;border-radius:14px;flex:0 0 132px;height:176px}.fm-explore-sections{display:grid;gap:26px;max-width:100%;min-width:0}.fm-explore-section{max-width:100%;min-width:0;overflow:hidden}.fm-explore-section-head{display:grid;gap:2px;margin-bottom:12px}.fm-explore-section-title{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0}.fm-explore-section-sub{color:var(--portal-muted,#8aa0a4);font-size:12px;margin:0}.fm-explore-rail-clip{max-width:100%;min-width:0;overflow:hidden}.fm-explore-rail{box-sizing:border-box;display:flex;gap:12px;max-width:100%;scrollbar-width:none}.fm-explore-rail::-webkit-scrollbar{display:none}.fm-explore-rail--rail{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:4px;scroll-snap-type:x mandatory;touch-action:pan-x}.fm-explore-rail--wrap{display:grid;gap:14px 12px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:0;scroll-snap-type:none}@media(min-width:560px){.fm-explore-rail--wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.fm-explore-rail--wrap{grid-template-columns:repeat(4,minmax(0,1fr))}}.fm-explore-card{box-sizing:border-box;flex:0 0 132px;max-width:100%;scroll-snap-align:start;width:132px}.fm-explore-rail--wrap .fm-explore-card{flex:none;width:auto}.fm-explore-card.unavailable{opacity:.45}.fm-explore-card.active .fm-explore-cover-wrap{outline:2px solid rgba(var(--portal-accent-rgb),.55);outline-offset:2px}.fm-explore-card.playing .fm-explore-play{background:var(--portal-accent,#d4a574);color:#1a1410}.fm-explore-card-body{display:grid;gap:8px;min-width:0}.fm-explore-cover-wrap{aspect-ratio:1;background:rgba(var(--portal-accent-rgb),.1);border-radius:14px;box-shadow:0 8px 24px #00000038;overflow:hidden;position:relative;width:100%}.fm-explore-card-live{background:#ef4444e0;border-radius:999px;color:#fff;font-size:10px;font-weight:700;left:8px;padding:2px 7px;position:absolute;top:8px;z-index:1}.fm-explore-cover-btn{background:transparent;border:none;cursor:pointer;display:block;height:100%;margin:0;padding:0;width:100%}.fm-explore-cover-btn:disabled{cursor:not-allowed}.fm-explore-cover{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-explore-play{align-items:center;backdrop-filter:blur(8px);background:#0000008c;border:none;border-radius:50%;bottom:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;height:32px;justify-content:center;position:absolute;right:8px;width:32px;z-index:1}.fm-explore-play:disabled{cursor:not-allowed;opacity:.4}.fm-explore-card-main{background:transparent;border:none;color:inherit;cursor:pointer;display:grid;font:inherit;gap:2px;margin:0;min-width:0;padding:0;text-align:left;width:100%}.fm-explore-card-main:disabled{cursor:not-allowed}.fm-explore-name{display:-webkit-box;font-size:14px;font-weight:600;-webkit-line-clamp:2;line-height:1.25;-webkit-box-orient:vertical;overflow:hidden}.fm-explore-list-text .fm-explore-name{align-items:center;display:flex;gap:6px;-webkit-line-clamp:unset;-webkit-box-orient:unset}.fm-explore-list-text .fm-explore-name,.fm-explore-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-explore-meta{color:var(--portal-muted,#8aa0a4);font-size:12px}.fm-explore-list{display:grid;gap:6px;list-style:none;margin:0;max-width:100%;padding:0}.fm-explore-list-item{align-items:center;background:#ffffff08;border:1px solid transparent;border-radius:12px;display:flex;gap:10px;min-width:0;padding:10px}.fm-explore-list-item.unavailable{opacity:.45}.fm-explore-list-item.active{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.35)}.fm-explore-list-item.playing .fm-explore-list-play{background:var(--portal-accent,#d4a574);color:#1a1410}.fm-explore-list-main{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex:1;font:inherit;gap:12px;margin:0;min-width:0;padding:0;text-align:left}.fm-explore-list-main:disabled{cursor:not-allowed}.fm-explore-list-cover{background:rgba(var(--portal-accent-rgb),.08);border-radius:10px;flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;width:48px}.fm-explore-list-text{display:grid;gap:2px;min-width:0}.fm-explore-list-play{background:rgba(var(--portal-accent-rgb),.85);border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;height:36px;width:36px}.fm-explore-list-play:disabled{cursor:not-allowed;opacity:.4}html[data-fm-theme=light] .fm-explore-cover-wrap{border-radius:16px;box-shadow:0 8px 22px #0000001a}html[data-fm-theme=light] .fm-explore-list-item{background:#00000008;border-radius:14px}html[data-fm-theme=light] .fm-explore-skel-card,html[data-fm-theme=light] .fm-explore-skel-title{background:#0000000d;border-radius:14px}.fm-search-box-priority{margin-bottom:12px}.fm-search-history{margin:-4px 0 12px;padding:8px 0 0}.fm-search-history-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.fm-search-history-head .fm-filter-label{margin:0}.fm-search-history-clear{background:none;border:none;color:var(--portal-muted);cursor:pointer;font-size:12px;padding:2px 4px}.fm-search-history-clear:hover{color:var(--portal-accent)}.fm-search-history-chips{margin-bottom:0}.fm-search-history-chip{align-items:center;display:inline-flex;gap:6px;max-width:200px}.fm-search-history-chip>span:first-child{overflow:hidden;text-overflow:ellipsis}.fm-search-history-remove{font-size:14px;line-height:1;opacity:.65;padding:0 2px}.fm-search-history-remove:hover{color:var(--portal-accent);opacity:1}.fm-ad-block{margin:12px 0}.fm-house-promo{background:linear-gradient(135deg,rgba(var(--portal-accent-rgb),.12),#00000026);border:1px solid var(--portal-border);border-radius:12px;overflow:hidden}.fm-house-promo.compact{margin-top:8px}.fm-house-promo-link{color:inherit;display:grid;gap:4px;padding:12px 14px;text-decoration:none}.fm-house-promo-badge{background:rgba(var(--portal-accent-rgb),.16);border-radius:4px;color:var(--portal-accent);font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;width:-moz-fit-content;width:fit-content}.fm-house-promo-title{font-size:15px;font-weight:700}.fm-house-promo-desc{color:var(--portal-muted);font-size:12px}.fm-custom-form{display:grid;gap:10px;margin-top:8px;width:100%}.fm-custom-field{color:var(--portal-muted);display:grid;font-size:12px;gap:4px}.fm-custom-field input{background:#0003;border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-text);font-size:14px;padding:10px 12px}.fm-custom-visibility{border:1px solid hsla(0,0%,100%,.1);border-radius:10px;display:grid;gap:8px;margin:0;padding:10px 12px}.fm-custom-visibility legend{color:var(--portal-muted);font-size:12px;padding:0 4px}.fm-custom-visibility-option{align-items:center;color:var(--portal-text);cursor:pointer;display:flex;font-size:13px;gap:8px}.fm-custom-tip{color:var(--portal-muted);font-size:12px;margin:0}.fm-programme-sheet{align-items:flex-end;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:90}.fm-programme-panel{background:var(--portal-bg-elevated,#1e1f22);border-radius:16px 16px 0 0;box-shadow:0 -8px 32px #00000059;max-height:min(72vh,640px);overflow:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));position:relative;width:min(520px,100%);z-index:1}.fm-programme-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.fm-programme-head h2{font-size:18px;margin:0}.fm-programme-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.fm-programme-item{align-items:center;background:#0000002e;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.fm-programme-item.live{border:1px solid rgba(var(--portal-accent-rgb),.35)}.fm-programme-meta{display:grid;gap:2px;min-width:0}.fm-programme-time{color:var(--portal-muted);font-size:12px}.fm-programme-title{font-size:14px;font-weight:600}.fm-programme-play{background:rgba(var(--portal-accent-rgb),.2);border:none;border-radius:999px;color:var(--portal-accent);cursor:pointer;flex:0 0 auto;font-size:13px;padding:8px 12px}.fm-programme-live{color:var(--portal-accent);font-size:12px;font-weight:700}.fm-programme-note{color:var(--portal-muted);font-size:12px;margin:8px 0 0}.fm-search-box.is-loading{box-shadow:inset 0 0 0 1px rgba(var(--portal-accent-rgb),.35)}.fm-search-box.is-loading .fm-search-icon,.fm-search-box.is-loading>span:first-child{animation:fm-spin 1s linear infinite}.fm-mini-bar{align-items:center;backdrop-filter:saturate(180%) blur(20px);background:#1e1f22c7;border-radius:0;border-top:.5px solid hsla(0,0%,100%,.12);bottom:calc(var(--portal-mobile-nav-h, 0px) + var(--portal-safe-bottom));box-shadow:none;display:none;gap:4px;left:0;padding:8px 12px 8px 10px;position:fixed;right:0;z-index:80}.fm-mini-bar.playing{border-top-color:#ffffff24}.fm-mini-bar-main{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex:1;gap:10px;min-width:0;padding:0;text-align:left}.fm-mini-bar-cover{border-radius:8px;box-shadow:0 1px 4px #00000047;flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;width:48px}.fm-mini-bar-meta{min-width:0}.fm-mini-bar-title{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em}.fm-mini-bar-desc,.fm-mini-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mini-bar-desc{align-items:center;color:var(--portal-muted);display:flex;font-size:12px;gap:5px}.fm-mini-bar-muted{color:var(--portal-accent-2);flex-shrink:0;font-size:10px;font-weight:600;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-mini-bar-fav,.fm-mini-bar-nav,.fm-mini-bar-play{align-items:center;background:transparent;border:none;border-radius:0;color:var(--portal-text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:17px;height:40px;justify-content:center;line-height:1;touch-action:manipulation;width:40px;-webkit-tap-highlight-color:transparent}.fm-mini-bar-fav{color:var(--portal-muted);font-size:16px}.fm-mini-bar-fav.active{color:#fbbf24}.fm-mini-bar-nav{color:var(--portal-text);font-size:26px;opacity:.85}.fm-mini-bar-play{font-size:15px;font-weight:600}.fm-mini-bar-error{bottom:calc(var(--portal-mobile-nav-h, 0px) + var(--portal-safe-bottom) + 64px);color:#ef4444;font-size:12px;left:16px;margin:0;position:fixed;right:16px;text-align:center;z-index:79}.fm-player-sheet{align-items:stretch;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:200}.fm-player-backdrop{background:#000000d1;top:0;right:0;bottom:0;left:0;position:absolute}.fm-player-panel{background:linear-gradient(180deg,#121c20fc,#0a1216);border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;max-height:none;overflow-y:auto;padding:calc(12px + var(--portal-safe-top, 0px)) 20px calc(28px + var(--portal-safe-bottom));position:relative;width:100%;z-index:1}.fm-player-close{align-items:center;align-self:flex-start;background:#ffffff14;border:none;border-radius:50%;color:var(--portal-muted);cursor:pointer;font-size:28px;height:40px;line-height:1;margin:0 0 12px;width:40px}.fm-player-close,.fm-player-mode{display:flex;justify-content:center}.fm-player-mode{gap:8px;margin:0 0 16px}.fm-player-mode-btn{background:#ffffff0a;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;color:var(--portal-muted);cursor:pointer;font:inherit;font-size:13px;min-width:96px;padding:8px 14px}.fm-player-mode-btn.active{background:#ffffff1f;border-color:#ffffff47;color:var(--portal-text)}.fm-player-art{aspect-ratio:1;border-radius:18px;box-shadow:0 16px 48px #0006;margin:0 auto 18px;overflow:hidden;width:min(240px,62vw)}.fm-player-art.spinning{animation:fm-art-pulse 2.4s ease-in-out infinite}.fm-player-art img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.fm-player-meta{margin-bottom:18px;text-align:center}.fm-player-head{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:8px}.fm-player-title{font-size:20px;font-weight:700;line-height:1.35;margin:0 0 8px}.fm-player-desc{color:var(--portal-muted);font-size:13px;line-height:1.55;margin:0}.fm-player-controls{align-items:center;display:flex;gap:28px;justify-content:center;margin-bottom:16px}.fm-player-ctrl{background:#ffffff0f;color:var(--portal-text);height:48px;line-height:1;width:48px}.fm-player-ctrl,.fm-player-play{border:none;border-radius:50%;cursor:pointer;font-size:22px}.fm-player-play{background:var(--portal-accent);color:var(--portal-bg);height:64px;width:64px}.fm-player-play,.fm-player-tools{align-items:center;display:flex;justify-content:center}.fm-player-tools{flex-wrap:wrap;gap:10px}.fm-player-hint{color:var(--portal-muted);font-size:12px;margin:8px 0 0;text-align:center}.fm-player-hint .fm-text-btn{background:none;border:0;color:var(--portal-accent);cursor:pointer;display:inline;font:inherit;margin-left:8px;padding:0;text-decoration:underline;text-underline-offset:2px}.fm-player-hint .fm-text-btn:hover{color:var(--portal-text)}.fm-player-error{color:#ef4444;font-size:12px;margin:12px 0 0;text-align:center}.fm-spin{animation:fm-spin 1s linear infinite;display:inline-block}@keyframes fm-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@media(min-width:769px){.fm-page{max-width:1120px;padding-bottom:24px}.fm-page.fm-has-desktop-bar{padding-bottom:calc(88px + var(--portal-safe-bottom))}.fm-desktop-bar{display:flex!important}.fm-desktop-player{display:none}.fm-layout{align-items:flex-start;flex-direction:row;gap:24px}.fm-sidebar{background:#ffffff08;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff0f;display:block;flex-shrink:0;padding:16px;position:sticky;top:16px;width:200px}.fm-country-scroll-inline,.fm-filter-label-inline,.fm-source-scroll{display:none}.fm-np-visual{flex-shrink:0}.fm-category-grid,.fm-region-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.fm-station-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.fm-station-card-play{opacity:1;transform:scale(1)}.fm-mini-bar,.fm-mini-bar-error,.fm-player-sheet,.podcast-mini-bar,.podcast-mini-bar-error,.podcast-player-sheet,.portal-app-site--fm .portal-app-dock{display:none!important}.portal-app-site.portal-app-site--fm .portal-app-chrome-footer,.portal-app-site.portal-app-site--fm.portal-site--with-mobile-nav .portal-main{padding-bottom:16px}.portal-app-site--fm .fm-page.fm-has-desktop-bar{padding-bottom:calc(88px + var(--portal-safe-bottom))}.portal-app-site:not(.portal-app-site--fm) .fm-page.fm-has-desktop-bar,.portal-app-site:not(.portal-app-site--fm) .fm-page.fm-has-player{padding-bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 24px)}}@media(min-width:1024px){.fm-sidebar{width:220px}.fm-station-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:769px)and (max-width:1023px){.fm-station-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.fm-page.podcast-page{padding-bottom:calc(88px + var(--portal-safe-bottom))}.fm-page.podcast-page.fm-has-desktop-bar{padding-bottom:calc(96px + var(--portal-safe-bottom))}.fm-page.music-page{max-width:1120px;padding-bottom:calc(88px + var(--portal-safe-bottom))}.fm-page.music-page.fm-has-desktop-bar{padding-bottom:calc(96px + var(--portal-safe-bottom))}.music-page .fm-np-progress{margin-top:12px}.music-page .fm-np-progress input[type=range]{width:100%}.podcast-page .fm-np-progress{margin-top:12px}.podcast-page .fm-np-progress input[type=range]{width:100%}.podcast-resume-card{margin-bottom:16px}.podcast-resume-meta{color:var(--portal-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-search-box{align-items:center;background:#00000047;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f;color:var(--portal-muted);display:flex;gap:10px;margin-bottom:18px;padding:10px 14px}.podcast-search-icon{font-size:18px;opacity:.7}.podcast-search-box input{background:transparent;border:none;color:var(--portal-text);flex:1;font-size:15px;outline:none}.podcast-search-clear{background:#ffffff14;border:none;border-radius:50%;color:var(--portal-muted);cursor:pointer;font-size:16px;height:24px;line-height:1;width:24px}.podcast-show-intro{background:#ffffff08;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff0f;display:flex;gap:14px;margin-bottom:20px;padding:16px}.podcast-show-intro-cover{background:rgba(var(--portal-accent-rgb),.1);border-radius:14px;flex-shrink:0;height:96px;overflow:hidden;width:96px}.podcast-show-intro-cover img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.podcast-show-intro-meta{min-width:0}.podcast-show-intro-title{font-size:20px;font-weight:700;line-height:1.3;margin:0 0 4px}.podcast-show-intro-author{color:var(--portal-accent);font-size:13px;margin:0 0 8px}.podcast-show-intro-desc{color:var(--portal-muted);display:-webkit-box;font-size:13px;-webkit-line-clamp:4;line-height:1.6;margin:0;-webkit-box-orient:vertical;overflow:hidden}.podcast-show-intro-desc.expanded{display:block;-webkit-line-clamp:unset}.podcast-show-intro-desc--muted{font-style:italic}.podcast-show-intro-toggle{background:transparent;border:none;color:var(--portal-accent);cursor:pointer;font-size:12px;font-weight:600;margin-top:8px;padding:0}.podcast-show-intro-stats{color:var(--portal-muted);font-size:12px;margin:8px 0 0}.podcast-platform-scroll{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.podcast-platform-scroll::-webkit-scrollbar{display:none}.podcast-platform-chip{background:transparent;border:1px solid hsla(0,0%,100%,.1);border-radius:999px;color:var(--portal-muted);cursor:pointer;flex:0 0 auto;font-size:13px;padding:7px 14px;transition:background .15s,border-color .15s,color .15s}.podcast-platform-chip.active{background:rgba(var(--portal-accent-rgb),.15);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-accent)}.podcast-skeleton-grid{display:grid;gap:14px 10px;grid-template-columns:repeat(3,minmax(0,1fr))}.podcast-skeleton-tile{animation:podcast-shimmer 1.4s ease infinite;aspect-ratio:1;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;border-radius:14px}.podcast-skeleton-list{display:flex;flex-direction:column;gap:8px}.podcast-skeleton-item{animation:podcast-shimmer 1.4s ease infinite;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;border-radius:12px;height:72px}@keyframes podcast-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.podcast-section-heading{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.podcast-section-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.podcast-section-link{background:transparent;border:none;color:var(--portal-accent);cursor:pointer;font-size:13px;font-weight:600}.podcast-upnext{margin-bottom:24px}.podcast-upnext .podcast-section-heading{margin-bottom:14px}.podcast-upnext-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.podcast-upnext-scroll::-webkit-scrollbar{display:none}.podcast-upnext-card{background:transparent;border:none;color:inherit;cursor:pointer;flex:0 0 220px;padding:0;text-align:left}.podcast-upnext-cover{align-items:center;aspect-ratio:1;background:rgba(var(--portal-accent-rgb),.12);border-radius:16px;box-shadow:0 10px 28px #00000047;display:flex;font-size:42px;justify-content:center;overflow:hidden;position:relative;width:220px}.podcast-upnext-cover img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.podcast-upnext-badge{background:#0000008c;border-radius:999px;color:#fff;font-size:11px;font-weight:600;left:10px;padding:4px 8px;position:absolute;top:10px}.podcast-upnext-meta{min-width:0;padding:10px 2px 0}.podcast-upnext-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;overflow:hidden}.podcast-upnext-sub{color:var(--portal-muted);display:block;font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-upnext-progress{background:#ffffff1a;border-radius:999px;height:3px;margin-top:8px;overflow:hidden}.podcast-upnext-progress span{background:var(--portal-accent);border-radius:inherit;display:block;height:100%}.podcast-top-shows{margin-bottom:24px}.podcast-show-grid{display:grid;gap:14px 10px;grid-template-columns:repeat(3,minmax(0,1fr))}.podcast-show-tile{position:relative}.podcast-show-tile,.podcast-show-tile-main{background:transparent;border:none;color:inherit;padding:0;text-align:center}.podcast-show-tile-main{cursor:pointer;width:100%}.podcast-show-fav{background:#00000073;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:28px;line-height:1;opacity:0;position:absolute;right:6px;top:6px;transition:opacity .15s;width:28px}.podcast-show-fav.active,.podcast-show-tile:hover .podcast-show-fav{opacity:1}.podcast-show-fav.active{color:#fbbf24}.podcast-show-cover{align-items:center;aspect-ratio:1;background:rgba(var(--portal-accent-rgb),.1);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0f;display:flex;font-size:28px;justify-content:center;overflow:hidden;width:100%}.podcast-show-cover img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.podcast-show-tile.active .podcast-show-cover{box-shadow:0 0 0 2px var(--portal-accent),0 8px 24px rgba(var(--portal-accent-rgb),.18)}.podcast-show-name{display:block;display:-webkit-box;font-size:13px;font-weight:600;-webkit-line-clamp:2;line-height:1.3;margin-top:8px;-webkit-box-orient:vertical;overflow:hidden}.podcast-show-cat{color:var(--portal-muted);display:block;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-episode-panel{background:#ffffff05;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff0f;padding:16px}.podcast-panel-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.podcast-panel-count{font-size:14px;font-weight:600}.podcast-icon-btn{background:#ffffff0a;border:none;border-radius:10px;color:var(--portal-muted);cursor:pointer;font-size:16px;height:36px;width:36px}.podcast-episode-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.podcast-episode-item{align-items:center;border:1px solid transparent;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:background .15s}.podcast-episode-item:hover{background:#ffffff0a}.podcast-episode-item.active{background:rgba(var(--portal-accent-rgb),.1);border-color:rgba(var(--portal-accent-rgb),.25)}.podcast-ep-cover{border-radius:10px;flex-shrink:0;height:56px;-o-object-fit:cover;object-fit:cover;width:56px}.podcast-ep-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.podcast-ep-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-ep-progress{background:#ffffff14;border-radius:999px;height:3px;margin-top:6px;overflow:hidden}.podcast-ep-progress span{background:var(--portal-accent);border-radius:inherit;display:block;height:100%}.podcast-ep-desc,.podcast-ep-meta{color:var(--portal-muted);font-size:12px}.podcast-ep-desc{display:-webkit-box;-webkit-line-clamp:2;line-height:1.45;margin:4px 0 0;-webkit-box-orient:vertical;overflow:hidden}.podcast-mini-play{align-items:center;background:rgba(var(--portal-accent-rgb),.15);border:none;border-radius:50%;color:var(--portal-accent);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:38px;justify-content:center;width:38px}.podcast-episode-item.playing .podcast-mini-play{background:var(--portal-accent);color:var(--portal-bg)}.podcast-list-empty,.podcast-list-error{color:var(--portal-muted);font-size:13px;padding:24px 8px;text-align:center}.podcast-list-error{color:#ef4444}.podcast-mini-bar{align-items:center;backdrop-filter:saturate(180%) blur(20px);background:#1e1f22c7;border-radius:0;border-top:.5px solid hsla(0,0%,100%,.12);bottom:calc(var(--portal-mobile-nav-h, 0px) + var(--portal-safe-bottom));box-shadow:none;display:flex;gap:4px;left:0;padding:10px 12px 10px 10px;position:fixed;right:0;z-index:80}.podcast-mini-bar.playing{border-top-color:#ffffff24}.podcast-mini-bar-main{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex:1;gap:10px;min-width:0;padding:0;text-align:left}.podcast-mini-bar-cover{border-radius:8px;box-shadow:0 1px 4px #00000047;flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;width:48px}.podcast-mini-bar-meta{min-width:0}.podcast-mini-bar-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.podcast-mini-bar-show,.podcast-mini-bar-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podcast-mini-bar-show{color:var(--portal-muted);font-size:12px}.podcast-mini-bar-progress{background:#ffffff1a;border-radius:0;bottom:auto;height:2px;left:0;overflow:hidden;position:absolute;right:0;top:0}.podcast-mini-bar-progress span{background:var(--portal-accent);border-radius:inherit;display:block;height:100%}.podcast-mini-bar-play{align-items:center;background:transparent;border:none;border-radius:0;color:var(--portal-text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:15px;font-weight:600;height:44px;justify-content:center;touch-action:manipulation;width:44px;-webkit-tap-highlight-color:transparent}.podcast-mini-bar-error{bottom:calc(var(--portal-mobile-nav-h, 0px) + var(--portal-safe-bottom) + 64px);color:#ef4444;font-size:12px;left:16px;margin:0;position:fixed;right:16px;text-align:center;z-index:79}.podcast-player-sheet{align-items:flex-end;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:200}.podcast-player-backdrop{background:#000000b8;top:0;right:0;bottom:0;left:0;position:absolute}.podcast-player-panel{background:linear-gradient(180deg,#162428fa,#0f1c20fc);border-radius:24px 24px 0 0;box-shadow:0 -12px 48px #0006;max-height:92vh;overflow-y:auto;padding:20px 20px calc(24px + var(--portal-safe-bottom));position:relative;width:min(480px,100%);z-index:1}.podcast-player-close{background:#ffffff14;border:none;border-radius:999px;color:var(--portal-muted);cursor:pointer;display:block;font-size:16px;height:28px;margin:0 auto 12px;width:40px}.podcast-player-art{aspect-ratio:1;border-radius:18px;box-shadow:0 16px 48px #0006;margin:0 auto 20px;overflow:hidden;width:min(280px,70vw)}.podcast-player-art img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.podcast-player-meta{margin-bottom:20px;text-align:center}.podcast-player-title{font-size:20px;font-weight:700;line-height:1.35;margin:0 0 6px}.podcast-player-show{color:var(--portal-accent);font-size:14px;margin:0 0 10px}.podcast-player-desc{color:var(--portal-muted);display:-webkit-box;font-size:13px;-webkit-line-clamp:3;line-height:1.55;margin:0;-webkit-box-orient:vertical;overflow:hidden}.podcast-player-progress{margin-bottom:20px}.podcast-player-progress input[type=range]{accent-color:var(--portal-accent);cursor:pointer;touch-action:none;width:100%}.podcast-player-time{color:var(--portal-muted);display:flex;font-size:12px;justify-content:space-between;margin-top:6px}.podcast-player-controls{align-items:center;display:flex;gap:28px;justify-content:center;margin-bottom:16px}.podcast-player-ctrl{background:#ffffff0f;border:none;border-radius:50%;color:var(--portal-text);cursor:pointer;font-size:13px;font-weight:600;height:48px;width:48px}.podcast-player-play{background:var(--portal-accent);border:none;border-radius:50%;color:var(--portal-bg);display:flex;font-size:22px;height:64px;width:64px}.podcast-player-play,.podcast-player-speed{align-items:center;cursor:pointer;justify-content:center}.podcast-player-speed{background:#ffffff0f;border:none;border-radius:999px;color:var(--portal-muted);display:inline-flex;font-size:13px;margin:0;padding:8px 18px;touch-action:manipulation}.podcast-player-tools{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:12px}.podcast-player-sleep{align-items:center;color:var(--portal-muted);display:inline-flex;font-size:13px;gap:8px}.podcast-player-sleep select{background:#0003;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-text);min-height:36px;padding:6px 10px}.podcast-player-hint{color:var(--portal-muted);font-size:12px;margin:8px 0 0;text-align:center}.podcast-player-error{color:#ef4444;font-size:12px;margin:12px 0 0;text-align:center}.podcast-spin{animation:fm-spin 1s linear infinite;display:inline-block}.podcast-show-page{max-width:920px}.podcast-show-back{align-items:center;background:transparent;border:none;color:var(--portal-accent);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:0}.podcast-show-hero{align-items:center;background:#ffffff08;border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff0f;display:flex;flex-direction:column;gap:16px;margin-bottom:28px;padding:20px 16px;text-align:center}.podcast-show-hero-cover{aspect-ratio:1;border-radius:18px;box-shadow:0 16px 40px #00000059;overflow:hidden;width:min(200px,56vw)}.podcast-show-hero-cover img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.podcast-show-hero-meta{max-width:640px;width:100%}.podcast-show-hero-title{font-size:26px;font-weight:800;line-height:1.25;margin:0 0 6px}.podcast-show-hero-author{color:var(--portal-accent);font-size:14px;margin:0 0 10px}.podcast-show-hero-desc{color:var(--portal-muted);display:-webkit-box;font-size:14px;-webkit-line-clamp:5;line-height:1.65;margin:0;-webkit-box-orient:vertical;overflow:hidden}.podcast-show-hero-desc.expanded{display:block;-webkit-line-clamp:unset}.podcast-show-hero-desc--muted{font-style:italic}.podcast-show-hero-stats{color:var(--portal-muted);font-size:12px;margin:10px 0 0}.podcast-show-hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.podcast-show-play-latest{align-items:center;background:var(--portal-accent);border:none;border-radius:999px;color:var(--portal-bg);cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:0 22px}.podcast-show-play-latest:disabled{cursor:not-allowed;opacity:.45}.podcast-show-fav-btn{align-items:center;background:#ffffff0a;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;color:var(--portal-text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;min-height:44px;padding:0 16px}.podcast-show-fav-btn.active{border-color:#fbbf2459;color:#fbbf24}.podcast-show-episodes{margin-bottom:24px}.podcast-show-episodes .podcast-section-heading{margin-bottom:14px}.podcast-episode-item.selected{background:#ffffff0d;border-color:#ffffff14}.podcast-episode-detail{background:#ffffff08;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff0f;margin-bottom:24px;padding:16px}.podcast-episode-detail-title{font-size:18px;font-weight:700;margin:0 0 12px}.podcast-episode-detail-card{align-items:flex-start;display:flex;gap:14px}.podcast-episode-detail-cover{border-radius:12px;flex-shrink:0;height:88px;-o-object-fit:cover;object-fit:cover;width:88px}.podcast-episode-detail-meta{flex:1;min-width:0}.podcast-episode-detail-meta h4{font-size:17px;line-height:1.35;margin:0 0 6px}.podcast-episode-detail-sub{color:var(--portal-muted);font-size:12px;margin:0 0 10px}.podcast-episode-detail-desc{color:var(--portal-muted);display:-webkit-box;font-size:13px;-webkit-line-clamp:6;line-height:1.65;margin:0 0 12px;-webkit-box-orient:vertical;overflow:hidden}.podcast-episode-detail-desc.expanded{display:block;-webkit-line-clamp:unset}.podcast-episode-detail-desc--muted{font-style:italic}.podcast-section-count{background:#ffffff0f;border-radius:999px;color:var(--portal-muted);font-size:12px;font-weight:600;padding:2px 8px}.podcast-show-grid--browse{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}@media(min-width:769px){.podcast-show-hero{align-items:flex-start;flex-direction:row;padding:24px;text-align:left}.podcast-show-hero-cover{flex-shrink:0;width:180px}.podcast-show-hero-actions{justify-content:flex-start}.podcast-show-grid--browse{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.podcast-show-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.podcast-upnext-card{flex-basis:240px}.podcast-upnext-cover{width:240px}.podcast-episode-list{max-height:520px;overflow-y:auto}.podcast-skeleton-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.podcast-player-panel{border-radius:24px;margin-bottom:16px}}.fm-page.audiobook-page{max-width:1120px}.audiobook-page .fm-search-top{margin-bottom:16px}.ab-category-scroll{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ab-category-scroll::-webkit-scrollbar{display:none}.ab-category-chip{align-items:center;background:#ffffff08;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;gap:6px;padding:8px 14px;touch-action:manipulation}.ab-category-chip.active{background:rgba(var(--portal-accent-rgb),.15);border-color:rgba(var(--portal-accent-rgb),.35);color:var(--portal-accent)}.ab-featured-rail{margin-bottom:24px}.ab-featured-rail .podcast-section-heading{margin-bottom:14px}.ab-work-rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ab-work-rail::-webkit-scrollbar{display:none}.ab-work-card{flex:0 0 132px;position:relative}.ab-work-card,.ab-work-card-main{background:transparent;border:none;color:inherit;padding:0;text-align:center}.ab-work-card-main{cursor:pointer;width:100%}.ab-work-card.active .ab-work-art{box-shadow:0 0 0 2px var(--portal-accent)}.ab-work-art{aspect-ratio:1;background:rgba(var(--portal-accent-rgb),.12);border-radius:14px;box-shadow:0 8px 24px #00000047;overflow:hidden;position:relative;width:132px}.ab-work-art img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.ab-work-play{align-items:center;backdrop-filter:blur(6px);background:#0000008c;border:none;border-radius:50%;bottom:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;height:34px;justify-content:center;position:absolute;right:8px;width:34px}.ab-work-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;margin-top:8px;overflow:hidden}.ab-work-meta{color:var(--portal-muted);display:block;font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-chapter-heading{align-items:baseline;display:flex;font-size:18px;font-weight:700;gap:12px;justify-content:space-between;margin:0 0 12px}.ab-chapter-heading span{color:var(--portal-muted);font-size:13px;font-weight:500}.audiobook-page .podcast-episode-row{align-items:center}.ab-chapter-index{color:var(--portal-muted);flex:0 0 28px;font-size:13px;font-weight:600;text-align:center}.audiobook-page .podcast-episode-row.active .ab-chapter-index,.audiobook-page .podcast-episode-row.playing .ab-chapter-index{color:var(--portal-accent)}.fm-station-grid-compact{display:grid;gap:12px 10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:16px}.audiobook-page .fm-resume-card{overflow:hidden;position:relative}.audiobook-page .fm-resume-progress{background:#ffffff14;bottom:0;height:3px;left:0;position:absolute;right:0}.audiobook-page .fm-resume-progress span{background:var(--portal-accent);display:block;height:100%}.audiobook-page .podcast-player-volume{align-items:center;color:var(--portal-muted);display:inline-flex;font-size:13px;gap:8px;min-width:140px}.audiobook-page .podcast-player-volume input[type=range]{accent-color:var(--portal-accent);cursor:pointer;flex:1}@media(min-width:1025px){.ab-category-scroll{display:none}}@media(min-width:769px){.ab-work-rail{display:grid;gap:14px 12px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));overflow:visible}.ab-work-card{flex:initial}}@media(max-width:768px){:root{--portal-header-h:52px;--portal-mobile-nav-h:54px}.portal-site--native-shell.portal-app-site{--portal-mobile-nav-h:54px!important}.portal-fm-native-shell,.portal-site--native-shell.portal-app-site.portal-fm-native-shell,.portal-site--native-shell.portal-app-site.portal-fm-native-tabbar,.portal-site--native-shell.portal-app-site.portal-yuan-native-shell,.portal-site--native-shell.portal-fm-native-shell,.portal-site--native-shell.portal-fm-native-tabbar,.portal-site--native-shell.portal-yuan-native-shell,.portal-yuan-native-shell{--portal-mobile-nav-h:0px!important;--portal-safe-bottom:0px!important}.portal-header{flex-wrap:nowrap;gap:8px;min-height:calc(var(--portal-header-h) + var(--portal-safe-top));padding:calc(10px + var(--portal-safe-top)) 14px 10px}.portal-brand{flex:0 1 auto;min-width:0}.portal-brand strong{font-size:16px;max-width:7.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-brand-tagline{display:none}.portal-actions{gap:6px}.portal-langs--desktop,.portal-nav--desktop{display:none}.portal-lang-toggle{display:inline-flex}.portal-main{padding:16px 14px calc(var(--portal-safe-bottom) + 20px)}.portal-site--with-mobile-nav .portal-main{padding:16px 14px calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 20px)}.portal-footer{font-size:12px;padding:20px 14px calc(var(--portal-safe-bottom) + 12px)}.portal-site--with-mobile-nav .portal-footer{padding:20px 14px calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 12px)}.portal-mobile-nav:not(.portal-app-dock){backdrop-filter:saturate(180%) blur(20px);background:#1e1f22c7;border-top:.5px solid hsla(0,0%,100%,.1);bottom:0;display:flex;left:0;padding-bottom:var(--portal-safe-bottom);position:fixed;right:0;z-index:90}html[data-fm-theme=light] .portal-mobile-nav:not(.portal-app-dock){background:#f9f9f9d1;border-top-color:#0000001f}.portal-app-site .portal-app-chrome{justify-content:space-between;min-height:calc(var(--portal-app-chrome-h) + var(--portal-safe-top));padding-top:calc(10px + var(--portal-safe-top));position:sticky;top:0;z-index:40}.portal-app-site .portal-app-chrome-nav{align-items:center;display:flex;gap:0}.portal-app-site .portal-app-chrome-nav>a{display:none}.portal-app-site .portal-app-chrome-nav .app-locale-switcher{display:flex}.portal-app-site .portal-app-chrome-brand{align-items:center;display:inline-flex;min-height:44px}.portal-app-site .app-shell-back{display:none}.portal-app-site .portal-app-chrome-footer{font-size:11px;padding:12px 16px calc(12px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.portal-app-site .podcast-page{padding-bottom:calc(96px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.portal-app-site .fm-page{padding-bottom:calc(24px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.portal-app-site .fm-page.fm-has-player{padding-bottom:calc(96px + var(--portal-mobile-nav-h) + var(--portal-safe-bottom))}.apps-page .portal-page-header{margin-bottom:12px}.apps-page .portal-page-header h1{font-size:24px}.apps-mp-section{margin-top:16px}.hero{padding:28px 8px 20px}.hero-tagline{font-size:11px;letter-spacing:.12em}.hero h1{font-size:clamp(28px,8vw,36px)}.hero p,.hero-subtitle{font-size:15px;line-height:1.65}.theme-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.theme-card-link{padding:16px 10px}.theme-card-link h3{font-size:15px}.theme-card-link p{display:-webkit-box;font-size:12px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.theme-icon{font-size:20px;height:42px;margin-bottom:8px;width:42px}.theme-card:hover{box-shadow:none;transform:none}.post-grid{gap:12px;grid-template-columns:1fr}.post-card:hover{transform:none}.post-card h2{font-size:16px}.page-title,.section-title{font-size:18px;margin:22px 0 12px}.section-heading{margin:22px 0 12px}.breadcrumb ol{font-size:12px}.post-detail h1{font-size:clamp(22px,6vw,28px)}.post-lede{font-size:16px}.detail-content .article-body{font-size:17px;line-height:1.8}.detail-video{border-radius:10px;max-height:56vw}.retry-btn{align-items:center;display:inline-flex;margin-left:0;margin-top:8px;min-height:40px;padding:8px 16px}.fm-page{padding:0 0 8px}.fm-desktop-player{display:none}.fm-desktop-bar{display:none!important}.fm-mini-bar{display:flex}.fm-station-card-play{opacity:1;transform:scale(1)}.fm-station-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fm-page.fm-has-player{padding-bottom:calc(96px + var(--portal-safe-bottom))}.fm-np-play-btn{font-size:20px;height:56px;width:56px}.fm-mini-play{font-size:14px;height:44px;width:44px}.fm-station-item{gap:10px;min-height:56px;padding:10px}.fm-station-item-cover{border-radius:9px;height:44px;width:44px}.fm-station-name{font-size:14px}.fm-station-desc{font-size:11px}.fm-station-list{gap:4px;max-height:none;overflow:visible}.fm-station-card-body{padding:8px 10px 10px}.fm-station-card-name{font-size:13px;margin-bottom:4px}.fm-search-box input{font-size:16px}.fm-icon-btn{align-items:center;display:inline-flex;justify-content:center;min-height:44px;min-width:44px}}@media(max-width:380px){.portal-mobile-nav-label{font-size:10px}.theme-grid{gap:8px}}.mp-page{margin:0 auto;max-width:720px;padding:8px 0 24px}.mp-header{margin-bottom:16px}.mp-header h1{font-size:clamp(24px,5vw,30px);margin:0 0 6px}.mp-header p{color:var(--portal-muted);font-size:14px;margin:0}.mp-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.mp-tabs--inner{margin-top:8px}.mp-tab{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:13px;padding:8px 14px;touch-action:manipulation}.mp-tab.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.mp-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;margin-bottom:12px;padding:14px}.mp-card-title{font-size:15px;font-weight:600;margin:0 0 10px}.mp-empty,.mp-error{color:var(--portal-muted);font-size:13px;padding:20px 8px;text-align:center}.mp-error{color:#ef4444}.mp-hint{color:var(--portal-muted);font-size:12px;margin-top:8px;text-align:center}.mp-hint a{color:var(--portal-accent);text-decoration:none}.mp-btn{border:none;border-radius:999px;cursor:pointer;flex:1;font-size:15px;font-weight:600;padding:12px 16px;touch-action:manipulation}.mp-btn.primary{background:var(--portal-accent);color:var(--portal-bg)}.mp-btn.ghost{background:#ffffff0f;border:1px solid var(--portal-border);color:var(--portal-text)}.mp-feed-list,.mp-rank-list{list-style:none;margin:0;padding:0}.mp-feed-row,.mp-rank-row{border-bottom:1px solid hsla(0,0%,100%,.05);display:flex;gap:10px;padding:10px 4px}.mp-feed-row:last-child,.mp-rank-row:last-child{border-bottom:none}.mp-rank-no{color:var(--portal-muted);font-weight:700;text-align:center;width:28px}.mp-rank-no.top{color:var(--portal-accent)}.mp-rank-main{flex:1;min-width:0}.mp-rank-name{display:block;font-weight:600}.mp-feed-meta,.mp-rank-meta{color:var(--portal-muted);display:block;font-size:12px;margin-top:2px}.mp-feed-title{font-size:14px;font-weight:600}.mp-feed-content{color:var(--portal-muted);font-size:13px;margin:4px 0 0}.practice-hero{text-align:center}.practice-stats{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.practice-stats--wide{grid-template-columns:repeat(4,1fr);text-align:center}.practice-stats strong{color:var(--portal-accent);display:block;font-size:22px}.practice-stats span{color:var(--portal-muted);font-size:11px}.practice-result h2{font-size:16px;margin:0 0 6px}.practice-result p{color:var(--portal-muted);font-size:13px;margin:0}.practice-quote{background:rgba(var(--portal-accent-rgb),.1);border-radius:10px;color:var(--portal-accent);font-style:italic;line-height:1.6;margin-top:10px;padding:10px}.practice-type-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.practice-type{background:#00000026;border:1px solid var(--portal-border);border-radius:10px;color:inherit;cursor:pointer;font-size:12px;padding:10px 6px;text-align:center}.practice-type.active{background:rgba(var(--portal-accent-rgb),.12);border-color:rgba(var(--portal-accent-rgb),.5)}.practice-type-icon{display:block;font-size:18px;margin-bottom:4px}.practice-label{color:var(--portal-muted);display:block;font-size:12px;margin:8px 0 4px}.practice-input,.practice-textarea{background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:4px;box-sizing:border-box;color:inherit;font-size:14px;margin-bottom:8px;padding:10px 12px;width:100%}.practice-input:focus,.practice-textarea:focus{box-shadow:0 0 0 2px rgba(var(--portal-accent-rgb),.5);outline:none}.practice-textarea{min-height:72px;resize:vertical}.practice-timer{text-align:center}.practice-timer-label{color:var(--portal-muted);font-size:13px}.practice-timer-value{font-size:40px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:6px}.practice-actions{display:flex;gap:10px}.practice-actions,.practice-record-group{margin-bottom:12px}.practice-record-group h3{color:var(--portal-muted);font-size:12px;margin:0 0 6px}.practice-record-group ul{list-style:none;margin:0;padding:0}.practice-record-group li{border-bottom:1px solid hsla(0,0%,100%,.05);font-size:13px;padding:8px 0}.practice-record-group li span{color:var(--portal-muted);display:block;font-size:12px;margin-top:2px}.practice-chart{align-items:flex-end;display:flex;gap:6px;min-height:120px}.practice-bar-col{align-items:center;display:flex;flex:1;flex-direction:column;min-width:0}.practice-bar-val{color:var(--portal-muted);font-size:10px;min-height:14px}.practice-bar-track{align-items:flex-end;display:flex;height:72px;max-width:28px;width:100%}.practice-bar-fill{background:linear-gradient(180deg,rgba(var(--portal-accent-rgb),.8),rgba(var(--portal-accent-rgb),.35));border-radius:4px 4px 2px 2px;min-height:4px;width:100%}.practice-bar-label{color:var(--portal-muted);font-size:10px;margin-top:4px}.portal-table-scroll{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;margin:4px -4px 0;padding:0 4px}.portal-table-scroll table{min-width:300px;width:100%}.practice-table{border-collapse:collapse;font-size:12px;width:100%}.practice-table td,.practice-table th{border-bottom:1px solid hsla(0,0%,100%,.06);padding:8px 4px;text-align:left}.practice-table th{color:var(--portal-muted);font-weight:600;white-space:nowrap}.music-now{gap:14px}.music-disc,.music-now{align-items:center;display:flex}.music-disc{background:radial-gradient(circle at 30% 30%,#3f3f46,#18181b);border-radius:50%;font-size:24px;height:64px;justify-content:center;width:64px}.music-disc.spinning{animation:fm-spin-disc 8s linear infinite}.music-title{font-size:16px;font-weight:600}.music-meta{color:var(--portal-muted);font-size:12px;margin-top:2px}.music-list{list-style:none;margin:0;padding:0}.music-item{align-items:center;border:1px solid transparent;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:6px;padding:12px}.music-item:hover{background:#ffffff0a}.music-item.active{background:rgba(var(--portal-accent-rgb),.08);border-color:rgba(var(--portal-accent-rgb),.3)}.music-action{color:var(--portal-accent)}.practice-hub{margin:8px 0 32px}.practice-hub-intro{color:var(--portal-muted);font-size:14px;margin:-4px 0 14px}.practice-hub-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));list-style:none;margin:0;padding:0}.practice-hub-card{backdrop-filter:blur(6px);background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);color:inherit;display:block;height:100%;padding:16px 14px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}.practice-hub-card:hover{border-color:rgba(var(--portal-accent-rgb),.45);box-shadow:var(--portal-shadow);transform:translateY(-3px)}.practice-hub-icon{display:block;font-size:24px;margin-bottom:8px}.practice-hub-card h3{font-size:15px;margin:0 0 6px}.practice-hub-card p{color:var(--portal-muted);font-size:12px;line-height:1.5;margin:0}.portal-install-btn{align-items:center;background:rgba(var(--portal-accent-rgb),.08);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:10px;color:var(--portal-accent);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;min-height:40px;padding:8px 12px;touch-action:manipulation}.portal-install-btn svg{flex-shrink:0;height:16px;width:16px}.portal-install-btn-label{display:none}.portal-install-banner{background:var(--portal-glass);border:1px solid rgba(var(--portal-accent-rgb),.35);border-radius:var(--portal-radius);bottom:calc(var(--portal-mobile-nav-h) + var(--portal-safe-bottom) + 10px);box-shadow:0 12px 36px #0006;display:flex;flex-direction:column;gap:10px;left:12px;padding:14px;position:fixed;right:12px;z-index:45}.portal-install-banner-body{align-items:flex-start;display:flex;gap:12px}.portal-install-banner-body strong{display:block;font-size:14px;margin-bottom:4px}.portal-install-banner-body p{color:var(--portal-muted);font-size:12px;line-height:1.5;margin:0}.portal-install-banner-actions{display:flex;gap:8px}.portal-install-icon{border-radius:12px;flex-shrink:0}.portal-install-primary{background:var(--portal-accent);border:none;border-radius:999px;color:var(--portal-bg);cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;touch-action:manipulation}.portal-install-primary--block{width:100%}.portal-install-dismiss{background:transparent;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);cursor:pointer;font-size:13px;padding:10px 14px}.portal-install-list-item{list-style:none;margin:0;padding:0}.portal-install-list-row{align-items:center;background:transparent;border:none;border-top:1px solid var(--portal-border,hsla(0,0%,100%,.12));box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;padding:12px 2px;text-align:left;width:100%}.me-nav li:first-child .portal-install-list-row,.me-nav>.portal-install-list-item:first-child .portal-install-list-row{border-top:none;padding-top:4px}.portal-install-list-text{display:grid;flex:1;gap:2px;min-width:0}.portal-install-list-title{font-size:16px;font-weight:650}.portal-install-list-sub{color:var(--portal-muted,#94a3b8);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-install-list-chevron{color:var(--portal-muted,#94a3b8);flex-shrink:0;font-size:22px;line-height:1}.portal-install-list-row:hover .portal-install-list-title{color:var(--portal-accent,#2f6f4e)}.portal-install-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:14px;margin-bottom:16px;padding:16px}.portal-install-card-head{align-items:flex-start;display:flex;gap:14px;margin-bottom:14px}.portal-install-card h2{font-size:17px;margin:0 0 6px}.portal-install-card p{color:var(--portal-muted);font-size:13px;line-height:1.6;margin:0}.portal-install-modal{align-items:flex-end;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:16px;padding-bottom:calc(16px + var(--portal-safe-bottom));position:fixed;z-index:120}.portal-install-modal-backdrop{background:#0000008c;top:0;right:0;bottom:0;left:0;position:absolute}.portal-install-modal-panel{background:#252220;border:1px solid var(--portal-border);border-radius:16px;box-shadow:0 16px 48px #00000073;padding:20px;position:relative;width:min(420px,100%)}.portal-install-modal-close{background:transparent;border:none;color:var(--portal-muted);cursor:pointer;font-size:24px;line-height:1;position:absolute;right:12px;top:10px}.portal-install-modal-panel h3{font-size:18px;margin:0 28px 8px 0}.portal-install-modal-desc{color:var(--portal-muted);font-size:13px;line-height:1.6;margin:0 0 12px}.portal-install-steps{font-size:14px;line-height:1.7;margin:0 0 16px;padding-left:1.2em}@media(min-width:769px){.portal-install-btn-label{display:inline}.portal-install-banner{display:none}.portal-install-modal{align-items:center}}@media(max-width:768px){.practice-stats--wide{grid-template-columns:repeat(2,1fr)}.practice-type-grid{grid-template-columns:repeat(3,1fr)}}.home-intro-books{display:grid;gap:20px;margin:8px 0 32px}.home-reading-panel.reading-section{margin:0}.community-page{margin:0 auto;max-width:var(--portal-content-max)}.community-page--channels{max-width:min(1100px,100%)}.community-page-header{margin-bottom:12px}.portal-site--community-chat{min-height:100dvh}.portal-main--community-chat,.portal-site--community-chat .portal-shell-body{display:flex;flex:1;flex-direction:column;min-height:0}.portal-main--community-chat{max-width:none!important;padding:0!important}.community-discord{background:var(--portal-card-solid,var(--portal-bg-elevated));border:none;border-radius:0;display:grid;flex:1;grid-template-columns:240px minmax(0,1fr);height:100%;min-height:0;overflow:hidden;position:relative}.community-discord-backdrop{display:none}.community-discord-sidebar{background:var(--portal-bg);border-right:1px solid var(--portal-border);display:flex;flex-direction:column;gap:8px;padding:12px 8px}.community-discord-sidebar-status{color:var(--portal-muted);font-size:13px;margin:0;padding:8px 10px}.community-discord-sidebar-status.error{color:#f47b67}.community-discord-retry{background:transparent;border:0;color:var(--portal-accent);cursor:pointer;font:inherit;margin-left:6px;text-decoration:underline}.community-discord-sidebar-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.community-discord-sidebar-head h2{font-size:.95rem;font-weight:700;margin:0}.community-discord-close,.community-discord-menu{background:transparent;border:0;color:var(--portal-text);cursor:pointer;display:none;font-size:1.25rem;line-height:1}.community-discord-sidebar-desc{color:var(--portal-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.community-discord-nav{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow:auto}.community-discord-channel{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--portal-muted);cursor:pointer;display:flex;font:inherit;font-size:15px;gap:6px;margin:1px 0;padding:6px 8px;text-align:left;width:100%}.community-discord-channel .hash{font-size:18px;line-height:1;opacity:.55}.community-discord-channel.active,.community-discord-channel:hover{background:var(--portal-hover);color:var(--portal-text)}.community-discord-channel.active{background:color-mix(in srgb,var(--portal-accent) 18%,var(--portal-hover))}.community-discord-sidebar-foot{border-top:1px solid var(--portal-border);display:flex;flex-direction:column;gap:8px;padding-top:8px}.community-discord-main{display:flex;flex-direction:column;min-height:0;min-width:0}.community-discord-main-head{align-items:center;background:var(--portal-card-solid,var(--portal-bg-elevated));border-bottom:1px solid var(--portal-border);box-shadow:0 1px #0000001f;display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px 10px;min-height:48px;padding:0 16px;z-index:1}.community-discord-main-title{align-items:center;display:flex;font-size:15px;font-weight:700;gap:6px}.community-discord-main-title .hash{color:var(--portal-muted);font-size:22px;line-height:1}.community-discord-main-desc{color:var(--portal-muted);font-size:12px;margin:0;padding-bottom:8px;width:100%}.community-discord-messages{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow:auto;padding:8px 0 16px}.community-discord-date-divider{align-items:center;display:flex;justify-content:center;margin:16px 0 8px;position:relative}.community-discord-date-divider:before{background:var(--portal-border);content:"";height:1px;left:16px;position:absolute;right:16px;top:50%}.community-discord-date-divider span{background:var(--portal-card-solid,var(--portal-bg-elevated));border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-muted);font-size:11px;font-weight:600;padding:2px 10px;position:relative;z-index:1}.community-discord-welcome-card{background:color-mix(in srgb,var(--portal-accent) 6%,var(--portal-bg-elevated));border:1px solid var(--portal-border);border-radius:8px;margin:24px 16px 12px;padding:16px 20px}.community-discord-welcome-icon{align-items:center;background:var(--portal-hover);border-radius:50%;color:var(--portal-muted);display:flex;font-size:42px;font-weight:700;height:68px;justify-content:center;margin-bottom:12px;width:68px}.community-discord-welcome-card h3{font-size:1.35rem;margin:0 0 8px}.community-discord-welcome-card p{color:var(--portal-muted);line-height:1.6;margin:0}.community-discord-welcome-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.community-discord-welcome-prompt{background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-text);cursor:pointer;font-size:13px;padding:8px 12px}.community-discord-welcome-prompt:hover{background:color-mix(in srgb,var(--portal-accent) 10%,var(--portal-bg));border-color:color-mix(in srgb,var(--portal-accent) 50%,var(--portal-border))}.community-discord-load-more{display:flex;justify-content:center;padding-bottom:4px}.community-discord-welcome{padding:2rem 0;text-align:center}.community-discord-message{border-radius:4px;display:grid;gap:0 16px;grid-template-columns:72px minmax(0,1fr);margin:0 0 0 16px;padding:2px 16px 2px 0}.community-discord-message:hover{background:color-mix(in srgb,var(--portal-hover) 65%,transparent)}.community-discord-message.is-compact{grid-template-columns:72px minmax(0,1fr);margin-top:0}.community-discord-avatar{align-items:center;background:color-mix(in srgb,var(--portal-accent) 22%,var(--portal-bg));border-radius:50%;color:var(--portal-accent);display:flex;font-weight:700;height:40px;justify-content:center;margin-left:16px;margin-top:2px;width:40px}.community-discord-avatar--compact{visibility:hidden}.community-discord-message-meta--compact{display:none;height:0;margin:0;overflow:hidden}.community-discord-message.is-compact:hover .community-discord-message-meta--compact{display:flex;height:auto;margin:0 0 2px;overflow:visible}.community-discord-message-meta{align-items:baseline;display:flex;gap:8px;margin-bottom:2px}.community-discord-message-meta .author{font-size:.92rem;font-weight:700}.community-discord-message-meta time{color:var(--portal-muted);font-size:12px}.community-discord-message-body .text{line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.community-discord-message.is-bot .author{color:var(--portal-accent-2)}.community-discord-avatar--bot{background:color-mix(in srgb,var(--portal-accent-2) 24%,var(--portal-bg));color:var(--portal-accent-2)}.community-bot-badge{background:rgba(var(--portal-accent-rgb),.18);border-radius:999px;color:var(--portal-accent-2);font-size:11px;font-weight:600;padding:1px 6px}.community-bot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.community-bot-action-btn{background:rgba(var(--portal-accent-rgb),.12);border:1px solid rgba(var(--portal-accent-rgb),.45);border-radius:999px;color:var(--portal-text);cursor:pointer;font-size:13px;padding:6px 12px}.community-bot-action-btn:hover{background:rgba(var(--portal-accent-rgb),.24)}.community-bot-thinking{color:var(--portal-muted)}.community-discord-compose-hint{color:var(--portal-muted);font-size:13px;margin:0 0 8px}.community-discord-compose-left{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.community-discord-compose{border-top:none;flex-shrink:0;padding:0 16px 12px}.community-discord-compose-error{font-size:13px;margin:8px 0 0}.community-discord-compose-bar{align-items:flex-end;background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:8px;display:flex;gap:8px;padding:8px 12px}.community-discord-compose-bar:focus-within{border-color:color-mix(in srgb,var(--portal-accent) 45%,var(--portal-border))}.community-discord-compose-addon{background:transparent;border:0;border-radius:50%;color:var(--portal-muted);cursor:pointer;flex-shrink:0;font-size:18px;font-weight:700;height:32px;width:32px}.community-discord-compose-addon:hover{background:var(--portal-hover);color:var(--portal-text)}.community-discord-input{background:transparent;border:0;border-radius:0;color:var(--portal-text);flex:1;font:inherit;line-height:1.45;max-height:160px;min-height:22px;padding:6px 0;resize:none;width:100%}.community-discord-input:focus{outline:none}.community-discord-send{background:var(--portal-accent);border:0;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;height:32px;width:32px}.community-discord-send:disabled{cursor:not-allowed;opacity:.45}.community-discord-compose-foot{color:var(--portal-muted);font-size:11px;margin:6px 4px 0}.community-discord-compose-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:8px}.portal-btn.sm{font-size:13px;padding:6px 10px;text-align:center;text-decoration:none}.community-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.25rem}.community-section-title{font-size:1.05rem;font-weight:600;margin:0 0 12px}.community-topic-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.community-topic-card{background:transparent;border:none;border-radius:4px;color:inherit;display:block;padding:10px 12px;text-decoration:none;transition:background .15s}.community-topic-card:hover{background:var(--portal-hover)}.community-topic-card h2{font-size:1.1rem;margin:0 0 8px}.community-topic-excerpt{color:var(--portal-muted);display:-webkit-box;-webkit-line-clamp:3;line-height:1.6;margin:0 0 10px;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.portal-list-main{min-width:0}.post-grid--section{grid-template-columns:1fr}.community-topic-meta{color:var(--portal-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 14px}.community-hint{color:var(--portal-muted);font-size:13px;line-height:1.6;margin-top:1.25rem}.portal-list-layout{align-items:start;display:grid;gap:20px}.portal-list-sidebar{display:flex;flex-direction:column;gap:12px}.portal-list-sidebar .theme-chips{margin:0}.portal-mobile-nav--main .portal-mobile-nav-item{min-width:0;padding:5px 1px}.portal-mobile-nav--main .portal-mobile-nav-label{font-size:9px;max-width:48px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.portal-mobile-nav--main .portal-mobile-nav-icon svg{height:18px;width:18px}.portal-search-page{display:grid;gap:20px;margin:0 auto;max-width:720px;padding:20px 16px 40px}.portal-search-page-head{display:grid;gap:6px}.portal-search-page-title{color:var(--portal-text);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:750;letter-spacing:-.02em;margin:0}.portal-search-page-sub{color:var(--portal-muted);font-size:14px;margin:0}.portal-search-page-box{align-items:center;background:#ffffff0a;border:1px solid var(--portal-border);border-radius:14px;display:flex;gap:6px;min-height:52px;padding:6px 8px 6px 14px}.portal-search-page-glyph{color:var(--portal-muted);display:inline-flex;flex-shrink:0;height:20px;width:20px}.portal-search-page-glyph svg{height:20px;width:20px}.portal-search-page-label{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.portal-search-page-box input{background:transparent;border:none;color:var(--portal-text);flex:1;font-size:17px;min-width:0;outline:none;padding:10px 4px}.portal-search-page-box input::-moz-placeholder{color:var(--portal-muted)}.portal-search-page-box input::placeholder{color:var(--portal-muted)}.portal-search-page-box .portal-search-voice{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--portal-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.portal-search-page-box .portal-search-voice:hover{background:#ffffff14;color:var(--portal-text)}.portal-search-page-box .portal-search-voice.is-recording{animation:portal-voice-pulse 1.1s ease-in-out infinite;background:#ff3b301f;color:#ff3b30}.portal-search-page-go{background:var(--portal-accent);border:none;border-radius:10px;color:#0f1e22;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:650;min-height:40px;padding:8px 14px}.portal-search-page-voice-hint{color:#ef4444;font-size:13px;margin:-8px 0 0}.portal-search-page-history{display:grid;gap:10px}.portal-search-page-history-bar{align-items:center;display:flex;gap:12px;justify-content:space-between}.portal-search-page-history h2{color:var(--portal-text);font-size:15px;font-weight:650;margin:0}.portal-search-page-clear{background:transparent;border:none;color:var(--portal-accent);cursor:pointer;font-size:13px;padding:4px 0}.portal-search-page-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.portal-search-page-chip{background:#ffffff08;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-text);cursor:pointer;font-size:14px;padding:8px 14px}.portal-search-page-chip:hover{border-color:rgba(var(--portal-accent-rgb),.45);color:var(--portal-accent)}.portal-search-form .portal-search-voice{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--portal-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.portal-search-form .portal-search-voice.is-recording{color:#ff3b30}.related-posts{border-top:1px solid var(--portal-border);margin-top:3rem;padding-top:2rem}.related-posts h2{color:var(--portal-text);font-size:1.25rem;margin:0 0 1rem}.related-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media(min-width:641px){.portal-main{padding-left:20px;padding-right:20px}.related-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-quick-nav{gap:10px}.home-quick-nav a{font-size:14px;padding:7px 16px}.post-grid{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-hub-grid,.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-intro-books{align-items:start;gap:24px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.home-intro-body{max-width:none}.home-editorial-grid{gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.portal-list-layout{grid-template-columns:200px minmax(0,1fr)}.portal-list-sidebar{position:sticky;top:calc(var(--portal-header-h) + 12px)}.portal-list-sidebar .theme-chips{align-items:stretch;flex-direction:column}.portal-list-sidebar .theme-chip{justify-content:flex-start}.community-topic-list{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1025px){.portal-main{max-width:var(--portal-content-wide);padding-left:28px;padding-right:28px}.portal-langs--desktop{display:flex}.portal-lang-menu .portal-lang-toggle,.portal-lang-menu--compact .portal-langs--desktop{display:none}.portal-lang-menu--compact .portal-lang-toggle{display:inline-flex}.portal-lang-menu--compact .portal-lang-dropdown{max-height:min(70vh,420px);overflow-y:auto}.post-grid{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.practice-hub-grid,.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reading-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-intro-books{gap:28px;grid-template-columns:minmax(0,1fr) minmax(280px,380px)}.article-reading-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}.article-prose-wrap{max-width:min(var(--portal-prose-max),100%)}.apps-page{max-width:var(--portal-content-wide)}.apps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-list-layout{gap:28px;grid-template-columns:220px minmax(0,1fr)}.related-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:641px)and (max-width:768px){.app-shell--default,.app-shell--media,.app-shell--mp{padding-left:4px;padding-right:4px}.apps-grid,.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-app-media-stack{display:flex;flex-direction:column;gap:8px;margin:8px 0 28px}.home-app-media .section-heading,.home-app-media .section-title{margin-top:0}.home-app-media-skeleton-card{animation:portal-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(var(--portal-accent-rgb),.06) 0,rgba(var(--portal-accent-rgb),.14),rgba(var(--portal-accent-rgb),.06));background-size:200% 100%;border-radius:14px;height:168px;pointer-events:none;width:140px}@media(min-width:769px)and (max-width:1024px){.portal-header{flex-wrap:nowrap;gap:12px;padding:12px 18px}.portal-nav--desktop{flex:1;flex-wrap:nowrap;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8px,#000 calc(100% - 8px),transparent);mask-image:linear-gradient(90deg,transparent,#000 8px,#000 calc(100% - 8px),transparent)}.portal-nav--desktop::-webkit-scrollbar{display:none}.portal-nav--desktop a{flex-shrink:0;font-size:13px;padding:8px 10px}.portal-brand-tagline{display:none}}@media(max-width:640px){.portal-actions .portal-install-btn{display:none}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .portal-btn{width:100%}.home-quick-nav{flex-wrap:nowrap;justify-content:flex-start;margin-bottom:22px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.home-quick-nav::-webkit-scrollbar{display:none}.home-quick-nav a{flex-shrink:0}.article-prose-wrap .article-body table{font-size:13px;min-width:0}.article-prose-wrap .article-body th{white-space:normal}.practice-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-hub-card{touch-action:manipulation;-webkit-tap-highlight-color:rgba(var(--portal-accent-rgb),.12)}.section-more{align-items:center;display:inline-flex;min-height:44px;padding:8px 0}.home-app-media .fm-featured-scroll{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible;touch-action:auto}.home-app-media .fm-featured-card{width:auto}.home-app-media .fm-featured-cover{aspect-ratio:1;height:auto;width:100%}.community-discord{grid-template-columns:1fr;position:relative}.community-discord-backdrop{background:#00000073;display:block;top:0;right:0;bottom:0;left:0;position:absolute;z-index:3}.community-discord-sidebar{box-shadow:8px 0 24px #00000059;inset:0 auto 0 0;position:absolute;transform:translate(-105%);transition:transform .2s ease;width:min(82vw,280px);z-index:4}.community-discord-sidebar.open{transform:translate(0)}.community-discord-close,.community-discord-menu{display:inline-flex}.community-discord-message{grid-template-columns:56px minmax(0,1fr)}.community-discord-avatar{height:36px;margin-left:10px;width:36px}.portal-list-search{flex-direction:column}.portal-list-search .portal-btn,.portal-list-search input{width:100%}.services-wechat{align-items:stretch;flex-direction:column;gap:14px;padding:14px}.services-wechat-qr-wrap{align-self:center}.services-wechat-qr{height:min(200px,72vw);width:min(200px,72vw)}.services-wechat-meta{min-width:0;text-align:center}.related-list{grid-template-columns:1fr}.portal-app-site .reading-reader-frame,.portal-app-site .reading-reader-frame-wrap{height:calc(100dvh - var(--portal-app-chrome-h) - var(--portal-mobile-nav-h) - var(--portal-safe-top) - var(--portal-safe-bottom) - 148px);min-height:calc(100dvh - var(--portal-app-chrome-h) - var(--portal-mobile-nav-h) - var(--portal-safe-top) - var(--portal-safe-bottom) - 148px)}}@media(max-width:380px){.portal-mobile-nav--main .portal-mobile-nav-label{font-size:9px;max-width:44px}}.portal-shell{display:flex;min-height:100vh}.portal-shell-body{display:flex;flex:1;flex-direction:column;min-width:0}.portal-icon-rail{display:none}@media(min-width:1025px){.portal-site--with-rail .portal-icon-rail{align-items:center;background:var(--portal-rail-bg);border-right:1px solid var(--portal-border);display:flex;flex-direction:column;flex-shrink:0;gap:8px;height:100vh;overflow-y:auto;padding:12px 0;position:sticky;top:0;width:var(--portal-rail-w);z-index:60}.portal-site--with-rail .portal-nav--desktop{display:none}.portal-site--with-rail.portal-site--with-mobile-nav .portal-main{padding-left:20px}}.portal-rail-item{align-items:center;background:var(--portal-bg-elevated);border-radius:16px;color:var(--portal-text);display:flex;font-size:20px;height:48px;justify-content:center;position:relative;text-decoration:none;touch-action:manipulation;transition:border-radius .15s,background .15s;width:48px}.portal-rail-item.active,.portal-rail-item:hover{background:var(--portal-accent);border-radius:12px;color:#fff}.portal-rail-item.active:before{background:var(--portal-text);border-radius:0 4px 4px 0;content:"";height:20px;left:-12px;position:absolute;width:4px}.portal-rail-item--home{color:#fff;font-family:Songti SC,STSong,PingFang SC,serif;font-size:15px;font-weight:700;letter-spacing:.04em}.portal-rail-item--home,.portal-rail-item--home.active,.portal-rail-item--home:hover{background:var(--portal-accent)}.portal-rail-divider{background:var(--portal-border);border-radius:1px;height:2px;margin:4px 0;width:32px}.portal-rail-tooltip{background:var(--portal-card-solid);border:1px solid var(--portal-border);border-radius:4px;box-shadow:var(--portal-shadow);color:var(--portal-text);font-size:14px;font-weight:600;left:calc(100% + 12px);opacity:0;padding:8px 12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s;white-space:nowrap;z-index:100}.portal-rail-item:hover .portal-rail-tooltip{opacity:1}@media(min-width:1025px){.portal-app-site.portal-site--with-rail .portal-app-chrome{padding-left:8px}}.error-page[data-v-9a043448]{padding:48px 16px;text-align:center}.error-code[data-v-9a043448]{color:var(--portal-accent);font-size:48px;font-weight:600;margin:0 0 8px}.error-page h1[data-v-9a043448]{font-size:20px;margin:0 0 12px}.error-detail[data-v-9a043448]{color:var(--portal-muted);font-size:14px;margin:0 0 20px}
