/* Code-drawn mountains and layered paper; no raster images. */
:root {
  --background:#eee9de; --surface:#faf7ed; --input:#f3efe4; --surface-hover:#e9eee3;
  --text:#294a40; --heading:#203f37; --secondary:#667366; --tertiary:#6e796a;
  --primary:#3f7060; --primary-hover:#2d5548; --outline:#d4d6c5; --dialog:#faf7ed;
  --m-bg:var(--background); --m-panel:var(--surface); --m-border:var(--outline); --m-text:var(--text); --m-muted:var(--secondary); --m-faint:var(--tertiary); --m-active:#e3e9db; --m-primary:var(--primary); --m-hover:#e9eee3;
  --ss-soft:#e8ecdf; --ss-seal:#a65f4d; --ss-paper-wash:#f4f1e6; --ss-serif:"Noto Serif SC","Songti SC",SimSun,serif;
  --ss-mountains:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201400%20560%22%20fill%3D%22none%22%3E%0A%3Cdefs%3E%0A%3ClinearGradient%20id%3D%22ink%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23757b96%22%20stop-opacity%3D%22.32%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%239799aa%22%20stop-opacity%3D%22.13%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23abaebb%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%0A%3ClinearGradient%20id%3D%22near%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%2373798e%22%20stop-opacity%3D%22.26%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23a0a5b6%22%20stop-opacity%3D%22.025%22%2F%3E%3C%2FlinearGradient%3E%0A%3ClinearGradient%20id%3D%22mist%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23f4f0e8%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.6%22%20stop-color%3D%22%23f4f0e8%22%20stop-opacity%3D%22.72%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23f4f0e8%22%20stop-opacity%3D%22.12%22%2F%3E%3C%2FlinearGradient%3E%0A%3Cfilter%20id%3D%22brush%22%20x%3D%22-10%25%22%20y%3D%22-20%25%22%20width%3D%22120%25%22%20height%3D%22140%25%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.014%20.035%22%20numOctaves%3D%223%22%20seed%3D%2218%22%20result%3D%22grain%22%2F%3E%3CfeDisplacementMap%20in%3D%22SourceGraphic%22%20in2%3D%22grain%22%20scale%3D%2213%22%20xChannelSelector%3D%22R%22%20yChannelSelector%3D%22G%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%22.9%22%2F%3E%3C%2Ffilter%3E%0A%3Cfilter%20id%3D%22soft%22%3E%3CfeGaussianBlur%20stdDeviation%3D%227%22%2F%3E%3C%2Ffilter%3E%0A%3C%2Fdefs%3E%0A%3Cg%20filter%3D%22url%28%23soft%29%22%20opacity%3D%22.46%22%3E%3Cpath%20d%3D%22M0%20360Q63%20307%20112%20320C169%20325%20156%20255%20209%20259S283%20309%20330%20284C390%20258%20371%20183%20434%20183S510%20284%20553%20271C605%20254%20587%20197%20640%20196S712%20303%20761%20309Q853%20256%20908%20280T1070%20247Q1170%20214%201240%20283T1400%20291V525H0Z%22%20fill%3D%22%23b2b5c3%22%2F%3E%3C%2Fg%3E%0A%3Cg%20filter%3D%22url%28%23brush%29%22%3E%0A%3Cpath%20d%3D%22M-40%20428C27%20400%2052%20411%2095%20368C124%20340%20123%20313%20151%20317C178%20320%20176%20250%20211%20250C236%20250%20237%20312%20265%20315C295%20317%20286%20258%20317%20255C346%20252%20346%20184%20375%20183C403%20181%20390%20241%20420%20242C448%20243%20450%20311%20481%20308C519%20305%20507%20272%20541%20275C577%20278%20563%20346%20610%20350C664%20355%20654%20309%20693%20315C737%20321%20714%20382%20781%20375C834%20371%20827%20339%20867%20346C914%20354%20924%20299%20959%20302C997%20306%201008%20373%201050%20363C1113%20348%201095%20317%201143%20321C1181%20325%201199%20395%201240%20381C1300%20360%201332%20340%201440%20397V560H-40Z%22%20fill%3D%22url%28%23ink%29%22%2F%3E%0A%3Cpath%20d%3D%22M-50%20463C29%20408%2058%20435%20100%20411C143%20386%20115%20348%20157%20345C193%20342%20185%20406%20230%20402C270%20398%20278%20425%20320%20420C370%20414%20339%20373%20392%20376C433%20378%20439%20454%20492%20449C545%20444%20555%20399%20606%20408C663%20418%20663%20451%20715%20438C765%20426%20735%20382%20793%20380C839%20378%20830%20293%20868%20295C901%20298%20892%20356%20930%20356C968%20358%20958%20416%201004%20408C1041%20401%201047%20363%201091%20372C1136%20382%201124%20426%201177%20429C1236%20432%201271%20389%201320%20401L1450%20439V560H-50Z%22%20fill%3D%22url%28%23near%29%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20d%3D%22M0%20412Q350%20395%20720%20431T1400%20412V560H0Z%22%20fill%3D%22url%28%23mist%29%22%2F%3E%0A%3Cpath%20d%3D%22M0%20493Q179%20480%20345%20491T689%20491T1050%20490T1400%20500M0%20511Q175%20502%20345%20513T689%20511T1050%20511T1400%20520%22%20stroke%3D%22%239298ad%22%20stroke-opacity%3D%22.08%22%20stroke-width%3D%221.2%22%2F%3E%0A%3Cg%20stroke%3D%22%2374778d%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.17%22%3E%3Cpath%20d%3D%22M91%20423q7-32%2012-59m-2%2010-19%207m17%202%2025%204m-27%205-24%2010m25-2%2023%208M1197%20446q5-24%204-49m0%207-15%209m15%201%2018%206m-17%201-17%209%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22m83%20381%2012-4%209%201%2018%209m-47%2014%2021-5%2011%202%2012%209m-12%2014%2012-10%208%202%2010%207m-40-12%2013-5%22%20stroke-width%3D%224%22%2F%3E%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  --ss-card-wash:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20220%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22s%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2221%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20filter%3D%22url%28%23s%29%22%3E%3Cpath%20d%3D%22M280%20240Q352%20128%20405%20150T510%20110T650%20170V260Z%22%20fill%3D%22%238d90a6%22%20opacity%3D%22.09%22%2F%3E%3Cellipse%20cx%3D%22430%22%20cy%3D%22205%22%20rx%3D%22150%22%20ry%3D%2229%22%20fill%3D%22%23999aad%22%20opacity%3D%22.07%22%2F%3E%3Cellipse%20cx%3D%22565%22%20cy%3D%2270%22%20rx%3D%2280%22%20ry%3D%2265%22%20fill%3D%22%23ad9278%22%20opacity%3D%22.04%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
:root[data-theme="dark"] {
  --background:#1c2b25; --surface:#25382e; --input:#21332a; --surface-hover:#30463a;
  --text:#e5e7da; --heading:#f1efdf; --secondary:#bdc6b3; --tertiary:#acb8a6;
  --primary:#abc9a9; --primary-hover:#c1d8b9; --outline:#4b5d4c; --dialog:#25382e;
  --m-bg:var(--background); --m-panel:var(--surface); --m-border:var(--outline); --m-text:var(--text); --m-muted:var(--secondary); --m-faint:var(--tertiary); --m-active:#3b5040; --m-primary:var(--primary); --m-hover:#30463a;
  --ss-soft:#354c3a; --ss-seal:#d3a08c; --ss-paper-wash:#293d31;
}
body { background:var(--background); }
.member-app.shanshui-shell { --ss-paper:var(--background); --ss-toolbar:var(--surface); }
.shanshui-shell .m-main,.ss-access-page {
  background-color:var(--background);
  background-image:radial-gradient(ellipse at 20% 8%,#fffdf422,transparent 58%),var(--ss-mountains);
  background-position:center,center bottom; background-size:100% 100%,max(1250px,100%) auto; background-repeat:no-repeat; background-attachment:fixed;
}
.ss-landscape { opacity:.65; }
.ss-access-page.ss-hide-landscape { background-image:radial-gradient(ellipse at 20% 8%,#fffdf422,transparent 58%); }
.member-app :is(.s-surface,.s-account-surface,.ss-plan,.m-panel),.ss-access .form-shell {
  border-radius:6px; background-color:var(--surface);
  background-image:linear-gradient(120deg,transparent,var(--ss-paper-wash)),var(--ss-card-wash);
  background-size:100% 100%,100% auto; background-position:center,right bottom; background-repeat:no-repeat;
  background-blend-mode:multiply; border-color:var(--outline); box-shadow:0 3px 18px #59634a08;
}
html[data-theme="dark"] .member-app :is(.s-surface,.s-account-surface,.ss-plan,.m-panel),html[data-theme="dark"] .ss-access .form-shell { background-blend-mode:normal; }
.member-app :is(.s-module-heading h2,.s-account-heading h2,.ss-region-heading h2,.ss-ledger-main h2,.ss-tutorial-entry h2),.ss-access .form-shell h2 {
  font-family:var(--ss-serif); font-weight:600; letter-spacing:.06em;
}
.member-app .s-service h2 { font-family:var(--ss-serif); font-weight:600; letter-spacing:.04em; }
.s-service-landscape { opacity:.5; }
.member-app .s-share { border-radius:6px; background-image:var(--ss-mountains); background-size:auto 110px; background-position:right bottom; background-repeat:no-repeat; }
.ss-traffic-overview { background-image:var(--ss-mountains); background-position:right bottom; background-size:auto 155px; background-repeat:no-repeat; }
.ss-traffic-overview::before,.ss-traffic-overview::after { right:0; }
.m-dialog { border-radius:6px; }
.member-app .m-button,.member-app .s-action,.member-app .s-account-action,.button,.field-wrapper input { border-radius:4px; }
.ss-access .auth-tabs a[aria-current] { color:var(--primary); }
.ss-access .form-kicker { display:none; }
.ss-access .form-shell { padding:28px 32px; border-radius:6px; }
.ss-access-page .brand-wordmark strong { font-family:var(--ss-serif); letter-spacing:.1em; }
.ss-access-page .auth-footer { color:var(--secondary); }

/* Short paper slips: no duplicated allowance block and collapsed detail. */
.m-plan-center-heading { margin-bottom:16px; }
.m-plan-filters { border-radius:4px; background:var(--surface); }
.m-plan-filters button { border-radius:3px; }
.member-app .ss-plan { padding:18px; gap:0; min-height:0; border-width:1px; box-shadow:0 3px 18px #59634a08; }
.member-app .ss-plan-selected { border-color:var(--primary); box-shadow:0 0 0 1px var(--primary); }
.ss-plan-name { display:flex; align-items:center; gap:8px; min-height:32px; min-width:0; }
.ss-plan-name h2 { font-family:var(--ss-serif); flex:1; min-width:0; font-size:19px; line-height:1.5; letter-spacing:.04em; margin:0; }
.ss-plan-index { color:var(--ss-seal); font-size:10px; flex:0 0 auto; }
.ss-plan-popular { display:inline-flex; align-items:center; justify-content:center; color:var(--ss-seal); font-family:var(--ss-serif); font-size:11px; line-height:1; margin:0; padding:5px 4px; border:1px solid currentColor; border-radius:2px; flex:0 0 auto; }
.ss-plan-allowance { display:none; }
.ss-plan .m-plan-price { margin:14px 0 7px; color:var(--heading); }
.ss-plan .m-plan-price strong { font-size:30px; line-height:1.2; font-weight:500; letter-spacing:-.03em; }
.ss-plan .m-plan-price>span { color:var(--secondary); }
.ss-plan-facts { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--secondary); font-size:11px; padding:8px 0 6px; }
.ss-plan-facts>span { display:flex; align-items:center; gap:5px; }
.ss-plan-facts .m-icon { width:15px; height:15px; color:var(--primary); }
.ss-plan .m-plan-details { display:block; margin:0 0 8px; border-bottom:1px solid var(--outline); }
.ss-plan .m-plan-details summary { display:flex; align-items:center; min-height:44px; font-size:11px; color:var(--primary); cursor:pointer; list-style:none; }
.ss-plan .m-plan-details summary::-webkit-details-marker { display:none; }
.ss-plan .m-plan-details:not([open])>.m-plan-card-features { display:none; }
.ss-plan .m-plan-details[open]>.m-plan-card-features { padding-bottom:12px; }
.ss-plan .m-plan-card-footer { display:grid; grid-template-columns:1fr 1fr; margin:0; gap:8px; align-items:end; }
.ss-plan .m-plan-cycle select { padding:7px; font-size:10px; height:44px; border-radius:4px; }
.ss-plan .m-plan-purchase { min-width:0; font-size:11px; min-height:44px; padding:8px; border-radius:4px; }
@media(max-width:767px) {
  .member-app .ss-plan { padding:10px 14px; column-gap:8px; }
  .ss-plan-name { min-height:0; gap:5px; }
  .ss-plan-name h2 { font-size:15px; line-height:20px; }
  .ss-plan-popular { display:none; }
  .ss-plan .m-plan-price { margin:0; }
  .ss-plan .m-plan-price strong { font-size:21px; line-height:25px; }
  .ss-plan-facts { gap:10px; padding:7px 0 2px; }
  .ss-plan .m-plan-details { margin:0 0 3px; border-bottom:0; }
  .ss-plan .m-plan-cycle select { font-size:12px; }
  .ss-plan .m-plan-purchase { font-size:12px; }
  .ss-access .form-shell { padding:24px; }
}
@media(max-width:767px) and (max-height:600px) {
  .m-plan-center-heading { margin-bottom:8px; }
  .member-app .ss-plan { padding-top:8px; padding-bottom:8px; }
}

/* Broad ink washes rather than repeated miniature drawings on each surface. */
.ss-landscape,.s-service-landscape { display:none; }
.shanshui-shell .m-sidebar {
  background-image:repeating-linear-gradient(0deg,transparent 0 4px,var(--ss-paper-fiber) 4px 5px),linear-gradient(135deg,var(--ss-paper-wash),transparent 65%);
  background-size:auto; background-position:center; background-repeat:repeat;
}
.ss-traffic-overview::before,.ss-traffic-overview::after { display:none; }
.ss-traffic-overview,.member-app .s-share { background-image:var(--ss-card-wash); background-size:100% auto; background-position:right bottom; }
.shanshui-shell { font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
.shanshui-shell .m-nav-link { font-family:var(--ss-serif); }
