:root{--paper: #f2ead6;--panel: #f8f2e2;--deep: #e8dec4;--ink: #2b2218;--soft: #5c5040;--ink-3: #8c7f6a;--faint: rgba(43, 34, 24, .28);--line: #cfc3a6;--blue: #2e4a62;--blue-d: #243a4e;--verm: #a63a22;--verm-d: #8f3019;--gold: #b8862d;--green: #6b6b3a;--en-d: "EB Garamond", Georgia, serif;--en-b: "EB Garamond", Georgia, serif;--zh: "Noto Serif SC", "Songti SC", "SimSun", serif;--shadow: 0 0 0 3px var(--paper), 0 0 0 4px var(--ink);--shadow-lg: 0 0 0 3px var(--paper), 0 0 0 4px var(--ink), 9px 11px 0 rgba(43, 34, 24, .13);--lift: 0 0 0 3px var(--paper), 0 0 0 4px var(--ink), 0 14px 22px -12px rgba(43, 34, 24, .45);--rose-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%232b2218' stroke-opacity='0.05' stroke-width='1.3'%3E%3Cpath d='M48 30c-6 6-6 12 0 18 6-6 6-12 0-18Z'/%3E%3Cpath d='M48 66c-6-6-6-12 0-18 6 6 6 12 0 18Z'/%3E%3Cpath d='M30 48c6-6 12-6 18 0-6 6-12 6-18 0Z'/%3E%3Cpath d='M66 48c-6-6-12-6-18 0 6 6 12 6 18 0Z'/%3E%3Ccircle cx='48' cy='48' r='3.5'/%3E%3Ccircle cx='0' cy='0' r='5'/%3E%3Ccircle cx='96' cy='0' r='5'/%3E%3Ccircle cx='0' cy='96' r='5'/%3E%3Ccircle cx='96' cy='96' r='5'/%3E%3C/g%3E%3C/svg%3E");--header-h: 72px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:#e3d5b1;background-image:var(--rose-pattern);color:var(--ink);font-family:var(--zh);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}body.nav-locked{overflow:hidden}::selection{background:var(--blue);color:var(--panel)}a{color:inherit;text-decoration:none}img{display:block}button{font-family:var(--zh);cursor:pointer}.wrap{max-width:1200px;margin:0 auto;padding:0 30px}.tome{max-width:1300px;margin:0 auto calc(34px + env(safe-area-inset-bottom,0px));background:var(--paper);border:2px solid var(--ink);box-shadow:0 0 0 1px var(--paper),0 0 0 2px var(--ink),0 28px 60px -26px #281f148c;position:relative}.topbar{background:var(--blue-d);color:#f2ead6d9;font-size:12.5px;letter-spacing:1px;position:relative;z-index:110;padding-top:env(safe-area-inset-top,0px)}.topbar .wrap{display:flex;justify-content:space-between;height:36px;align-items:center;overflow:visible}.topbar .links a{margin-left:24px;transition:color .2s}.topbar .links a:hover{color:#e3c886}.topbar .moon{font-size:14px;margin-right:4px}.lang-switch{position:relative;display:inline-block;margin-left:24px}.lang-btn{background:transparent;border:none;color:inherit;font-size:inherit;letter-spacing:inherit;cursor:pointer;padding:0;transition:color .2s}.lang-btn:hover{color:#e3c886}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:120px;background:var(--blue-d);border:1px solid rgba(242,234,214,.35);box-shadow:0 8px 20px -8px #00000073;z-index:140}.lang-menu a{display:block;margin:0!important;padding:9px 14px;font-size:12.5px;letter-spacing:1px;white-space:nowrap}.lang-menu a:hover{background:#f2ead614;color:#e3c886}.lang-menu a.on{color:#e3c886;font-weight:600}html[lang^=en] body{letter-spacing:.01em}html[lang^=en] .sec-head h2,html[lang^=en] .hero h1,html[lang^=en] .masthead .links a{letter-spacing:.04em}html[lang^=en] .btn{letter-spacing:.06em}.masthead{background:var(--paper);border-bottom:1px solid var(--ink);box-shadow:0 3px 0 -2px var(--ink);position:sticky;top:0;z-index:100;transition:box-shadow .25s}.masthead.stuck{box-shadow:0 3px 0 -2px var(--ink),0 12px 18px -12px #2b221866}.masthead .wrap{display:flex;align-items:center;gap:26px;height:72px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand .mark{width:40px;height:40px;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--ink)}.brand .mark svg,.brand .mark img{width:100%;height:100%;display:block}.brand .name{line-height:1.25}.brand .name.name-solo{display:flex;align-items:center}.brand .zh{font-size:18px;font-weight:900;letter-spacing:3px}.brand .ja-lead{font-size:17px;font-weight:900;letter-spacing:1px}.brand .en{font-family:var(--en-d);font-size:10.5px;letter-spacing:5px;color:var(--ink-3);text-transform:uppercase}.brand .en-lead{font-family:var(--en-d);font-style:italic;font-weight:700;font-size:24px;letter-spacing:1px;color:var(--ink)}.masthead .links{display:flex;flex:1}.masthead .links a{padding:6px 14px;font-size:15px;font-weight:600;letter-spacing:2px;color:var(--soft);transition:color .18s;position:relative;white-space:nowrap}.masthead .links a:after{content:"";position:absolute;left:12px;right:12px;bottom:0;border-bottom:2px solid transparent;transition:border-color .18s}.masthead .links a:hover{color:var(--verm)}.masthead .links a.active{color:var(--verm);font-weight:700}.masthead .links a.active:after{border-color:var(--verm)}.masthead .links a .sup{position:absolute;top:-8px;right:2px;font-size:10px;font-family:var(--en-d);font-style:italic;color:var(--verm)}.search{flex:0 0 240px;display:flex;border:1px solid var(--ink);background:var(--panel);position:relative}.search .results{position:absolute;top:calc(100% + 7px);right:-1px;width:400px;max-width:84vw;background:var(--panel);border:1px solid var(--ink);box-shadow:var(--shadow-lg);z-index:130;max-height:390px;overflow-y:auto}.search .results a{display:flex;align-items:baseline;gap:10px;padding:10px 15px;border-bottom:1px solid var(--line);font-size:14px;transition:background .15s}.search .results a:last-child{border-bottom:none}.search .results a:hover{background:var(--deep)}.search .results b{font-weight:700;flex-shrink:0}.search .results .e{font-family:var(--en-d);font-style:italic;font-size:12.5px;color:var(--ink-3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search .results .g{font-size:11px;letter-spacing:1px;color:var(--paper);background:var(--blue);padding:1px 8px;flex-shrink:0}.search .results .empty{padding:14px 15px;font-size:13px;color:var(--ink-3)}.search input{flex:1;min-width:0;border:none;background:transparent;padding:8px 12px;font-family:var(--zh);font-size:13.5px;color:var(--ink);outline:none}.search input::placeholder{color:#a4977a}.search button{border:none;border-left:1px solid var(--ink);background:var(--verm);color:var(--paper);box-shadow:inset 0 0 0 1px #f2ead673;padding:0 16px;font-size:13px;letter-spacing:2px;font-weight:600;transition:background .2s}.search button:hover{background:var(--verm-d)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid var(--ink);background:var(--panel);flex-shrink:0;margin-left:auto}.nav-toggle-bar{display:block;width:18px;height:2px;margin:0 auto;background:var(--ink);transition:transform .2s,opacity .2s}.masthead.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.masthead.nav-open .nav-toggle-bar:nth-child(2){opacity:0}.masthead.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.section{padding:64px 0 70px}.section.alt{background:var(--deep);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.sec-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:3px double var(--ink);padding-bottom:14px;margin-bottom:38px}.sec-head .l{display:flex;align-items:baseline;gap:18px}.sec-head .no{font-family:var(--en-d);font-style:italic;font-size:16px;color:var(--gold);letter-spacing:1px}.sec-head h2{font-size:27px;font-weight:900;letter-spacing:4px}.sec-head .en{font-family:var(--en-d);font-style:italic;font-size:14px;color:var(--soft);letter-spacing:1px}.sec-head .more{font-size:13.5px;letter-spacing:2px;color:var(--blue);font-weight:600}.sec-head .more:hover{color:var(--verm)}.btn{display:inline-block;padding:13px 34px;border:1px solid var(--ink);font-size:15px;font-weight:600;letter-spacing:4px;background:transparent;color:var(--ink);transition:all .15s;margin-right:14px;min-height:44px;line-height:1.25}.btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}.btn.primary{background:var(--verm);color:var(--paper);border-color:#7e2b18;box-shadow:inset 0 0 0 1px #f2ead666,3px 3px #2b221838}.btn.primary:hover{background:var(--verm-d);box-shadow:inset 0 0 0 1px #f2ead666,2px 2px #2b221838}.btn.secondary{background:var(--panel);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px #f2ead6d9,3px 3px #2b221838}.btn.secondary:hover{background:var(--deep);box-shadow:inset 0 0 0 1px #f2ead6d9,2px 2px #2b221838}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.tool{border:1px solid var(--ink);background:var(--panel);box-shadow:var(--shadow);margin:4px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.tool:hover{transform:translateY(-5px);box-shadow:var(--lift)}.tool .diagram{height:110px;border-bottom:1px solid var(--ink);position:relative}.tool:nth-child(4n+1) .diagram{background:var(--blue)}.tool:nth-child(4n+2) .diagram{background:var(--verm)}.tool:nth-child(4n+3) .diagram{background:var(--green)}.tool:nth-child(4n+4) .diagram{background:var(--gold)}.tool .diagram i{position:absolute;width:17px;height:27px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 3px 5px -1px #00000059}.tool .body{padding:20px 22px 16px;flex:1}.tool .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.tool h3{font-size:18.5px;font-weight:700;letter-spacing:2px}.tool .en-name{font-family:var(--en-b);font-style:italic;font-size:12.5px;color:var(--soft)}.tool .badge{font-size:11px;border:1px solid var(--ink);padding:1px 8px;letter-spacing:1px;background:var(--gold);color:var(--paper);white-space:nowrap;font-weight:600}.tool p{font-size:13px;color:var(--soft);line-height:1.9;margin-bottom:12px}.tool dl{font-size:12.5px}.tool dl .row{display:flex;align-items:baseline;gap:6px;margin-bottom:3px}.tool dt{color:var(--soft);letter-spacing:1px;white-space:nowrap}.tool .dots{flex:1;border-bottom:2px dotted var(--faint);transform:translateY(-3px)}.tool dd{font-family:var(--en-d);font-weight:700;white-space:nowrap}.tool dd.r{color:var(--verm)}.tool .go{display:block;text-align:center;border-top:1px solid var(--ink);padding:12px;font-weight:700;letter-spacing:5px;font-size:14px;background:var(--paper);transition:all .18s}.tool .go:hover{background:var(--verm);color:var(--paper);letter-spacing:7px}.subscribe{border-top:1px solid var(--ink);background:var(--blue);color:var(--paper)}.subscribe .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:36px;padding-bottom:36px}.subscribe h3{font-size:22px;letter-spacing:4px;font-weight:900}.subscribe p{font-size:13.5px;color:#f2ead6bf;margin-top:4px}.subscribe .sub-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.subscribe .rss-btn{display:inline-block;background:var(--verm);color:var(--paper);border:1px solid var(--blue-d);box-shadow:inset 0 0 0 1px #f2ead666;padding:12px 28px;font-weight:700;font-size:14px;letter-spacing:3px;transition:background .2s;min-height:44px;line-height:1.25}.subscribe .rss-btn:hover{background:var(--verm-d)}.subscribe .rss-alt{font-size:13px;letter-spacing:1px;color:#f2ead6bf;border-bottom:1px solid rgba(242,234,214,.35);padding-bottom:2px;transition:color .2s}.subscribe .rss-alt:hover{color:var(--paper)}footer{background:var(--ink);color:#cabfa5}.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding:52px 0 42px}.foot-brand .zh{font-size:23px;font-weight:900;letter-spacing:5px;color:var(--paper);margin-bottom:16px}.foot-brand .ja-lead{font-size:22px;font-weight:900;letter-spacing:2px;color:var(--paper);margin-bottom:16px}.foot-brand .en{font-family:var(--en-d);font-size:11px;letter-spacing:4px;color:#8d8169;text-transform:uppercase;margin-bottom:16px}.foot-brand .en-lead{font-family:var(--en-d);font-style:italic;font-weight:700;font-size:27px;letter-spacing:1px;color:var(--paper);margin-bottom:16px}.foot-brand p{font-size:13px;max-width:280px;line-height:2}.foot-cols h4{font-size:14.5px;font-weight:700;letter-spacing:3px;margin-bottom:16px;color:#d9b06a}.foot-cols ul{list-style:none}.foot-cols li{margin-bottom:9px}.foot-cols li a{font-size:13.5px;transition:color .2s}.foot-cols li a:hover{color:var(--paper)}.foot-base{border-top:1px solid rgba(202,191,165,.25);padding:18px 0;display:flex;justify-content:space-between;font-size:12.5px;letter-spacing:1px;color:#8d8169}.foot-base .en{font-family:var(--en-b);font-style:italic}.to-top{position:fixed;right:26px;bottom:26px;z-index:300;width:46px;height:46px;border:1px solid var(--ink);background:var(--panel);font-size:19px;box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--ink);opacity:0;pointer-events:none;transition:all .25s}.to-top.show{opacity:1;pointer-events:auto}.to-top:hover{background:var(--verm);color:var(--paper)}.divider{display:flex;align-items:center;gap:18px;max-width:520px;margin:0 auto;color:var(--green)}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid var(--ink-3);box-shadow:0 3px 0 -1px var(--ink-3)}.divider svg{flex:none}.divider .fleuron{font-size:18px;color:var(--gold);letter-spacing:10px;text-indent:10px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}@media(max-width:1180px)and (min-width:1025px){.masthead .wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;row-gap:8px}.masthead .links{order:3;flex-basis:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.masthead .links::-webkit-scrollbar{display:none}.masthead .links.fade{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}.search{flex:1;margin-left:auto;max-width:280px}}@media(max-width:1024px){.nav-toggle{display:flex}.masthead .wrap{flex-wrap:wrap;height:auto;gap:10px;padding-top:10px;padding-bottom:10px;row-gap:8px}.masthead .links{display:none;flex-basis:100%;order:4;flex-direction:column;overflow:visible;-webkit-mask-image:none;mask-image:none;border-top:1px solid var(--line);padding-top:6px;gap:0}.masthead .links.fade{-webkit-mask-image:none;mask-image:none}.masthead.nav-open .links{display:flex}.masthead .links a{white-space:normal;padding:11px 12px;border-bottom:1px solid var(--faint)}.masthead .links a:after{display:none}.masthead .links a .sup{position:static;display:inline;margin-left:6px;font-size:11px}.search{order:3;flex:1 1 100%;max-width:none;margin-left:0}.search .results{width:100%;right:0;left:0;max-width:none}.search input{font-size:16px}.search button{min-height:44px;padding:0 18px}}@media(max-width:1040px){.tome{margin-bottom:0}.tools{grid-template-columns:1fr 1fr}.subscribe .wrap{flex-direction:column;align-items:stretch}.foot-cols{grid-template-columns:1fr 1fr}}@media(hover:none){.tool:hover,.learn:hover,.mn-featured:hover,.mn-card:hover,.feature-art:hover{transform:none;box-shadow:var(--shadow)}.feature-art:hover .pic img{filter:sepia(.25) saturate(.85)}.feature-art:hover h3{color:inherit}.tab-cards a:hover .frame,.lib-grid a:hover .frame{transform:none;box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--ink)}.tab-cards a:active .frame,.lib-grid a:active .frame{transform:scale(.97)}.tool:active,.learn:active,.mn-card:active{transform:scale(.99)}.hero-deck .hc:active{transform:translateY(-4px) scale(1.01);z-index:9}.btn:active{transform:scale(.98)}.qk-table tbody tr:hover{background:transparent}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.phase.on{animation:none}.rd-fan .pc.picked .pcb{animation:none;transform:translateY(32px)}.rd-pick-grid.shuffling{filter:none;transition:none}.fly-clone{transition:none!important}.hero-deck .hc{transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--m-pad: 16px;--m-gap: 14px;--m-tabbar-h: 56px;--m-tap: 46px}.m-tabbar{display:none}@media(max-width:768px){.mb .m-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:360;background:var(--blue-d);border-top:1px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -8px 22px -12px #0009}.mb .m-tabbar:after{content:"";position:absolute;left:0;right:0;top:100%;height:48px;background:var(--blue-d);pointer-events:none}.mb .m-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--m-tabbar-h);padding:6px 2px;color:#f2ead6ad;font-size:10.5px;letter-spacing:1px;line-height:1;position:relative;transition:color .15s}.mb .m-tabbar a+a{border-left:1px solid rgba(242,234,214,.12)}.mb .m-tabbar a .ic{width:23px;height:23px;display:block}.mb .m-tabbar a .ic svg{width:100%;height:100%;stroke:currentColor;fill:none}.mb .m-tabbar a.on{color:#e3c886}.mb .m-tabbar a.on:before{content:"";position:absolute;top:0;left:22%;right:22%;height:2px;background:#e3c886}.mb .m-tabbar a:active{color:var(--paper)}body.mb{padding-bottom:calc(var(--m-tabbar-h) + env(safe-area-inset-bottom,0px))}.mb .tome{margin-bottom:0}.mb .to-top{right:14px;bottom:calc(var(--m-tabbar-h) + 16px + env(safe-area-inset-bottom,0px));width:42px;height:42px}.mb .wrap{padding:0 var(--m-pad)}.mb .section{padding:40px 0 44px}.mb .sec-head{flex-wrap:wrap;gap:8px 12px;align-items:flex-start}.mb .sec-head .l{flex-wrap:wrap;gap:6px 12px}.mb .sec-head h2{font-size:22px;letter-spacing:2px}.mb .sec-head .more{width:100%}.mb .btn{padding:12px 22px;font-size:14px;letter-spacing:2px;margin-right:8px;margin-bottom:8px}.mb .topbar{font-size:11px}.mb .topbar .wrap{height:auto;min-height:34px;padding:6px 0;flex-wrap:wrap;gap:4px}.mb #moonLabel{display:none}.mb .lang-switch{margin-left:12px}.mb .brand .mark{width:34px;height:34px}.mb .brand .zh{font-size:16px;letter-spacing:2px}.mb .brand .ja-lead{font-size:15px;letter-spacing:1px}.mb .brand .en{font-size:9px;letter-spacing:2px}.mb .brand .en-lead{font-size:20px}.mb .subscribe .wrap{padding-top:26px;padding-bottom:26px}.mb .subscribe h3{font-size:18px;letter-spacing:2px}.mb .subscribe .sub-actions{flex-direction:column;align-items:stretch;gap:12px}.mb .subscribe .rss-btn{text-align:center}.mb .foot-cols{grid-template-columns:1fr 1fr;gap:24px 28px;padding:36px 0 28px}.mb .foot-brand{grid-column:1 / -1}.mb .foot-base{flex-direction:column;gap:8px;text-align:center}.mb .hero .wrap{padding:34px var(--m-pad) 40px;gap:22px}.mb .hero-copy{padding:4px 0 8px}.mb .hero h1{margin-bottom:26px;letter-spacing:1.5px;font-size:clamp(26px,7vw,34px)}.mb .hero h1 em{white-space:normal}.mb .hero-actions{gap:10px}.mb .hero-actions .btn{padding:12px 20px;font-size:14px;letter-spacing:2px;width:100%;text-align:center;margin:0}.mb .hero-deck{height:auto;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,3vw,16px);align-items:end;max-width:340px;margin-inline:auto;padding:8px 4px 20px;overflow:visible}.mb .hero-deck .hc{position:relative;left:auto;top:auto;width:100%;max-width:104px;margin:0 auto;padding:4px 4px 18px;box-shadow:0 0 0 3px var(--panel),0 0 0 4px var(--ink),4px 5px #2b22181f}.mb .hero-deck .hc:after{font-size:9px;letter-spacing:0;line-height:1.2;padding:0 2px}.mb .hero-deck .hc1{transform:rotate(-4deg);z-index:1}.mb .hero-deck .hc2{transform:rotate(0) translateY(-8px);z-index:3}.mb .hero-deck .hc3{transform:rotate(4deg);z-index:2}.mb .tools{grid-template-columns:1fr;gap:18px}.mb .duo{grid-template-columns:1fr;gap:36px}.mb .sec-head.grand h2{font-size:24px;letter-spacing:3px}.mb .sec-head.grand .en{font-size:13px}.mb .feature-art{grid-template-columns:1fr;gap:16px;padding:16px}.mb .feature-art .pic{max-height:200px}.mb .feature-art h3{font-size:19px}.mb .tab-cards{grid-template-columns:repeat(2,1fr);gap:16px 12px}.mb .tab-cards .cap{font-size:11.5px}.mb .feed .item{flex-wrap:wrap;gap:6px 10px}.mb .feed .leader{display:none}.mb .feed .when{white-space:normal;font-size:11px;width:100%;padding-left:36px}.mb .daily-res{grid-template-columns:96px 1fr;gap:14px}.mb .quote-band{padding:40px var(--m-pad) 36px}.mb .quote-band .q-mark{font-size:64px;margin-bottom:18px}.mb .learns{grid-template-columns:1fr}.mb .modal-mask{padding:max(10px,env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));align-items:flex-end}.mb .modal{grid-template-columns:1fr;width:100%;max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.mb .modal .m-img{border-right:none;border-bottom:1px solid var(--ink);padding:16px 28px}.mb .modal .m-img img{max-width:150px;margin:0 auto}.mb .modal .m-body{padding:20px 18px 22px}.mb .modal .m-close{width:var(--m-tap);height:var(--m-tap);top:8px;right:8px;font-size:20px}.mb .modal h3{font-size:22px;letter-spacing:3px}.mb .modal .m-en{font-size:14px;margin-bottom:12px}.mb .rd-grid{display:flex;flex-direction:column;align-items:stretch}.mb .rd-stage{order:-1;min-height:clamp(440px,60vh,520px)}.mb .rd-info{position:static}.mb .rd-info>summary{display:flex;justify-content:space-between;align-items:baseline;padding:13px 16px;border-bottom:1px solid var(--ink);background:var(--verm);color:var(--paper);box-shadow:inset 0 0 0 1px #f2ead659;cursor:pointer;font-weight:700;letter-spacing:2px;font-size:15px;min-height:var(--m-tap)}.mb .rd-info>summary .en{font-family:var(--en-b);font-style:italic;font-size:12px;font-weight:400}.mb .rd-info .hd{display:none}.mb .phase{padding:22px 14px}.mb .stage-cue{letter-spacing:2px;font-size:13px;padding-top:18px}.mb .stage-cue .fl{margin:0 8px}.mb .ph-intro h3{font-size:20px;letter-spacing:2px}.mb .ph-intro p{font-size:13.5px}.mb .ph-pick{padding:14px 10px 24px}.mb .pick-count{font-size:13px;letter-spacing:2px}.mb .pick-toolbar{flex-direction:column;align-items:stretch;gap:10px;max-width:none}.mb .pick-toolbar .pick-act{width:100%;text-align:center;border:1px solid var(--ink);padding:12px 16px;font-size:14px;letter-spacing:2px;font-weight:600;min-height:var(--m-tap)}.mb .pick-toolbar .pick-reshuffle{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px #f2ead6d9,2px 2px #2b221838}.mb .pick-toolbar.many-cards .pick-draw-all{order:-1;background:var(--verm);color:var(--paper);border-color:#7e2b18;box-shadow:inset 0 0 0 1px #f2ead666,3px 3px #2b221838;font-weight:700}.mb .rd-pick-grid{max-width:none;gap:10px 8px;grid-template-columns:repeat(5,minmax(0,1fr))}.mb .ph-table{padding:18px 8px}.mb .rd-item{grid-template-columns:54px 1fr;gap:12px}.mb .rd-actions{flex-direction:column;align-items:stretch}.mb .rd-actions .btn{width:100%;text-align:center;margin:0}.mb .board-wrap{max-width:none;width:100%;align-self:stretch}.mb .board-wrap.is-dense{width:100%;margin:0;padding:0;overflow:visible}.mb .board-wrap.is-dense .board{width:100%;min-width:0;margin-inline:auto}.mb .board-wrap.is-dense .slot .ph-mark span{display:none}.mb .board-wrap.is-dense .slot .ph-mark b{font-size:12px}.mb .mn-featured{grid-template-columns:1fr}.mb .mn-featured .pic{border-right:none;border-bottom:1px solid var(--ink)}.mb .mn-featured .pic img{max-width:130px}.mb .mn-featured h3{font-size:21px}.mb .mn-grid{grid-template-columns:1fr}.mb .mn-mode{width:100%}.mb .mn-mode-tab{flex:1;text-align:center;padding:12px;font-size:13px;letter-spacing:1px;min-height:var(--m-tap)}.mb .mn-sec-head{flex-wrap:wrap;gap:10px}.mb .mn-cats{gap:6px}.mb .sym-grid{grid-template-columns:1fr;gap:14px}.mb .sym-card{padding:16px 16px 14px}.mb .sym-head h3{font-size:18px}.mb .sym-cat{margin-left:0}.mb .qk-bar{gap:12px}.mb .qk-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none}.mb .qk-tabs::-webkit-scrollbar{display:none}.mb .qk-tabs button{white-space:nowrap}.mb .qk-search{min-width:0;max-width:none;flex:1 1 100%}.mb .qk-search input{font-size:16px;min-height:var(--m-tap);padding-top:11px;padding-bottom:11px}.mb .qk-table{min-width:0;border:none;background:transparent;box-shadow:none;margin:0}.mb .qk-table table{display:block}.mb .qk-table thead{display:none}.mb .qk-table tbody{display:flex;flex-direction:column;gap:12px}.mb .qk-table tr{display:block;border:1px solid var(--ink);background:var(--panel);box-shadow:var(--shadow);margin:4px;padding:14px 16px 12px}.mb .qk-table tr.hide{display:none}.mb .qk-table td{display:block;border:none;padding:0;font-size:13px;line-height:1.75}.mb .qk-table .t-name{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--faint)}.mb .qk-table .t-name img{width:44px}.mb .qk-table .t-up,.mb .qk-table .t-rev{padding-top:8px}.mb .qk-table .t-up:before,.mb .qk-table .t-rev:before{display:none}.mb .qk-lbl{display:block;font-size:10.5px;letter-spacing:2px;font-weight:700;margin-bottom:4px}.mb .qk-table .t-up .qk-lbl{color:var(--green)}.mb .qk-table .t-rev .qk-lbl{color:var(--verm)}.mb .art-layout article{padding:26px 20px 24px}.mb .art-head h1{font-size:24px}.mb .art-body{font-size:14.5px}.mb .art-foot{flex-direction:column}.mb .art-foot a{max-width:none}.mb .side-cards{grid-template-columns:repeat(4,1fr)}.mb .lib-grid{grid-template-columns:repeat(2,1fr);gap:18px 14px}.mb .lib-bar{gap:12px;margin-bottom:22px}.mb .lib-search{min-width:0;max-width:none;flex:1 1 100%}.mb .lib-search input{font-size:16px;min-height:var(--m-tap)}.mb .lib-tabs{overflow-x:auto}.mb .lib-tabs button{padding:11px 14px;font-size:13px;letter-spacing:1px;white-space:nowrap}.mb .cd-hero{grid-template-columns:1fr}.mb .cd-img{border-right:none;border-bottom:1px solid var(--ink);padding:22px 40px}.mb .cd-body{padding:22px 18px 20px}.mb .cd-body h1{font-size:28px;letter-spacing:4px}.mb .cd-en{font-size:16px}.mb .cd-nav{flex-direction:column}.mb .cd-nav a.next{border-left:none;border-top:1px solid var(--faint);justify-content:flex-start;text-align:left}.mb .cd-rel{grid-template-columns:repeat(3,1fr);gap:14px}.mb .lp-intro{padding:30px 22px 26px}.mb .lp-intro h1{font-size:24px}.mb .lp-item{grid-template-columns:52px 1fr;padding-right:18px}.mb .lp-item .min{grid-column:2}.mb .lp-item .ord{font-size:20px}.mb .lp-next{flex-direction:column;align-items:stretch}.mb .lp-next .acts .btn{margin:0}.mb .ch-toc-fab{bottom:calc(var(--m-tabbar-h) + 18px + env(safe-area-inset-bottom,0px))}.mb .ch-toc-backdrop{z-index:370}.mb .ch-toc-panel{z-index:380}.mb .doc-wrap{padding:32px var(--m-pad) 48px}.mb .doc{padding:30px 20px 28px}.mb .doc h1{font-size:24px}}@media(max-width:430px){.mb .phase{padding:16px 10px}.mb .rd-pick-grid{gap:8px 6px}.mb .ph-pick{padding:12px 6px 20px}.mb .rd-item{grid-template-columns:50px 1fr;gap:10px}.mb .tab-cards{gap:12px 10px}.mb .lib-grid{gap:16px 12px}.mb .cd-rel{grid-template-columns:repeat(2,1fr)}.mb .side-cards{grid-template-columns:repeat(3,1fr)}}@media(hover:none){.mb .m-tabbar a:active{background:#f2ead60f}}
