/* The Open Harbor. Landing-only styles; the factory keeps its own layout. */
#auth-view.gate{--harbor-text:#f3ead7;--harbor-muted:#b2c6c6;--harbor-copper:#f2b074;--harbor-green:#9bd4ad;display:block!important;max-width:none!important;margin:0!important;padding:0!important;min-height:100dvh;color:var(--harbor-text);font:15px/1.6 'Segoe UI',system-ui,sans-serif;background:#0c1b22;isolation:isolate}
#auth-view.gate[hidden]{display:none!important}
body:not(.game-active){background:#0c1b22}
body:not(.game-active) .masthead{display:none!important}
#auth-view *{box-sizing:border-box}
#auth-view .video-stage{position:absolute;inset:0 0 auto;height:min(1150px,120dvh);z-index:-3;overflow:hidden;background:#142a32}
#auth-view .hero-video{width:100%;height:100%;object-fit:cover;object-position:center 36%;opacity:.52;filter:saturate(.78)}
#auth-view .vignette{position:absolute;inset:0 0 auto;height:min(1150px,120dvh);pointer-events:none;z-index:-2;background:linear-gradient(90deg,#0c1b22d9,#0c1b226b 65%,#0c1b22aa),linear-gradient(0deg,#0c1b22 0,transparent 48%,#0c1b2244)}
#auth-view .gate-shell{width:min(1440px,100%);margin:0 auto;padding:0 clamp(16px,4vw,64px)}
#auth-view .gate-nav{display:flex;align-items:center;gap:22px;min-height:100px;border-bottom:1px solid #d7c3942a}
#auth-view .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--harbor-text);flex-shrink:0}
#auth-view .harbor-mark{display:grid;place-items:center;width:42px;height:49px;color:#edc58d;font:52px Georgia,serif;filter:drop-shadow(0 0 12px #f2b07444)}
#auth-view .brand strong{font:21px Georgia,serif;letter-spacing:.12em;display:block}
#auth-view .brand strong b{font-weight:400;color:#e8bf88}
#auth-view .brand div>span{display:block;color:#b7cbc8;font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:3px}
#auth-view .gate-nav-links{margin-left:auto;display:flex;gap:24px;align-items:center}
#auth-view .gate-nav-links a{color:#d5e2d9;text-decoration:none;font-size:12px;padding:10px 0;white-space:nowrap}
#auth-view .gate-nav-links a:hover{color:#ffca8f}
#auth-view .language-select{font-size:12px;min-height:39px;background:#132a32dd;border-color:#b8d4c539;padding:7px 9px}
#auth-view .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:clamp(24px,4vw,64px);padding:58px 0 45px;align-items:start}
#auth-view .hero-world{min-width:0;padding-top:14px}
#auth-view .hero-copy{max-width:740px}
#auth-view .eyebrow{display:flex;gap:9px;align-items:center;font:600 10px/1.5 'Segoe UI',sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#d0bc93;margin:0 0 14px}
#auth-view .harbor-spark{width:6px;height:6px;background:var(--harbor-copper);box-shadow:0 0 17px #efaf7488;transform:rotate(45deg)}
#auth-view h1{font:clamp(42px,4.7vw,70px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 22px;text-wrap:balance;text-shadow:0 4px 28px #06151c}
#auth-view h1 em{font-weight:400;color:#e8c48a}
#auth-view .lede{max-width:560px;color:#d3e0da;font-size:17px;line-height:1.75;margin-bottom:24px;text-wrap:pretty}
#auth-view .cta-row{display:flex;gap:11px;flex-wrap:wrap}
#auth-view .btn{min-height:47px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:7px;font-size:12px;font-weight:650;letter-spacing:.02em;cursor:pointer}
#auth-view .btn-copper{color:#231d16;border:1px solid #ffd5a0;background:linear-gradient(140deg,#f3c18b,#dea46e);box-shadow:0 5px 22px #0004,inset 0 1px #fff4}
#auth-view .btn-copper:hover:not(:disabled){background:linear-gradient(140deg,#ffddb0,#eeb87e);box-shadow:0 0 24px #ffac5933}
#auth-view .btn-ghost{color:#e3e8d9;background:#142b33a8;border:1px solid #c6d6bf44}
#auth-view .btn-pulse{animation:harbor-attention 3s ease-in-out infinite}
@keyframes harbor-attention{50%{box-shadow:0 0 0 4px #edaa6b18,0 0 26px #ffad7022}}
#auth-view .hero-assurance{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#c0d3c1;margin:15px 0 30px}
#auth-view .hero-assurance>span:first-child{font-size:17px;color:var(--harbor-green);line-height:1.2}
#auth-view .hero-side{display:grid;gap:14px;min-width:0}
#auth-view .realm-pulse{padding:17px 20px;border:1px solid #c5d6b82b;border-radius:10px;background:#102730d6;backdrop-filter:blur(12px)}
#auth-view .pulse-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#auth-view .pulse-top .eyebrow{font-size:8px;letter-spacing:.13em;margin:0}
#auth-view .pulse-build{color:#90a9ac;font-size:10px}
#auth-view .pulse-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}
#auth-view .pulse-grid>div>span{display:block;font-size:10px;color:#b2c3c4}
#auth-view .pulse-grid b{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:600;margin-top:3px;white-space:nowrap}
#auth-view .pulse-grid .home-safe{color:var(--harbor-green)}
#auth-view .online-counter{letter-spacing:0}
#auth-view .auth-card{position:relative;max-width:none;width:100%;margin:0;padding:25px;border-radius:11px;border:1px solid #d6c79859;background:linear-gradient(140deg,#1d353ce8,#0f252eed);box-shadow:0 18px 60px #0004,inset 0 1px #f2e3bc14;backdrop-filter:blur(18px);scroll-margin-top:20px}
#auth-view .auth-card-heading{display:flex;justify-content:space-between;align-items:center}
#auth-view .auth-card-heading .eyebrow{font-size:9px;margin:0}
#auth-view .auth-insignia{font:24px Georgia,serif;color:#d8bc83}
#auth-view .auth-card h2{font:30px/1.15 Georgia,serif;color:#f3dfb5;margin:10px 0}
#auth-view .auth-intro{font-size:12px;line-height:1.65;color:#b9ccca;margin-bottom:18px}
#auth-view .auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#0b2029;border:1px solid #839b963b;border-radius:6px;padding:3px;gap:3px;margin:0 0 18px}
#auth-view .auth-tabs button{min-height:40px;font-size:11px;padding:8px 5px;border:1px solid transparent;background:transparent;color:#abc1c2;border-radius:4px}
#auth-view .auth-tabs button[aria-selected=true]{background:#2c4449;border-color:#bac6a630;color:#f2e1c0;box-shadow:0 2px 5px #0002}
#auth-view .auth-card label{display:block;margin-bottom:13px;font-size:12px;color:#d9e1d4}
#auth-view .auth-card input{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;background:#0e252ed9;border-color:#a2b9ac4d;border-radius:5px;font-size:14px;color:#f1eee1}
#auth-view .auth-card input::placeholder{color:#88a2a8}
#auth-view .field-note{display:block;font-size:10px;line-height:1.6;color:#a8c0c2;margin:6px 0 12px}
#auth-view .auth-card label small{margin-bottom:0}
#auth-view .password-input{display:flex;align-items:stretch;position:relative;margin-top:6px}
#auth-view .password-input input{padding-right:57px;margin-top:0}
#auth-view .password-input button{position:absolute;right:2px;top:2px;bottom:2px;padding:6px 8px;border:0;background:transparent;font-size:10px;color:#dfcaa4;border-radius:4px;min-width:48px}
#auth-view .friend-invite{margin:3px 0 15px;font-size:11px;color:#dbd4b5}
#auth-view .friend-invite summary{padding:4px 0;cursor:pointer;min-height:30px}
#auth-view .friend-invite[open] summary{margin-bottom:7px}
#auth-view .auth-card #auth-submit{width:100%;margin:1px 0 0}
#auth-view .auth-boundary{color:#a6bcbd;font-size:10px;line-height:1.7;margin:15px 0 0;border-top:1px solid #90a78e26;padding-top:13px}
#auth-view .form-error{font-size:12px;line-height:1.6;border-left-color:#f28e8e;background:#6e33373d;border-radius:0 5px 5px 0;color:#ffc2b9}
#auth-view #auth-server-status:empty{display:none}
#auth-view .workshop-preview{margin-top:35px;padding:21px 0 0;border-top:1px solid #d6c49336;scroll-margin-top:25px}
#auth-view .preview-header{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:20px}
#auth-view .preview-header .eyebrow{font-size:8px;margin-bottom:5px}
#auth-view .preview-header h2{font:21px/1.3 Georgia,serif;color:#e8d8b7;margin:0}
#auth-view .preview-label{font-size:8px;color:#a3b8b6;max-width:76px;text-align:right;text-transform:uppercase;letter-spacing:.07em}
#auth-view .preview-line{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:center;padding:2px}
#auth-view .preview-card{position:relative;border:1px solid color-mix(in srgb,var(--machine-accent),transparent 28%);background:linear-gradient(145deg,#243d4399,#132c35e6);border-radius:8px;box-shadow:0 10px 24px #0003,inset 0 0 0 3px #d9c99e09;min-width:0;padding:9px 9px 10px;transform:perspective(700px) rotateY(-4deg)}
#auth-view .preview-card:nth-of-type(2){transform:perspective(700px) rotateY(0);margin-top:-10px}
#auth-view .preview-card:last-child{transform:perspective(700px) rotateY(4deg)}
#auth-view .machine-type{display:block;color:var(--machine-accent);font:600 7px 'Segoe UI',sans-serif;letter-spacing:.12em}
#auth-view [data-landing-art]{margin:8px -4px 8px;border:1px solid #b4c7ab25;border-radius:4px;overflow:hidden;aspect-ratio:240/140;background:radial-gradient(ellipse,#67807b33,#0c2630)}
#auth-view .elyra-art{display:block;width:100%;height:100%}
#auth-view .preview-card h3{color:#eee0bd;font:15px/1.25 Georgia,serif;min-height:37px;margin:0 0 8px}
#auth-view .machine-output{display:flex;align-items:flex-start;gap:5px;color:#acd2bc;font-size:8px;line-height:1.4;min-height:23px}
#auth-view .machine-output .status-dot{width:4px;height:4px;margin-top:4px}
#auth-view .card-port{position:absolute;top:58%;width:9px;height:9px;border:1px solid var(--machine-accent);background:#142a32;box-shadow:0 0 0 3px #112730;border-radius:50%;z-index:2}
#auth-view .card-port.output{right:-5px}#auth-view .card-port.input{left:-5px}
#auth-view .preview-wire{position:relative;height:2px;background:#dca26d80;margin-top:30px;color:#ebb07e;box-shadow:0 0 11px #e9b27322}
#auth-view .preview-wire i{position:absolute;top:-7px;left:0;font:12px/1 'Segoe UI',sans-serif;animation:harbor-cargo 2.4s linear infinite;text-shadow:0 0 8px #ffbc73}
#auth-view .preview-wire.copper i{animation-delay:-1.2s}
#auth-view .preview-wire span{position:absolute;bottom:13px;left:-8px;right:-8px;text-align:center;font-size:7px;line-height:1.3;color:#cbb99a}
@keyframes harbor-cargo{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 5px);opacity:0}}
#auth-view .preview-footer{display:flex;align-items:flex-start;gap:12px;margin-top:18px}
#auth-view .preview-footer p{color:#b1c3bd;font-size:10px;line-height:1.6;margin:0;flex:1}
#auth-view .motion-toggle{border:0;background:transparent;border-bottom:1px solid #90a89e55;border-radius:0;color:#b9c9c5;padding:3px 0;font-size:10px;white-space:nowrap;min-height:30px}
#auth-view .possibilities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-block:1px solid #d6c4932d;padding:24px 0;margin-bottom:70px}
#auth-view .possibilities>div{display:flex;gap:12px;align-items:center;justify-content:center}
#auth-view .possibilities strong{font:30px Georgia,serif;color:#e5c696;font-weight:400}
#auth-view .possibilities span{color:#b5c9c7;font-size:10px;line-height:1.5;max-width:84px}
#auth-view .section-heading{display:block;max-width:630px;margin:0 auto 30px;text-align:center}
#auth-view .section-heading .eyebrow{justify-content:center}
#auth-view .section-heading h2{font:34px/1.18 Georgia,serif;margin:0 0 15px;color:#eddfc4;text-wrap:balance}
#auth-view .section-heading p{color:#a9c2c4;font-size:13px;margin:0;line-height:1.8}
#auth-view .first-chapter{scroll-margin-top:25px}
#auth-view .start-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;padding:0;margin:0 0 65px;counter-reset:steps}
#auth-view .start-steps li{border-top:1px solid #adc1aa3d;position:relative;padding-top:17px}
#auth-view .step-number{color:#cba877;font-size:10px;letter-spacing:.1em}
#auth-view .start-steps h3{font:19px/1.3 Georgia,serif;margin:9px 0;color:#e3d9bf}
#auth-view .start-steps p{color:#a9bfc1;font-size:11px;line-height:1.8;margin:0}
#auth-view .strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:50px}
#auth-view .strip article{position:relative;padding:28px 25px;border:1px solid #a9bda02e;border-radius:9px;background:radial-gradient(ellipse at top right,#9bbd9510,transparent 60%),#102831}
#auth-view .strip .eyebrow{font-size:8px;margin-bottom:10px}
#auth-view .feature-glyph{display:block;font:29px Georgia,serif;color:#98beb0;margin-bottom:17px}
#auth-view .strip h3{font:24px/1.2 Georgia,serif;color:#e4d8bb;margin:0 0 16px;max-width:240px}
#auth-view .strip p{font-size:12px;color:#a9c0c1;line-height:1.8;margin:0}
#auth-view .strip .feature-project{background:radial-gradient(ellipse at top right,#d6af6018,transparent 65%),#152c32;border-color:#bba77742}
#auth-view .feature-project .feature-glyph{color:#e0c389}
#auth-view .landing-footer{display:flex;gap:25px;align-items:center;border-top:1px solid #bac49f30;padding:28px 0 35px}
#auth-view .landing-footer>div{flex:1}
#auth-view .landing-footer .eyebrow{margin-bottom:5px;font-size:9px}
#auth-view .landing-footer p{font-size:11px;color:#9fb5b8;margin:0}
#auth-view.preview-paused .preview-line *,body.game-active #auth-view *{animation-play-state:paused!important}
@media(min-width:1600px){#auth-view .hero{padding-top:80px;gap:70px;grid-template-columns:minmax(0,1fr) 380px}#auth-view .preview-card h3{font-size:17px}#auth-view .machine-output{font-size:10px}#auth-view .preview-card{padding:12px}#auth-view .workshop-preview{margin-top:45px}}
@media(max-width:1050px){#auth-view .gate-shell{padding-inline:28px}#auth-view .hero{gap:28px;grid-template-columns:minmax(0,1fr) 315px;padding-top:35px}#auth-view .hero-world{padding-top:7px}#auth-view h1{font-size:47px}#auth-view .lede{font-size:15px}#auth-view .preview-label{display:none}#auth-view .preview-card{padding:7px}#auth-view .preview-card h3{font-size:13px}#auth-view .preview-wire{margin-top:25px}#auth-view .preview-line{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr) 25px minmax(0,1fr)}#auth-view .auth-card{padding:20px}#auth-view .machine-output{font-size:7px}#auth-view .preview-header h2{font-size:19px}#auth-view .gate-nav-links{gap:18px}#auth-view .brand strong{font-size:18px}}
@media(max-width:780px){#auth-view .gate-shell{padding-inline:24px}#auth-view .gate-nav{min-height:83px;gap:15px}#auth-view .gate-nav-links a:not(.keep){display:none}#auth-view .hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:30px}#auth-view .hero-copy{max-width:610px}#auth-view h1{font-size:clamp(44px,7.5vw,64px)}#auth-view .lede{max-width:570px;font-size:16px}#auth-view .hero-side{max-width:560px;width:100%;margin:0 auto}#auth-view .realm-pulse{padding:15px 24px}#auth-view .auth-card{padding:26px}#auth-view .workshop-preview{max-width:650px;margin-top:30px}#auth-view .preview-card{padding:12px}#auth-view .preview-card h3{font-size:18px;min-height:23px}#auth-view .machine-output{font-size:10px}#auth-view .machine-type{font-size:8px}#auth-view .preview-wire{margin-top:29px}#auth-view .preview-header h2{font-size:23px}#auth-view .possibilities{margin-bottom:45px;gap:10px}#auth-view .possibilities>div{display:block;text-align:center}#auth-view .possibilities span{display:block;max-width:100px;margin:4px auto 0}#auth-view .start-steps{grid-template-columns:1fr 1fr;gap:25px;margin-bottom:45px}#auth-view .strip{gap:12px}#auth-view .strip article{padding:21px 18px}#auth-view .strip h3{font-size:21px}#auth-view .landing-footer{flex-wrap:wrap}#auth-view .landing-footer>div{flex-basis:100%}}
@media(max-width:480px){#auth-view .gate-shell{padding-inline:17px}#auth-view .gate-nav{gap:10px;min-height:77px}#auth-view .brand{gap:7px}#auth-view .harbor-mark{font-size:37px;width:29px}#auth-view .brand strong{font-size:15px;letter-spacing:.08em}#auth-view .brand div>span{font-size:6px;letter-spacing:.1em}#auth-view .gate-nav-links{display:none}#auth-view .gate-nav>.language-label{margin-left:auto}#auth-view .language-select{font-size:10px;padding:5px 6px;max-width:92px}#auth-view h1{font-size:40px;letter-spacing:-.045em;margin-bottom:18px}#auth-view .hero{padding-top:23px;gap:24px}#auth-view .hero-world{padding-top:0}#auth-view .hero-copy>.eyebrow{font-size:8px;letter-spacing:.1em}#auth-view .lede{font-size:14px;line-height:1.8;margin-bottom:20px}#auth-view .cta-row{gap:9px}#auth-view .btn{padding:12px 15px;font-size:11px}#auth-view .hero-assurance{font-size:10px;line-height:1.6;margin-bottom:25px}#auth-view .preview-header h2{font-size:20px}#auth-view .preview-header .eyebrow{font-size:7px}#auth-view .workshop-preview{padding-top:18px;margin-top:15px}#auth-view .preview-line{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);padding:0}#auth-view .preview-card{padding:6px 5px 8px;border-radius:6px}#auth-view .machine-type{font-size:6px;letter-spacing:.04em}#auth-view .preview-card h3{font-size:12px;min-height:31px;margin-bottom:5px}#auth-view [data-landing-art]{margin:6px -2px}#auth-view .machine-output{font-size:7px;line-height:1.4;min-height:27px;gap:3px}#auth-view .machine-output .status-dot{width:3px;height:3px;margin-top:3px}#auth-view .preview-wire{margin-top:15px}#auth-view .preview-wire i{font-size:10px;top:-6px}#auth-view .preview-wire span{font-size:6px;left:-3px;right:-3px;bottom:13px;overflow-wrap:anywhere}#auth-view .preview-footer{gap:8px}#auth-view .preview-footer p{font-size:9px}#auth-view .motion-toggle{font-size:9px}#auth-view .auth-card{padding:22px 20px}#auth-view .realm-pulse{padding:15px 20px}#auth-view .auth-card h2{font-size:29px}#auth-view .possibilities{gap:9px;padding-block:20px}#auth-view .possibilities strong{font-size:26px}#auth-view .possibilities span{font-size:9px;line-height:1.4}#auth-view .section-heading h2{font-size:29px}#auth-view .section-heading p{font-size:12px}#auth-view .start-steps{gap:22px 17px}#auth-view .start-steps h3{font-size:18px}#auth-view .start-steps p{font-size:10px}#auth-view .strip{grid-template-columns:1fr;gap:12px;margin-bottom:30px}#auth-view .strip article{padding:23px}#auth-view .strip h3{font-size:25px;max-width:none}#auth-view .feature-glyph{float:right;margin:0 0 10px 15px}#auth-view .strip .eyebrow{padding-top:3px}#auth-view .landing-footer{gap:17px;padding-top:25px}}
@media(prefers-reduced-motion:reduce){#auth-view *,#auth-view *::before,#auth-view *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:640px){#auth-view .section-heading{display:block;text-align:left;width:100%;margin-bottom:27px}#auth-view .section-heading .eyebrow{justify-content:flex-start;margin-bottom:10px}#auth-view .section-heading h2{width:100%;margin-bottom:14px}#auth-view .section-heading p{width:100%;margin:0}}
