/* THE OPENING — shared base
   Canonical shared bundle — 2026-07-28.
*/

/* ===== base.css ===== */

@layer approved-base,approved-overrides;@layer approved-base{:root{--oled: #000000;--frank: "Libre Franklin","Franklin Gothic",Arial,sans-serif;--mono: "IBM Plex Mono",monospace;--hand: "Nothing You Could Do",cursive;--display: var(--frank);--sans: var(--frank);--serif: var(--frank);--pad: clamp(24px,5vw,80px);}*{box-sizing: border-box;}html{scroll-behavior: smooth;background: var(--black);}html,body{margin: 0;}body{font-family: var(--sans);line-height: 1.5;-webkit-font-smoothing: antialiased;}a{color: inherit;text-decoration: none;}button{font: inherit;}a:focus-visible,button:focus-visible{outline: 2px solid var(--mark);outline-offset: 3px;border-radius: 1px;}body{color: var(--white);text-rendering: geometricPrecision;}}


/* ===== site-shell.css ===== */

@layer approved-base,approved-overrides;@layer approved-base{body.menu-open{overflow: hidden;}.topbar{position: fixed;inset: 0 0 auto;z-index: 40;height: 72px;display: flex;align-items: center;justify-content: space-between;padding: 0 var(--pad);font: 700 11.5px var(--mono);letter-spacing: 0.1em;text-transform: uppercase;}.brand-small span{color: var(--soft);margin-left: 5px;}.brand-small:has(.brand-mark){gap: 9px;}.brand-small:has(.brand-mark) span{display: none;}.nav-right{display: flex;align-items: center;gap: 26px;}.nav-right a{color: var(--muted);transition: color 0.25s;}.nav-right a:hover,.nav-right a.current{color: var(--mark);}.nav-right .lang{color: var(--mark);}.index-button{display: none;appearance: none;border: none;background: transparent;color: var(--white);padding: 10px 14px;font: 700 10px var(--mono);letter-spacing: 0.08em;text-transform: uppercase;cursor: pointer;transition: color 0.3s;}.index-button::after{content: "+";font-size: 14px;font-weight: 300;transition: transform 0.3s;}.index-button:hover{color: var(--mark);}.index-button:hover::after{transform: rotate(90deg);}body.menu-open .index-button{color: var(--mark);}body.menu-open .index-button::after{transform: rotate(45deg);}.index-menu{position: fixed;inset: 0;z-index: 9999;display: grid;grid-template-rows: auto 1fr auto;padding: clamp(24px,5vw,72px);background: rgba(0,0,0,0.82);backdrop-filter: blur(15px);-webkit-backdrop-filter: blur(15px);opacity: 0;visibility: hidden;pointer-events: none;transition: opacity 0.35s;}body.menu-open .index-menu{opacity: 1;visibility: visible;pointer-events: auto;}.index-menu-head,.index-menu-foot{display: flex;align-items: center;justify-content: space-between;gap: 20px;color: var(--soft);font: 700 10px var(--mono);letter-spacing: 0.08em;text-transform: uppercase;}.index-close{appearance: none;border: none;background: transparent;color: var(--white);padding: 10px 14px;cursor: pointer;font: 700 10px var(--mono);letter-spacing: 0.08em;text-transform: uppercase;transition: color 0.3s,transform 0.3s;}.index-close:hover{color: var(--mark);}.index-links a{display: grid;grid-template-columns: 52px 1fr auto;align-items: baseline;gap: 20px;padding: clamp(12px,1.8vh,20px) 0;border-top: 1px solid var(--line);}.index-links a:last-child{border-bottom: 1px solid var(--line);}.index-links strong{font: 900 clamp(2.2rem,5.4vw,5.7rem)/0.83 var(--display);text-transform: uppercase;transition: color 0.25s,transform 0.25s;}@media (max-width: 980px){.topbar{padding: 0 clamp(16px,4vw,24px);}.nav-right{gap: 16px;font-size: 10px;}.nav-right .hide-sm{display: none;}.index-button{display: flex;align-items: center;gap: 8px;padding: 9px 11px;}}.topbar .brand-small{gap: 0;}.topbar .brand-small::before{display: none;}.topbar .brand-small span{display: none;}.topbar{background: linear-gradient(180deg,rgba(0,0,0,0.96),rgba(0,0,0,0.72) 68%,rgba(0,0,0,0));border-bottom-color: rgba(239,235,225,0.08);}.foot-identity .brand-small{display: inline-flex;align-items: center;width: max-content;max-width: 100%;margin: 0;color: var(--bone);}@media (max-width: 980px){body .topbar{height: 64px;padding-right: max(16px,env(safe-area-inset-right));padding-left: max(16px,env(safe-area-inset-left));}body .brand-small{min-width: 0;max-width: min(52vw,190px);}body .brand-mark{width: auto;max-width: 100%;}body .nav-right{min-width: 0;gap: 4px;}body .nav-right .hide-sm{display: none;}body .nav-right .lang,body .index-button{min-height: 44px;display: inline-flex;align-items: center;justify-content: center;}body .nav-right .lang{padding: 0 8px;}body .index-button{gap: 7px;padding: 9px 8px;}}@media (max-width: 760px){body.menu-open{overflow: hidden;}body .index-menu{padding: 22px 20px max(22px,env(safe-area-inset-bottom));background: #050505;backdrop-filter: none;-webkit-backdrop-filter: none;}body .index-menu::before{content: "";position: absolute;inset: 0 0 auto;height: 4px;background: var(--mark,#ffc700);}body .index-menu-head,body .index-menu-foot{width: 100%;}body .index-menu-head{flex-direction: row;align-items: center;}body .index-menu-foot{flex-direction: column;align-items: flex-start;gap: 8px;line-height: 1.5;}body .index-links{width: 100%;gap: clamp(8px,2.4vh,18px);align-content: center;justify-items: stretch;}body .index-links a,body .index-links a:last-child{display: block;width: 100%;padding: 4px 0 7px;border: 0;}body .index-links strong{font-size: clamp(2.15rem,10.8vw,3.15rem);line-height: 0.96;letter-spacing: 0;text-shadow: none;}}.skip-link{position: fixed;top: 10px;left: 10px;z-index: 12000;max-width: calc(100vw - 20px);padding: 11px 15px;border: 1px solid #ffc700;background: #0a0a0a;color: #efebe1;font: 700 12px/1.2 var(--mono,"IBM Plex Mono",monospace);letter-spacing: .08em;text-transform: uppercase;text-decoration: none;transform: translateY(-160%);transition: transform 150ms ease;}.skip-link:focus{transform: translateY(0);outline: 2px solid #ffc700;outline-offset: 2px;}}
