:root{color-scheme:dark;--bg:#041019;--panel:#0a1c28;--ink:#eff6f8;--soft:#b5cbd5;--accent:#92eef0;--line:#33515e;font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 100% 0,#173e50,transparent 45%),var(--bg)}a{color:var(--accent);text-underline-offset:4px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{max-width:1150px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font:12px/1.5 Consolas,monospace;letter-spacing:.06em}header a{text-decoration:none}header span{color:var(--soft)}main{max-width:900px;margin:auto;padding:0 30px}h1{font-size:clamp(48px,8vw,86px);line-height:1;letter-spacing:-.055em;margin:20px 0 28px}h1 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}h2{font-size:clamp(27px,4vw,38px);line-height:1.2;letter-spacing:-.025em;margin:10px 0 25px}p,li{font-size:18px;line-height:1.75;color:var(--soft)}strong{color:var(--ink)}.intro{padding:65px 0 40px}.lead{font-size:23px;line-height:1.6;max-width:57ch}.eyebrow{font:12px/1.6 Consolas,monospace;letter-spacing:.13em;color:var(--accent)}.small{font-size:14px;line-height:1.6}.primary{display:inline-block;text-decoration:none;border:1px solid var(--accent);padding:15px 22px;margin:10px 0}.progress-box{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.progress-box label{display:flex;justify-content:space-between;gap:20px;font-size:16px}progress{display:block;width:100%;height:8px;margin:17px 0;accent-color:var(--accent)}.step{padding:45px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.step ol{padding-left:25px}.step li{padding:8px 0 8px 7px}.look{background:#183441;padding:20px 24px;border-left:3px solid var(--accent);color:var(--ink)}.important{border-left:1px solid var(--accent);padding-left:22px}details{padding:15px 0;border-bottom:1px solid #33515e88}summary{cursor:pointer;color:var(--accent);font-size:17px;line-height:1.5}details p{font-size:16px}.check{display:flex;align-items:flex-start;gap:14px;line-height:1.6;font-size:18px;padding:23px;background:#92eef00a;margin:25px 0 15px;cursor:pointer}.check input{width:23px;height:23px;flex-shrink:0;accent-color:var(--accent);margin-top:3px}.step.done .eyebrow:after{content:' / DONE';color:var(--ink)}.next{display:inline-block;padding:10px 0;font-size:16px}.code-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#102734;padding:15px 20px;font-size:14px}button{padding:10px 14px;border:1px solid var(--accent);background:transparent;color:var(--accent)}button:hover{background:#92eef012}pre{margin:0 0 20px;overflow:auto;background:#020b11;padding:24px;font:14px/1.8 Consolas,monospace;tab-size:2}code{font-family:Consolas,monospace;color:#d6f4f5;overflow-wrap:anywhere}pre code{overflow-wrap:normal}.folder-tree{max-width:100%;margin-top:20px}.finish{padding:50px 0}footer{padding:35px 0 60px;border-top:1px solid var(--line);color:var(--soft);font-size:13px;line-height:1.8}.skip{position:absolute;top:-100px;left:15px;background:var(--panel);padding:15px}.skip:focus{top:15px}.join{min-height:100svh;display:grid;align-content:center;text-align:center;max-width:1150px;margin:auto;padding:35px}.join h1{font-size:clamp(42px,6vw,74px)}.join img{display:block;width:min(56vh,430px,80vw);height:auto;margin:25px auto;background:white;padding:12px}.join .address{font-size:clamp(16px,2.4vw,26px);overflow-wrap:anywhere}.join .lead{margin:15px auto}.join .small{margin:15px auto}.join a.download{font-size:16px}.join-actions{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:22px 0}
@media(max-width:600px){header{padding:20px;font-size:10px}header span{display:none}main{padding:0 20px}.intro{padding-top:40px}.lead{font-size:21px}p,li{font-size:17px}.step{padding:35px 0}.look,.check{padding:18px}.step li{padding-left:0}pre{padding:16px;font-size:12px}.code-heading{padding:12px}.join{padding:25px 20px}.join img{width:min(85vw,360px)}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{:root{--ink:#111;--soft:#333;--accent:#134c57;--bg:white;--line:#bbb;color-scheme:light}body{background:white}.step{break-inside:avoid}.look,.check,pre,.code-heading{background:#eee}code{color:#111}.next,button,header,.progress-box{display:none}.join img{width:100mm}}

.official-shot{margin:26px 0}.official-shot img,.recording img{display:block;max-width:100%;height:auto;background:white;border:1px solid var(--line)}.official-shot figcaption{font-size:13px;line-height:1.7;color:var(--soft);margin-top:12px}.recording img{margin-top:20px}.tool-routes{display:grid;gap:0}.tool-routes>a{display:block;text-decoration:none;border-top:1px solid var(--line);padding:28px 0}.tool-routes>a:hover{background:#92eef009}.tool-routes span{font:12px/1.5 Consolas,monospace;letter-spacing:.1em}.tool-routes h3{font:30px/1.3 Georgia,serif;color:var(--ink);margin:15px 0}.tool-routes p{margin:12px 0}.tool-routes b{font-size:16px}.official-shot a{display:block}body>main.join{max-width:1150px}

body>main.join-v2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4vw;align-items:center;align-content:center;width:100%;max-width:1550px;text-align:left;padding:4vh 4vw}.join-v2 h1{font-size:clamp(42px,5.8vw,86px);margin-top:16px}.join-v2 .lead{margin:20px 0}.join-v2 .join-code{text-align:center}.join-v2 .qr-link{display:block;max-width:100%;width:fit-content;margin:auto;background:#fff;line-height:0;color-scheme:light}.join-v2 img{width:min(66vh,100%,660px);max-width:100%;height:auto;padding:0;margin:0 auto;image-rendering:pixelated;background:#fff}.join-v2 .address{display:block;font:clamp(13px,1.5vw,21px)/1.6 Consolas,monospace;margin-top:22px}.join-v2 .join-actions{font-size:14px}@media(max-width:800px){body>main.join-v2{grid-template-columns:1fr;gap:25px;padding:30px 20px;text-align:center}.join-v2 h1{font-size:44px}.join-v2 .lead{margin:15px auto}.join-v2 .join-copy>p:not(.eyebrow):not(.lead),.join-v2 .join-copy>.primary{display:none}.join-v2 img{width:min(90vw,520px)}.join-v2 .address{font-size:14px}}

.table-scroll{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:16px;line-height:1.7}caption{text-align:left;color:var(--accent);padding:12px 0}th,td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}td{color:var(--soft);overflow-wrap:anywhere}.intro nav{line-height:2.2}
