:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.6;font-weight:400}*{box-sizing:border-box}body{margin:0;background:#0b0c0f;color:#e6e6e6}.layout{min-height:100vh;position:relative;z-index:2}.app-root{position:relative;min-height:100vh}.bg-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1;opacity:.9}.bg-rain-column{position:absolute;top:-120%;width:12%;color:#c8c8c847;font-size:.9rem;letter-spacing:.2em;white-space:pre;line-height:1.6;animation:fall 18s linear infinite;display:block}.bg-rain-column:nth-child(1){left:4%;animation-duration:22s}.bg-rain-column:nth-child(2){left:12%;animation-duration:18s;animation-delay:-4s}.bg-rain-column:nth-child(3){left:20%;animation-duration:20s;animation-delay:-9s}.bg-rain-column:nth-child(4){left:28%;animation-duration:17s;animation-delay:-6s}.bg-rain-column:nth-child(5){left:36%;animation-duration:23s;animation-delay:-12s}.bg-rain-column:nth-child(6){left:44%;animation-duration:19s;animation-delay:-3s}.bg-rain-column:nth-child(7){left:52%;animation-duration:21s;animation-delay:-10s}.bg-rain-column:nth-child(8){left:60%;animation-duration:18s;animation-delay:-7s}.bg-rain-column:nth-child(9){left:68%;animation-duration:24s;animation-delay:-13s}.bg-rain-column:nth-child(10){left:76%;animation-duration:16s;animation-delay:-5s}.bg-rain-column:nth-child(11){left:84%;animation-duration:20s;animation-delay:-8s}.bg-rain-column:nth-child(12){left:92%;animation-duration:22s;animation-delay:-11s}@keyframes fall{0%{transform:translateY(0)}to{transform:translateY(220%)}}h1,h2,h3{margin:0 0 12px;font-weight:600;letter-spacing:.02em}p{margin:0 0 14px;color:#c9ccd1}ul{margin:0 0 14px 18px;padding:0}li{margin:0 0 8px}pre{margin:0;padding:12px 0;color:#e6e6e6}code{font-family:inherit}.layout-a{display:block}.layout-a .topbar{position:fixed;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#0b0c0f;border-bottom:1px solid #1b1e25;z-index:20}.layout-a .topbar-left,.layout-a .topbar-right{display:flex;align-items:center;gap:14px}.layout-a .topbar-back{background:transparent;color:#5fafaf;border:1px solid #2a2f39;padding:4px 10px;font-size:.82rem;font-family:inherit;cursor:pointer;letter-spacing:.02em}.layout-a .topbar-back:hover{color:#e6e6e6;border-color:#5fafaf}.layout-a .topbar-title{font-size:.95rem;color:#f1f1f1;letter-spacing:.04em}.layout-a .topbar-link{color:#7f8896;text-decoration:none;font-size:.82rem;letter-spacing:.02em}.layout-a .topbar-link:hover{color:#e6e6e6}.layout-a .menu-button{display:none;background:transparent;color:#e6e6e6;border:1px solid #2a2f39;padding:6px 10px;font-size:.85rem;cursor:pointer}.layout-a .side{position:fixed;top:56px;left:0;bottom:0;width:260px;padding:28px 20px;border-right:1px solid #1b1e25;background:#0b0c0f;overflow-y:auto;z-index:10}.layout-a .title-text{font-size:1rem;color:#f1f1f1}.layout-a .subtitle{margin-top:8px;font-size:.85rem;color:#9aa1ab}.layout-a .nav{margin-top:28px;display:grid;gap:10px}.layout-a .nav-item{padding:6px 0;border-bottom:1px solid #1b1e25;color:#c9ccd1;text-decoration:none;display:block}.layout-a .nav-item:hover,.layout-a .nav-item:focus-visible{color:#e6e6e6}.layout-a .nav-item-active{color:#f1f1f1}.layout-a .panel{margin-left:260px;padding:92px 32px 64px}.layout-a .section{margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid #1b1e25;scroll-margin-top:72px}.layout-b{padding:32px 24px 64px}.layout-b .header{border-bottom:1px solid #1b1e25;padding-bottom:16px;margin-bottom:24px}.layout-b .header-title{font-size:1.1rem;color:#f1f1f1}.layout-b .header-subtitle{font-size:.85rem;color:#9aa1ab;margin-top:6px}.layout-b .header-route{margin-top:10px;font-size:.8rem;color:#7f8896}.layout-b .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.layout-b .card{border:1px solid #1b1e25;padding:16px}.layout-b .card-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1b1e25;padding-bottom:8px;margin-bottom:12px}.layout-b .card-title{font-size:.95rem;color:#f1f1f1}.layout-b .card-id{font-size:.8rem;color:#7f8896}.layout-c{padding:36px 28px 72px}.layout-c .spec-header{border-bottom:1px solid #1b1e25;padding-bottom:16px;margin-bottom:24px}.layout-c .spec-title{font-size:1.1rem;color:#f1f1f1}.layout-c .spec-subtitle{font-size:.85rem;color:#9aa1ab;margin-top:6px}.layout-c .spec-route{margin-top:10px;font-size:.8rem;color:#7f8896}.layout-c .spec-section{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #1b1e25}.terminal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0c0f;z-index:100;cursor:text;display:flex;flex-direction:column;-webkit-user-select:text;user-select:text}.terminal-header{flex-shrink:0;padding:24px 24px 12px;max-width:820px;width:100%;margin:0 auto;border-bottom:1px solid #1b1e25}.terminal-body{flex:1;overflow-y:auto;padding:12px 24px 0;max-width:820px;width:100%;margin:0 auto;padding-bottom:40vh}.terminal-line{white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.5}.terminal-input-line,.terminal-input-active{display:flex;align-items:center;margin-top:4px}.terminal-prompt{flex-shrink:0;font-size:.88rem}.prompt-user{color:#4ec54e}.prompt-sep{color:#7f8896}.prompt-path{color:#5fafaf}.terminal-cmd{color:#e6e6e6}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#e6e6e6;font-family:inherit;font-size:.88rem;line-height:1.5;padding:0;caret-color:#4ec54e}.terminal-output-line{color:#c9ccd1}.terminal-banner{font-size:.55rem;line-height:1.15;letter-spacing:0;color:#b8b8d0;overflow-x:auto}.terminal-banner-mobile{padding:12px 0 8px}.terminal-banner-mobile .banner-name{font-size:2rem;font-weight:700;line-height:1.1;color:#b8b8d0;letter-spacing:.04em;text-transform:uppercase}.terminal-link{text-decoration:none;border-bottom:1px dotted currentColor;cursor:pointer}.terminal-link:hover{color:#e6e6e6!important;border-bottom-style:solid}.terminal-cursor{color:#4ec54e;animation:blink-cursor .6s step-end infinite}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.dino-game{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0c0f;z-index:200}.dino-canvas{width:100%;height:100%;display:block}@media (max-width: 860px){.layout-a .menu-button{display:inline-flex;align-items:center}.layout-a .side{transform:translate(-100%);transition:transform .2s ease;border-right:none;width:100%;right:0;z-index:30}.layout-a .side.side-open{transform:translate(0)}.layout-a .panel{margin-left:0;padding:92px 20px 64px}}
