.os{--blue:#2f6bff;background:#111;color:#fff;min-height:100vh;font-family:Noto Sans KR,system-ui,sans-serif;position:relative}.os *{box-sizing:border-box}.os a{color:inherit;text-decoration:none}.os-header{background:#0a0a0a;border-bottom:1px solid #1c1c1c;padding:0 20px 10px}.os-top{justify-content:space-between;min-height:64px;gap:16px}.os-brand,.os-top{display:flex;align-items:center}.os-brand{gap:10px;font-weight:800;letter-spacing:.08em;font-size:22px}.os-brand svg{width:34px;height:34px}.os-mainnav{display:flex;gap:28px;font-size:15px;font-weight:600}.os-mainnav a{opacity:.92}.os-mainnav a.active,.os-mainnav a:hover{color:#fff;box-shadow:inset 0 -2px 0 var(--blue);padding-bottom:6px}.os-utils{display:flex;gap:14px;font-size:12px;color:#cfcfcf;justify-content:flex-end}.os-right{flex-direction:column;align-items:flex-end}.os-auth,.os-right{display:flex;gap:8px}.os-login{background:transparent;border:1px solid var(--blue);border-radius:4px}.os-join,.os-login{color:#fff;padding:8px 16px;font-weight:700}.os-join{background:var(--blue);border:0;border-radius:4px}.os-hero{margin:8px 20px 0;border-radius:6px;overflow:hidden;position:relative;min-height:280px;background:#1a1a1a url(/captures/dino-home.png) 50%/cover no-repeat}.os-hero.synthetic{background:linear-gradient(90deg,hsla(0,0%,4%,.2),rgba(10,18,40,.55)),radial-gradient(circle at 20% 80%,#2a3550,#111 60%);display:grid;place-items:center start;padding:40px 60px}.os-badge{position:absolute;left:16px;top:16px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:4px}.os-hero-copy{color:#fff;text-shadow:0 2px 12px #000;max-width:560px}.os-hero-copy .line1{font-size:22px}.os-hero-copy .line2{font-size:36px;font-weight:900;color:#4d8bff}.os-hero-copy .line3{font-size:28px;font-weight:800}.os-pager{position:absolute;right:16px;bottom:12px;background:rgba(0,0,0,.45);padding:4px 10px;border-radius:12px;font-size:12px}.os-section{padding:24px 20px 80px}.os-section h2{font-size:20px;margin:0 0 16px;font-weight:800}.os-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.os-card{background:#1a1a1a;border-radius:8px;min-height:140px;overflow:hidden;border:1px solid #222;background-size:cover;background-position:50%;display:flex;align-items:flex-end;padding:10px;font-weight:700}.os-card span{background:rgba(0,0,0,.55);padding:4px 8px;border-radius:4px;font-size:13px}.os-rail{position:fixed;right:12px;top:40%;transform:translateY(-50%);background:#1a1a1a;border-radius:24px;padding:10px 8px;display:flex;flex-direction:column;gap:12px;border:1px solid #2a2a2a;z-index:5}.os-rail a,.os-rail button{width:36px;height:36px;border:0;background:transparent;color:#fff;display:grid;place-items:center;font-size:16px}.os-fabs{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:6}.os-fab{width:48px;height:48px;border-radius:50%;border:0;display:grid;place-items:center}.os-fab.up{background:var(--blue);color:#fff}.os-fab.dino{background:#fff}.os-lobby-bar{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.os-lobby-bar button,.os-lobby-bar input{background:#1c1c1c;border:1px solid #333;color:#fff;border-radius:6px;padding:8px 12px}.os-modal-back{position:fixed;inset:0;background:rgba(0,0,0,.65);display:grid;place-items:center;z-index:20}.os-modal{background:#fff;color:#111;width:min(420px,92vw);border-radius:12px;padding:22px 22px 18px}.os-modal h3{margin:0 0 16px;font-size:22px}.os-modal label{display:block;font-size:13px;margin:10px 0 4px}.os-modal input{width:100%;padding:12px;border-radius:8px;border:1px solid #e5e5e5;background:#f4f4f4}.os-modal .primary{width:100%;margin-top:16px;background:var(--blue);color:#fff;border:0;border-radius:8px;padding:12px;font-weight:800}.os-modal .row{display:flex;justify-content:space-between;font-size:12px;margin-top:8px}.os-x{float:right;border:0;background:none;font-size:20px}.arrow-layer{position:absolute;pointer-events:none;inset:0;z-index:8}.arrow-layer svg{width:100%;height:100%}@media (max-width:900px){.os-mainnav{display:none}.os-grid{grid-template-columns:1fr 1fr}.os-rail{display:none}}