.shell{display:flex;min-height:100vh}.rail{width:clamp(178px,15vw,216px);flex:0 0 auto;padding:clamp(20px,2.4vw,30px) clamp(14px,1.6vw,20px) 24px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:26px}.brand{display:flex;flex-direction:column;gap:2px}.brand .mark{font-size:clamp(16px,14px + .6vw,21px);line-height:1.3;font-weight:700}.brand .sub{font-size:14px;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:1px}.nav button{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r);color:var(--ink-soft);font-size:.95em;text-align:left;width:100%;transition:background .12s,color .12s}.nav button:hover{background:rgba(138,63,82,.07);color:var(--ink)}.nav button[aria-current="true"]{color:var(--ink);font-weight:700;background:rgba(138,63,82,.1)}.nav button[aria-current="true"] .ic{color:var(--rose)}.nav .ic{width:17px;height:17px;flex:0 0 17px;color:var(--muted)}.nav .count{margin-left:auto;font-size:.78em;color:var(--muted);font-variant-numeric:tabular-nums}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px}.railbtn{display:flex;align-items:center;gap:8px;font-size:.88em;color:var(--ink-soft);padding:6px 8px;border-radius:var(--r)}.railbtn:hover{background:rgba(38,33,41,.06);color:var(--ink)}
.main{flex:1;min-width:0;padding:clamp(18px,3vw,34px) clamp(14px,3.4vw,40px) 90px;max-width:1180px}.view{display:none}.view.on{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(14px,2vw,24px);flex-wrap:wrap}.page-head h2{font-size:clamp(19px,15px + 1.1vw,27px)}.page-head p{margin:4px 0 0;color:var(--muted);font-size:.88em}.mobile-head,.tabbar{display:none}
@media(max-width:760px){.rail{display:none}.main{padding:18px 14px 92px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--print);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;font-size:.7em;color:var(--muted)}.tabbar button[aria-current="true"]{color:var(--rose)}.mobile-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.mobile-head .mark{font-size:1.2em;font-weight:700;margin-right:auto}}
