:root{--ink:#edf3ef;--muted:#9aa8a1;--paper:#f2f1eb;--dark:#0d141a;--panel:#152028;--line:#2b3840;--lime:#d8ff59;--orange:#ff7043;--sand:#d2c7b0}*{box-sizing:border-box}body{margin:0;background:var(--dark);color:var(--ink);font-family:Manrope,Arial,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;gap:44px;background:#101920}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:-.6px;font-size:18px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--lime);color:var(--dark);border-radius:9px;font:500 12px 'DM Mono'}.eyebrow{font:500 10px 'DM Mono';color:var(--muted);letter-spacing:1.3px;text-transform:uppercase;margin:0 0 10px}.nav-group{display:grid;gap:6px}.nav-link{color:#b6c0bb;text-decoration:none;border-radius:9px;padding:11px 12px;font-size:14px;font-weight:600;display:flex;gap:10px;align-items:center}.nav-link:hover,.nav-link.active{background:#223039;color:var(--lime)}.sidebar-note{margin-top:auto;border-top:1px solid var(--line);padding:20px 4px;display:flex;gap:9px;align-items:flex-start}.sidebar-note strong,.sidebar-note small{display:block}.sidebar-note strong{font-size:12px}.sidebar-note small{font-size:11px;line-height:1.5;color:var(--muted);margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);margin-top:5px;box-shadow:0 0 0 3px #31412a}.workspace{padding:36px clamp(24px,5vw,74px) 70px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.topbar h1{font-size:32px;letter-spacing:-1.6px;margin:0}.primary-button,.secondary-button,.ghost-button{font:700 13px Manrope;text-decoration:none;border:0;border-radius:8px;padding:12px 16px;cursor:pointer;transition:.15s}.primary-button{background:var(--lime);color:#101810}.primary-button:hover{background:#e4ff86;transform:translateY(-1px)}.secondary-button{background:#294039;color:var(--lime)}.ghost-button{background:transparent;color:#bdc8c2;border:1px solid #435057}.empty{border:1px dashed #445159;border-radius:14px;padding:80px 28px;text-align:center;background:linear-gradient(135deg,#152128,#101920)}.empty-icon{font:700 40px 'DM Mono';color:var(--lime);margin-bottom:13px}.empty h2{font-size:20px;margin:0 0 8px}.empty p{color:var(--muted);max-width:370px;margin:0 auto 22px;font-size:14px;line-height:1.6}.library-meta{color:var(--muted);font-size:13px;margin:-19px 0 22px}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.game-card{background:var(--paper);color:#152018;border-radius:12px;padding:22px;min-height:238px;display:flex;flex-direction:column;position:relative;overflow:hidden}.game-card:before{content:'';height:5px;position:absolute;top:0;left:0;right:0;background:var(--accent,#d8ff59)}.game-card h2{font-size:20px;letter-spacing:-.7px;margin:12px 0 5px}.game-card p{font-size:13px;color:#536057;line-height:1.55;margin:0}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.tag{font:500 10px 'DM Mono';text-transform:uppercase;letter-spacing:.6px;color:#415047;background:#dce2da;border-radius:99px;padding:5px 7px}.game-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid #d7d8d0}.game-card time{font:500 10px 'DM Mono';color:#718078}.card-link{color:#26342c;text-decoration:none;font-weight:800;font-size:12px}.form-wrap{display:grid;grid-template-columns:minmax(0,720px) 260px;gap:36px;align-items:start}.form-card{background:#18252d;border:1px solid #2d3c44;border-radius:14px;padding:27px}.form-card h2{font-size:18px;margin:0 0 24px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-size:12px;font-weight:700;color:#d0d8d3}.field input,.field textarea,.field select{font:500 14px Manrope;color:var(--ink);background:#0f181e;border:1px solid #34434a;border-radius:8px;padding:11px 12px;outline:none;width:100%}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--lime);box-shadow:0 0 0 3px #d8ff5920}.form-actions{display:flex;gap:10px;margin-top:8px}.game-plan{border-left:1px solid var(--line);padding-left:22px}.game-plan h3{font-size:13px;margin:2px 0 13px}.game-plan p{font-size:12px;color:var(--muted);line-height:1.65;margin:0 0 16px}.detail-hero{background:var(--paper);border-radius:14px;color:#162018;padding:32px;position:relative;overflow:hidden}.detail-hero:after{content:'GRAPPLE';position:absolute;font:800 clamp(55px,10vw,138px) Manrope;letter-spacing:-9px;right:-10px;bottom:-38px;color:#dce2da;z-index:0}.detail-hero>*{position:relative;z-index:1}.back{font-size:12px;font-weight:800;color:#526058;text-decoration:none}.detail-hero h2{font-size:clamp(32px,5vw,56px);line-height:1;letter-spacing:-3px;max-width:720px;margin:24px 0 12px}.detail-hero p{max-width:650px;color:#536057;line-height:1.65;font-size:14px}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.detail-meta span{font:500 11px 'DM Mono';background:#d9ded6;padding:7px 9px;border-radius:4px}.detail-actions{margin-top:26px;display:flex;gap:10px}.detail-section{margin-top:25px;padding:23px;border:1px solid #2d3c44;border-radius:12px;max-width:800px}.detail-section h3{font-size:16px;margin:0 0 10px}.detail-section p{color:var(--muted);line-height:1.65;font-size:14px;margin:0}#toast{position:fixed;bottom:24px;right:26px;background:var(--lime);color:#132016;padding:11px 15px;border-radius:8px;font-size:12px;font-weight:800;transform:translateY(80px);opacity:0;transition:.25s;z-index:5}#toast.show{transform:translateY(0);opacity:1}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{padding:16px 19px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);gap:25px}.nav-group{display:flex;align-items:center}.nav-group .eyebrow,.sidebar-note{display:none}.nav-link{padding:8px}.workspace{padding:29px 20px 50px}.topbar{margin-bottom:28px}.topbar h1{font-size:26px}.top-action{padding:10px 11px;font-size:11px}.form-wrap{grid-template-columns:1fr}.game-plan{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.field-grid{grid-template-columns:1fr}.detail-hero{padding:24px}.detail-hero h2{letter-spacing:-2px}}
