/* Shared chrome; authoritative colors, font and radius tokens are in theme.css. */
.club-header{height:76px;max-width:1280px;margin:auto;padding:0 40px;display:flex;align-items:center;gap:28px;position:relative;z-index:30;border-bottom:1px solid var(--line);font-family:var(--font-sans)}
.club-brand{display:flex;gap:10px;align-items:center;flex-shrink:0;line-height:1.15;color:var(--text);text-decoration:none;min-height:44px}.brand-mark{width:30px;height:30px;object-fit:contain;filter:var(--logo-filter)}.club-brand b{display:block;font-size:19px;font-weight:750;letter-spacing:.2px}.club-brand small{display:block;color:var(--text-3);font-size:9px;letter-spacing:1.4px;margin-top:5px}.header-rule{flex:1}
.club-nav{display:flex;gap:25px;align-items:center;white-space:nowrap}.club-nav a{font-size:14px;font-weight:600;padding:13px 0;position:relative;text-decoration:none;color:var(--text-2);min-height:44px;display:flex;align-items:center}.club-nav a[aria-current=page]{color:var(--text)}.club-nav a[aria-current=page]:after{content:'';height:3px;position:absolute;left:0;right:0;bottom:4px;background:var(--accent-line);border-radius:2px}.club-nav a:hover{color:var(--accent-text)}
.mode-switch{display:flex;padding:3px;border:1px solid var(--line-strong);border-radius:30px;gap:3px;flex-shrink:0}.mode-switch button{font:inherit;font-size:12px;min-height:32px;min-width:52px;padding:3px 10px;border:0;border-radius:24px;background:none;color:var(--text-2);cursor:pointer;touch-action:manipulation}.mode-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.club-header a:focus-visible,.club-header button:focus-visible{outline:3px solid var(--accent-line);outline-offset:4px}
.club-footer{max-width:1280px;padding:25px 40px 36px;margin:auto;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:12px;color:var(--text-2)}.club-footer nav{display:flex;gap:25px}.club-footer a{display:flex;align-items:center;gap:6px;min-height:44px}.club-footer .arrow-icon{width:14px;height:14px}
@media(max-width:900px){.club-header{height:76px;flex-wrap:nowrap;padding:10px 24px;column-gap:12px;row-gap:0}.club-brand{margin-right:auto}.club-brand b{font-size:18px}.header-rule,.club-nav{display:none}.mode-switch button{min-height:36px;min-width:48px}.club-footer{padding:22px 24px;flex-direction:column;gap:8px}.club-footer nav{gap:20px;flex-wrap:wrap}}
@media(max-width:350px){.club-header{padding:10px 18px;column-gap:8px}.club-brand{gap:7px}.club-brand b{font-size:16px}.club-brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:25px;height:25px}.mode-switch button{min-width:44px;padding:3px 7px}.club-nav{gap:10px}}

/* Pull-cord night lamp: retains the original switch's header footprint. */
.pull-lamp{position:relative;width:115px;height:76px;flex:0 0 115px;isolation:isolate;--lamp-shade-a:#e4eee2;--lamp-shade-b:#bcd7b4;--lamp-shade-c:#87b381;--lamp-metal:#5c7558;--lamp-rim:#6b8c62;--lamp-rope:#c4b99d;--lamp-rope-light:#fff8df;--lamp-handle:#a7cf82;--lamp-handle-line:#547b48;--lamp-halo:.8}
.pull-lamp[data-mode=night]{--lamp-shade-a:#526b62;--lamp-shade-b:#344e47;--lamp-shade-c:#233d36;--lamp-metal:#9ab59a;--lamp-rim:#b5c596;--lamp-rope:#c6c1ab;--lamp-rope-light:#fff8e1;--lamp-handle:#b6d890;--lamp-handle-line:#547449;--lamp-halo:.18}
.pull-lamp-stage{position:absolute;left:50%;top:50%;width:114px;height:76px;transform:translate(-50%,-50%);pointer-events:none}
.pull-lamp-art{display:block;width:114px;height:76px;overflow:visible;pointer-events:none}
.pull-lamp-halo{opacity:var(--lamp-halo);transition:opacity .2s ease-out}
.pull-lamp-metal{fill:var(--lamp-metal)}
.pull-lamp-stem{fill:none;stroke:var(--lamp-metal);stroke-width:1.6;stroke-linecap:round}
.pull-lamp-shade{stroke:var(--lamp-metal);stroke-width:.8;stroke-linejoin:round}
.pull-lamp-reflection{fill:none;stroke:#fff;stroke-width:1.2;stroke-opacity:.4;stroke-linecap:round}
.pull-lamp-rim{fill:var(--lamp-rim)}
.pull-lamp-bulb{fill:#f5dc95;opacity:var(--lamp-halo);transition:opacity .18s ease-out}
.pull-cord-shadow{fill:none;stroke:#081b2026;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pull-cord-main{fill:none;stroke:var(--lamp-rope);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pull-cord-braid{fill:none;stroke:var(--lamp-rope-light);stroke-width:.75;stroke-dasharray:1.3 3;stroke-linecap:round}
.pull-lamp-state{position:absolute;left:26px;top:45px;min-width:28px;text-align:center;font-size:11px;font-weight:650;line-height:15px;color:var(--text-2);pointer-events:none}
.pull-lamp-hint{position:absolute;left:22px;top:61px;font-size:9px;line-height:11px;letter-spacing:.1px;color:var(--text-3);pointer-events:none}
.pull-lamp-grip{position:absolute;left:0;top:0;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:inherit;box-shadow:none;cursor:grab;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;will-change:transform;transform-origin:50% 50%}
.pull-lamp-grip svg{display:block;overflow:visible;filter:drop-shadow(0 2px 2px #0002);pointer-events:none;transition:filter .12s ease-out}
.pull-grip-body{fill:var(--lamp-handle);stroke:var(--lamp-handle-line);stroke-width:.75}
.pull-grip-ridges{fill:none;stroke:var(--lamp-handle-line);stroke-opacity:.55;stroke-width:.65;stroke-linecap:round}
.pull-lamp-grip:hover svg{filter:drop-shadow(0 0 5px #b8e87570) drop-shadow(0 2px 2px #0002)}
.pull-lamp[data-dragging=true] .pull-lamp-grip{cursor:grabbing}
.pull-lamp[data-latched=true] .pull-grip-body{fill:#e7f7a7}
.pull-lamp-grip:focus-visible{outline:2px solid var(--accent-line);outline-offset:0;background:var(--accent-soft)}
.pull-lamp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.pull-lamp{width:107px;flex-basis:107px;height:60px}}
@media(max-width:350px){.pull-lamp{width:99px;flex-basis:99px}}
@media(hover:none),(pointer:coarse){.pull-lamp-grip:hover svg{filter:drop-shadow(0 2px 2px #0002)}}
@media(prefers-reduced-motion:reduce){.pull-lamp-halo,.pull-lamp-bulb,.pull-lamp-grip svg{transition:none}}

/* The mobile header now contains only the brand and the lamp. */
@media(max-width:900px){.pull-lamp-stage{margin-top:0}}
.pull-lamp[data-dragging=true] .pull-lamp-grip:focus-visible{outline:none;background:transparent}

/* Image-workshop v2 artwork. Physics remains native; lamp and grip are generated raster assets. */
.pull-lamp-body{position:absolute;left:45px;top:5px;width:65px;height:39.5px;transform:scaleX(-1);pointer-events:none;z-index:1}
.pull-lamp-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;pointer-events:none;user-select:none;transition:opacity .12s ease-out}
.pull-lamp-image--on{opacity:1}.pull-lamp-image--off{opacity:0}
.pull-lamp[data-mode=night] .pull-lamp-image--on{opacity:0}.pull-lamp[data-mode=night] .pull-lamp-image--off{opacity:1}
.pull-lamp-cord{position:absolute;inset:0;width:114px;height:76px;display:block;overflow:visible;pointer-events:none;z-index:2}
.pull-lamp-grip{z-index:3}
.pull-grip-image{display:block;width:14.25px;height:26px;max-width:none;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 1px 1px #0002);transition:filter .1s ease-out}
.pull-lamp-grip:hover .pull-grip-image{filter:drop-shadow(0 0 3px #c3e49b66) drop-shadow(0 1px 1px #0002)}
.pull-lamp[data-latched=true] .pull-grip-image{filter:brightness(1.08) drop-shadow(0 1px 1px #0002)}
.pull-lamp-state{left:65px;top:48px;z-index:2}.pull-lamp-hint{left:61px;top:63px;z-index:2}
.pull-lamp .pull-lamp-grip:focus-visible{outline:2px solid var(--accent-line);outline-offset:-2px}
.pull-lamp[data-dragging=true] .pull-lamp-grip:focus-visible{outline:none;background:transparent}
@media(prefers-reduced-motion:reduce){.pull-lamp-image,.pull-grip-image{transition:none}}

/* Pointer release keeps focus for accessibility without drawing a ring on the artwork. */
.pull-lamp[data-input=pointer] .pull-lamp-grip:focus,
.pull-lamp[data-input=pointer] .pull-lamp-grip:focus-visible{outline:none;background:transparent;box-shadow:none}

/* Global navigation moves as a unit between the header and the safe-area-aware dock. */
.club-mobile-nav{display:none}
/* Keep the studio's bare mark and sans-serif wordmark; align home chrome to the hero grid. */
.club-brand .brand-mark{width:32px;height:32px}
.club-brand b{display:flex;align-items:baseline;gap:1px;font-size:20px;letter-spacing:0}
.brand-cn{font-weight:800}.brand-en{font-family:var(--font-num);font-size:.98em;font-weight:750;letter-spacing:-.5px}
.club-brand small{letter-spacing:1px}
.club-home>.club-header{max-width:1576px;padding-left:64px;padding-right:64px}
@media(max-width:1200px){.club-home>.club-header{padding-left:36px;padding-right:36px}}
@media(max-width:900px){.club-home>.club-header{padding-left:24px;padding-right:24px}.club-brand .brand-mark{width:30px;height:30px}.club-brand b{font-size:19px}}
@media(max-width:350px){.club-home>.club-header{padding-left:18px;padding-right:18px}.club-brand .brand-mark{width:25px;height:25px}.club-brand b{font-size:16px}.club-brand small{letter-spacing:1px}}
.article-site-header{--header-h:120px}.article-site-header .club-header{border-bottom:0}
.article-context{max-width:1200px;margin:auto;min-height:44px;display:flex;align-items:center;padding:0 0 8px}
.article-context .reader-back{min-height:36px}
@media(max-width:1240px){.article-context{margin:0 24px}}
@media(max-width:900px){
 html{scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 body.club-has-mobile-nav{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .club-mobile-nav{position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--dock-bg);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);font-family:var(--font-sans)}
 .club-mobile-nav a{min-width:0;min-height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--text-3);font-size:11px;font-weight:550;line-height:15px;text-decoration:none;border-radius:10px;touch-action:manipulation}
 .club-dock-icon{width:36px;height:28px;display:grid;place-items:center;border-radius:9px}
 .club-dock-icon svg{width:23px;height:23px}
 .club-mobile-nav a[aria-current=page]{color:var(--text);font-weight:700}
 .club-mobile-nav a[aria-current=page] .club-dock-icon{color:var(--accent-ink);background:var(--accent);box-shadow:0 2px 0 var(--accent-shadow)}
 .club-mobile-nav a:active{background:var(--accent-soft)}
 .club-mobile-nav a:focus-visible{outline:2px solid var(--accent-line);outline-offset:-2px}
 .article-context{padding-bottom:8px}
 .article-context .reader-back span{display:inline}
}

/* Owner-selected third light mark; original logo remains an independent image. */
.club-brand--light{--brand-light-width:190.4px;position:relative;display:block;width:var(--brand-light-width);height:44px;min-height:44px;flex:0 0 auto;line-height:1}
.brand-light-frame{position:absolute;left:0;top:50%;width:100%;aspect-ratio:1997/418;transform:translateY(-50%);pointer-events:none}
.brand-light-art{position:absolute;display:block;width:108.763145%;height:auto;max-width:none;left:-5.5583375%;top:-31.818182%;filter:none;pointer-events:none}
.brand-light-mark{position:absolute;display:block;left:16%;top:50%;width:16%;aspect-ratio:118/104;overflow:hidden;transform:translate(-50%,-50%);pointer-events:none}
.brand-light-mark img{position:absolute;display:block;left:-17.79661%;top:-26.92308%;width:135.59322%;height:auto;max-width:none;filter:none;pointer-events:none}
.brand-light-art--day{display:none}
html[data-club-mode=day] .brand-light-art--night{display:none}
html[data-club-mode=day] .brand-light-art--day{display:block}
.club-home{background-image:radial-gradient(ellipse 720px 340px at 10% 0,rgba(35,112,152,.12),transparent 72%);background-repeat:no-repeat}
.club-home>.club-header{border-bottom-color:transparent}
.club-home .hero-copy .eyebrow{display:flex;align-items:center;gap:9px;color:var(--text-2);font-weight:500;letter-spacing:1.8px}
.club-home .hero-copy .eyebrow:before{content:'';display:block;flex:0 0 3px;width:3px;height:12px;background:var(--accent-line)}
html[data-club-mode=day] .club-home{background-image:radial-gradient(ellipse 720px 340px at 10% 0,rgba(28,120,160,.055),transparent 72%)}
@media(max-width:900px){.club-brand--light{--brand-light-width:170px}}
@media(max-width:380px){.club-brand--light{--brand-light-width:156px}}
@media(max-width:350px){.club-brand--light{--brand-light-width:148px}}

.club-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:7px 15px;border:1px solid var(--line-strong);border-radius:999px;white-space:nowrap;font-size:13px;font-weight:650}.club-account-link:hover{background:var(--surface-2)}@media(max-width:650px){.club-account-link{min-width:43px;font-size:12px;padding:5px 10px;min-height:36px}}





/* Keep the signed-in account and lamp separate on narrow portrait screens. */
@media(max-width:350px){.club-header,.club-home>.club-header{padding-left:14px;padding-right:14px;column-gap:6px}.club-brand--light{--brand-light-width:124px}.club-account-link{flex:0 0 auto;min-width:43px;min-height:44px;padding:5px 7px;font-size:11px}.pull-lamp{width:68px;flex-basis:68px;transform:none}.pull-lamp-stage{transform:translate(-50%,-50%) scale(.8)}}
