:root{--app-paper:var(--group-paper,#f2ebde);--app-ink:var(--group-ink,#191510);--app-accent:var(--group-accent,#e8542b);--app-accent-dark:var(--group-accent-dark,#a72f12);--app-accent-soft:var(--group-accent-soft,#f8ddd2);--app-line:color-mix(in srgb,var(--app-ink) 76%,transparent);--app-muted:color-mix(in srgb,var(--app-ink) 58%,var(--app-paper));--app-card:color-mix(in srgb,var(--app-paper) 60%,#fff);}
html{overflow-x:clip;}
body{overflow-x:clip;}
.app-header{position:relative;z-index:30;background:color-mix(in srgb,var(--app-paper) 91%,transparent);border-bottom:1.5px solid var(--app-line);backdrop-filter:blur(12px);}
.app-header-inner{width:min(1240px,calc(100% - 36px));margin:0 auto;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;padding:10px 0;}
.app-brand{display:inline-flex;align-items:center;gap:11px;min-width:0;color:var(--app-ink);text-decoration:none;}
.app-mark{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;color:var(--app-ink);background:var(--app-accent);border:2px solid var(--app-ink);border-radius:8px;box-shadow:3px 3px 0 var(--app-ink);font:700 21px/1 "Songti SC","Noto Serif CJK SC",serif;}
.app-brand-copy{display:grid;min-width:0;line-height:1.08;}
.app-brand-copy strong{font:700 21px/1 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:.12em;}
.app-brand-copy small{max-width:24rem;margin-top:5px;color:var(--app-muted);font-size:10px;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.app-nav{display:flex;justify-content:flex-end;gap:5px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:3px 2px 7px;}
.app-nav a{position:relative;flex:0 0 auto;padding:8px 9px 7px;color:var(--app-ink);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap;border-radius:4px;}
.app-nav a::after{content:"";position:absolute;left:9px;right:9px;bottom:2px;height:2px;background:var(--app-accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease;}
.app-nav a:hover::after,.app-nav a:focus-visible::after,.app-nav a.is-active::after{transform:scaleX(1);}
.app-nav a.is-active{color:var(--app-accent-dark);background:var(--app-accent-soft);}
.module-context{background:color-mix(in srgb,var(--app-ink) 6%,var(--app-paper));border-bottom:1px solid color-mix(in srgb,var(--app-ink) 18%,transparent);font-size:11px;letter-spacing:.04em;}
.module-context-inner{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:9px 0;color:var(--app-muted);}
.module-context a{color:var(--app-ink);text-decoration:none;}
.module-context a:hover{color:var(--app-accent-dark);}
.module-context span{color:var(--app-ink);font-weight:700;}
.module-switcher{position:relative;z-index:5;background:var(--app-paper);border-bottom:1px solid color-mix(in srgb,var(--app-ink) 20%,transparent);}
.module-switcher-inner{width:min(1180px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:11px 0;scrollbar-width:thin;}
.module-switcher-label{flex:0 0 auto;margin-right:5px;color:var(--app-muted);font:10px/1.4 "SFMono-Regular","Cascadia Mono",monospace;letter-spacing:.11em;text-transform:uppercase;}
.module-switcher a{flex:0 0 auto;padding:7px 11px;color:var(--app-ink);border:1px solid color-mix(in srgb,var(--app-ink) 28%,transparent);border-radius:100px;background:color-mix(in srgb,var(--app-card) 66%,transparent);text-decoration:none;font-size:12px;line-height:1.1;}
.module-switcher a:hover,.module-switcher a.is-active{color:var(--app-paper);background:var(--app-ink);border-color:var(--app-ink);}
.migration-note{width:min(1180px,calc(100% - 36px));margin:16px auto 0;display:flex;gap:10px;align-items:baseline;padding:10px 14px;color:var(--app-ink);background:var(--app-accent-soft);border:1px solid color-mix(in srgb,var(--app-ink) 45%,transparent);border-radius:7px;font-size:12px;line-height:1.55;}
.migration-note strong{flex:0 0 auto;font-size:11px;letter-spacing:.06em;}
.migration-note span{min-width:0;}
.app-footer{margin-top:70px;color:var(--app-paper);background:var(--app-ink);border-top:4px solid var(--app-accent);}
.app-footer-inner{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:38px 0 28px;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);gap:42px;}
.app-brand-footer{color:var(--app-paper);}
.app-brand-footer .app-mark{color:var(--app-ink);background:var(--app-accent);border-color:var(--app-paper);box-shadow:3px 3px 0 var(--app-paper);}
.app-footer-lead p{max-width:24rem;margin:19px 0 0;color:color-mix(in srgb,var(--app-paper) 66%,var(--app-ink));font-size:12px;line-height:1.75;}
.app-footer-sites{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.app-footer-site{display:grid;gap:5px;min-height:84px;padding:12px;color:color-mix(in srgb,var(--app-paper) 70%,var(--app-ink));background:color-mix(in srgb,var(--app-paper) 8%,var(--app-ink));border:1px solid color-mix(in srgb,var(--app-paper) 19%,transparent);border-radius:7px;text-decoration:none;}
.app-footer-site strong{color:var(--app-paper);font-size:13px;letter-spacing:.07em;}
.app-footer-site span{font-size:10px;line-height:1.45;}
.app-footer-site:hover,.app-footer-site.is-current{border-color:var(--app-accent);background:color-mix(in srgb,var(--app-accent) 16%,var(--app-ink));}
.app-footer-site.is-current strong::after{content:" 当前";color:var(--app-accent);font-size:9px;}
.app-footer-base{width:min(1180px,calc(100% - 36px));margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:15px 0 20px;border-top:1px solid color-mix(in srgb,var(--app-paper) 17%,transparent);color:color-mix(in srgb,var(--app-paper) 50%,var(--app-ink));font:9px/1.6 "SFMono-Regular","Cascadia Mono",monospace;letter-spacing:.04em;}
.home-hero{width:min(1180px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:clamp(40px,8vw,110px);align-items:end;padding:clamp(52px,8vw,108px) 0 72px;border-bottom:1.5px solid var(--app-line);}
.home-hero-copy{min-width:0;}
.home-eyebrow,.home-index{margin:0;color:var(--app-muted);font:10px/1.5 "SFMono-Regular","Cascadia Mono",monospace;letter-spacing:.12em;text-transform:uppercase;}
.home-hero h1{margin:20px 0 24px;font:700 clamp(50px,8.6vw,110px)/.94 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.065em;}
.home-hero h1 em{color:var(--app-accent);font-style:normal;}
.home-lede{max-width:46rem;margin:0;color:var(--app-muted);font-size:clamp(15px,1.55vw,19px);line-height:1.8;}
.home-search{display:grid;gap:7px;max-width:38rem;margin-top:34px;padding:13px 16px 14px;background:var(--app-card);border:2px solid var(--app-ink);border-radius:8px;box-shadow:5px 5px 0 var(--app-accent);}
.home-search span{color:var(--app-muted);font-size:10px;font-weight:700;letter-spacing:.09em;}
.home-search input{width:100%;padding:4px 0;color:var(--app-ink);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--app-ink) 22%,transparent);outline:0;font-size:clamp(16px,2vw,21px);}
.home-search input:focus{border-bottom-color:var(--app-accent);}
.home-note{align-self:end;padding:22px 0 0;border-top:2px solid var(--app-ink);}
.home-note h2{margin:14px 0 12px;font:700 clamp(24px,3vw,37px)/1.18 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.035em;}
.home-note p:last-child{margin:0;color:var(--app-muted);font-size:12px;line-height:1.75;}
.home-sections{width:min(1180px,calc(100% - 36px));margin:0 auto;}
.home-section{padding:62px 0 10px;border-bottom:1px solid color-mix(in srgb,var(--app-ink) 18%,transparent);}
.home-section:last-child{border-bottom:0;}
.home-section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 20px;margin-bottom:23px;}
.home-section-head h2{flex:1 1 100%;margin:0;font:700 clamp(25px,3.5vw,42px)/1.1 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.04em;}
.home-section-head>p:last-child{margin:0;color:var(--app-muted);font-size:12px;}
.tool-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:13px;}
.tool-card{grid-column:span 4;display:flex;flex-direction:column;min-height:250px;padding:20px 20px 18px;color:var(--app-ink);background:var(--app-card);border:1.5px solid var(--app-line);border-radius:8px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.tool-card:nth-child(5n+1){grid-column:span 5;}
.tool-card:nth-child(5n+2){grid-column:span 3;}
.tool-card:hover{transform:translate(-2px,-2px);border-color:var(--app-ink);box-shadow:5px 5px 0 var(--app-accent);}
.tool-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.tool-card-kicker{color:var(--app-muted);font:9px/1.4 "SFMono-Regular","Cascadia Mono",monospace;letter-spacing:.07em;text-transform:uppercase;}
.tool-card-arrow{display:grid;place-items:center;width:27px;height:27px;color:var(--app-ink);background:var(--app-accent-soft);border:1px solid var(--app-ink);border-radius:50%;font-size:14px;}
.tool-card h2,.tool-card h3{margin:28px 0 10px;font:700 clamp(22px,2.4vw,31px)/1.12 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.035em;}
.tool-card p{margin:0;color:var(--app-muted);font-size:12px;line-height:1.7;}
.tool-card ul{display:flex;flex-wrap:wrap;gap:5px;margin:auto 0 0;padding:19px 0 0;list-style:none;}
.tool-card li{padding:4px 7px;color:var(--app-ink);background:color-mix(in srgb,var(--app-ink) 6%,transparent);border-radius:3px;font-size:9px;line-height:1.35;}
.home-external-section{padding-top:54px;}
.music-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;padding:21px 23px;color:var(--app-ink);background:color-mix(in srgb,var(--app-accent) 15%,var(--app-card));border:2px solid var(--app-ink);border-radius:8px;box-shadow:6px 6px 0 var(--app-ink);text-decoration:none;}
.music-card-mark{display:grid;place-items:center;width:50px;height:50px;background:var(--app-accent);border:1.5px solid var(--app-ink);border-radius:50%;font:700 25px/1 serif;}
.music-card span:nth-child(2){display:grid;gap:3px;}
.music-card strong{font:700 24px/1.2 "Songti SC","Noto Serif CJK SC",serif;}
.music-card b{color:var(--app-muted);font-size:12px;font-weight:400;line-height:1.6;}
.music-card-arrow{font-size:24px;}
.home-empty{width:min(1180px,calc(100% - 36px));margin:40px auto;padding:24px;text-align:center;border:1px dashed var(--app-line);border-radius:8px;}
.home-cross{width:min(1180px,calc(100% - 36px));margin:26px auto 0;padding:36px 0 5px;border-top:2px solid var(--app-ink);}
.cross-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px;}
.cross-grid a{display:grid;gap:4px;padding:13px;border:1px solid color-mix(in srgb,var(--app-ink) 26%,transparent);border-radius:6px;text-decoration:none;}
.cross-grid a:hover{border-color:var(--app-accent);background:var(--app-accent-soft);}
.cross-grid strong{font-size:13px;letter-spacing:.07em;}
.cross-grid span{color:var(--app-muted);font-size:10px;line-height:1.5;}
.hub-hero{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:clamp(48px,7vw,88px) 0 50px;border-bottom:1.5px solid var(--app-line);}
.hub-hero h1{max-width:820px;margin:16px 0 20px;font:700 clamp(44px,7vw,82px)/.98 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.055em;}
.hub-hero>p:last-child{max-width:760px;margin:0;color:var(--app-muted);font-size:16px;line-height:1.8;}
.hub-body{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:38px 0 0;}
.hub-features{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:32px;align-items:start;padding:22px 0 34px;border-bottom:1px solid color-mix(in srgb,var(--app-ink) 18%,transparent);}
.hub-features ul{display:flex;flex-wrap:wrap;gap:8px 17px;margin:0;padding:0;list-style:none;color:var(--app-muted);font-size:12px;}
.hub-features li::before{content:"+";margin-right:6px;color:var(--app-accent);font-weight:800;}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:24px;}
.hub-card{min-height:280px;}
.not-found{width:min(880px,calc(100% - 36px));margin:0 auto;padding:clamp(80px,15vw,170px) 0 90px;}
.not-found h1{margin:20px 0 28px;font:700 clamp(55px,10vw,110px)/.92 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:-.065em;}
.not-found h1 em{color:var(--app-accent);font-style:normal;}
.not-found p:not(.home-eyebrow){max-width:34rem;color:var(--app-muted);font-size:16px;line-height:1.8;}
.not-found-link{display:inline-block;margin-top:22px;padding:12px 18px;color:var(--app-paper);background:var(--app-ink);border:2px solid var(--app-ink);border-radius:6px;box-shadow:4px 4px 0 var(--app-accent);text-decoration:none;font-weight:700;}
@media (max-width:1000px){.app-header-inner{grid-template-columns:1fr;gap:5px;padding:12px 0 8px;}.app-nav{justify-content:flex-start;}.app-brand-copy small{max-width:52vw;}.home-hero{grid-template-columns:1fr;align-items:start;}.home-note{max-width:38rem;}.app-footer-inner{grid-template-columns:1fr;gap:28px;}.app-footer-sites{grid-template-columns:repeat(3,minmax(0,1fr));}.tool-card,.tool-card:nth-child(5n+1),.tool-card:nth-child(5n+2){grid-column:span 6;}}
@media (max-width:700px){.app-header-inner,.module-context-inner,.module-switcher-inner,.home-hero,.home-sections,.home-cross,.hub-hero,.hub-body,.app-footer-inner,.app-footer-base,.migration-note{width:calc(100% - 26px);}.app-header-inner{min-height:0;}.app-mark{width:38px;height:38px;font-size:18px;}.app-brand-copy strong{font-size:18px;}.app-brand-copy small{max-width:58vw;font-size:9px;}.app-nav{padding-bottom:3px;margin-inline:-2px;}.app-nav a{padding:6px 8px;font-size:12px;}.home-hero{padding-top:48px;gap:37px;padding-bottom:50px;}.home-hero h1{font-size:clamp(45px,15.3vw,70px);}.home-lede{font-size:14px;}.home-section{padding-top:44px;}.home-section-head h2{font-size:30px;}.tool-grid{grid-template-columns:1fr;}.tool-card,.tool-card:nth-child(5n+1),.tool-card:nth-child(5n+2){grid-column:auto;min-height:0;}.tool-card h3{margin-top:22px;}.hub-grid{grid-template-columns:1fr;}.hub-features{grid-template-columns:1fr;gap:13px;}.cross-grid{grid-template-columns:1fr 1fr;}.app-footer-sites{grid-template-columns:1fr 1fr;}.app-footer-base{flex-direction:column;gap:4px;}.migration-note{flex-direction:column;gap:3px;}.music-card{grid-template-columns:auto minmax(0,1fr);}.music-card-arrow{display:none;}}
@media (max-width:390px){.app-brand-copy small{max-width:48vw;}.app-nav a{font-size:11.5px;padding-inline:7px;}.home-hero h1{font-size:44px;}.cross-grid,.app-footer-sites{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}}
