:root{--navy:#0a2240;--navy-700:#15375c;--ink:#0a2240;--ink-soft:#3a4d63;--muted:#6b7c91;--line:#e3e8ee;--bg:#f4f6f8;--surface:#fff;--teal:#2bb6c2;--teal-ink:#0e8c99;--teal-soft:#2bb6c21f;--accent:var(--teal-ink);--accent-ink:#fff;--radius:12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:40px 24px 80px}.container.reading{max-width:760px}.topbar{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;margin-bottom:32px;padding:16px 20px;display:flex;box-shadow:0 1px 2px #0a22400a,0 10px 28px #0a22400f}.topbar-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar-lead{align-items:center;gap:16px;min-width:0;display:flex}.logo-mark{border-radius:12px;flex-shrink:0;width:48px;height:48px;line-height:0;transition:transform .15s,box-shadow .15s;display:inline-flex;overflow:hidden;box-shadow:0 4px 14px #0a22402e,0 0 0 1px #0a22400a}.logo-mark:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0a22403d,0 0 0 1px #0a22400a}.logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.topbar-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar h1{letter-spacing:-.01em;color:var(--navy);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.7rem;overflow:hidden}.brand{text-transform:uppercase;letter-spacing:.16em;color:var(--teal-ink);margin:0;font-size:.72rem;font-weight:700}.back{color:var(--muted);align-self:flex-start;align-items:center;gap:5px;font-size:.8rem;font-weight:600;transition:color .15s;display:inline-flex}.back svg{flex-shrink:0}.back:hover{color:var(--teal-ink)}.user-meta{color:var(--muted);flex-shrink:0;align-items:center;gap:10px;min-width:0;font-size:.85rem;display:flex}.avatar{background:linear-gradient(135deg, var(--navy), var(--teal-ink));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.user-email{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{border:1px solid var(--line);background:var(--surface);max-width:260px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:5px 12px 5px 5px;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{border-color:var(--teal);background:var(--teal-soft)}.user-menu-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);font-weight:500;overflow:hidden}.user-menu-caret{color:var(--muted);flex-shrink:0;transition:transform .2s}.user-menu-trigger[aria-expanded=true] .user-menu-caret{color:var(--teal-ink);transform:rotate(180deg)}.user-menu-pop{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:13px;width:268px;max-width:calc(100vw - 32px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0a22402e}.user-menu-id{align-items:center;gap:11px;padding:8px 10px 10px;display:flex}.avatar-lg{width:40px;height:40px;font-size:.95rem}.user-menu-id-text{flex-direction:column;gap:2px;min-width:0;display:flex}.user-menu-id-email{text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-weight:700;overflow:hidden}.user-menu-role{letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink);font-size:.7rem;font-weight:700}.user-menu-sep{background:var(--line);height:1px;margin:2px 4px 4px}.user-menu-item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:600;transition:background .15s,color .15s;display:flex}.user-menu-item:hover{background:var(--teal-soft)}.user-menu-item svg{color:var(--muted);flex-shrink:0}.user-menu-item:hover svg{color:var(--teal-ink)}.user-menu-signout{color:#b42318}.user-menu-signout:hover{background:#fdecec}.user-menu-signout svg{color:#d4493b}.user-menu-signout:hover svg{color:#b42318}.user-menu-item:disabled{opacity:.6;cursor:default}h2{color:var(--navy);margin:0 0 16px;font-size:1.1rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .15s,box-shadow .15s,transform .15s;display:block;position:relative;overflow:hidden}.card:before{content:"";background:var(--teal);opacity:0;width:3px;transition:opacity .15s;position:absolute;inset:0 auto 0 0}.card:hover{border-color:#bfe4e8;transform:translateY(-1px);box-shadow:0 8px 24px #0a22401a}.card:hover:before{opacity:1}.card h3{color:var(--navy);margin:0;font-size:1.02rem}.badge{letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink);background:var(--teal-soft);border-radius:999px;margin-top:10px;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-block}.page-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.page-list li a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.page-list li a:hover{border-color:#bfe4e8;box-shadow:0 6px 18px #0a224014}.page-title{color:var(--navy);font-weight:600}.page-excerpt{color:var(--muted);font-size:.88rem}.empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;padding:24px}.admin-link{margin-top:40px;font-size:.9rem}.admin-link a{color:var(--teal-ink);font-weight:600}.video-embed{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;margin:0 0 28px;position:relative;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.prose{color:var(--ink-soft);font-size:1.02rem}.prose h1,.prose h2,.prose h3{color:var(--navy)}.prose a{color:var(--teal-ink)}.docs-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 28px;overflow:hidden}.docs-summary{cursor:pointer;color:var(--navy);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-weight:600;list-style:none;transition:background .15s;display:flex}.docs-summary::-webkit-details-marker{display:none}.docs-summary:hover{background:var(--teal-soft)}.docs-summary-main{align-items:center;gap:10px;min-width:0;display:inline-flex}.docs-icon{color:var(--teal-ink);flex-shrink:0}.docs-count{min-width:22px;height:22px;color:var(--teal-ink);background:var(--teal-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.75rem;font-weight:700;display:inline-flex}.docs-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.docs-panel[open] .docs-chevron{transform:rotate(180deg)}.docs-list{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin:0;padding:6px 12px 12px;list-style:none;display:flex}.docs-list li a{max-width:100%;color:var(--teal-ink);border-radius:9px;align-items:center;gap:10px;padding:10px;font-weight:600;line-height:1.4;transition:background .15s;display:flex}.docs-list li a svg{color:var(--muted);flex-shrink:0}.docs-list li a:hover{background:var(--teal-soft)}.docs-list li a:hover svg{color:var(--teal-ink)}.auth-container{background:radial-gradient(1200px 600px at 50% -200px, #2bb6c21a, transparent 70%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:380px;padding:36px 32px;position:relative;overflow:hidden;box-shadow:0 16px 48px #0a22401f}.auth-card:before{content:"";background:linear-gradient(90deg, var(--navy), var(--teal));height:4px;position:absolute;inset:0 0 auto}.auth-logo{background:var(--navy);border-radius:16px;margin-bottom:18px;line-height:0;display:inline-flex;overflow:hidden;box-shadow:0 6px 18px #0a224033}.auth-logo img{width:56px;height:56px;display:block}.auth-card h1{color:var(--navy);margin:6px 0 4px;font-size:1.5rem}.auth-sub{color:var(--muted);margin:0 0 24px;font-size:.92rem}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.auth-form input{border:1px solid var(--line);color:var(--ink);background:#fbfcfd;border-radius:9px;padding:11px 13px;font-family:inherit;font-size:1rem}.auth-form input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #2bb6c238}.auth-form button,.logout-btn{cursor:pointer;font-family:inherit}.auth-form button{color:var(--accent-ink);background:linear-gradient(135deg, var(--navy), var(--teal-ink));border:0;border-radius:9px;margin-top:4px;padding:12px;font-size:.98rem;font-weight:600;transition:filter .15s,box-shadow .15s}.auth-form button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px #0a224038}.auth-form button:disabled{opacity:.6;cursor:default}.logout-btn{border:1px solid var(--line);color:var(--ink-soft);background:0 0;border-radius:8px;padding:6px 12px;font-size:.82rem;transition:border-color .15s,color .15s}.logout-btn:hover{border-color:var(--teal);color:var(--teal-ink)}.form-error{color:#a11a1a;background:#fdecec;border:1px solid #f5c2c2;border-radius:9px;padding:10px 12px;font-size:.85rem}.auth-alt{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.85rem}.auth-alt a{color:var(--teal-ink);font-weight:600;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-note{border:1px solid var(--line);color:var(--ink-soft);background:#fbfcfd;border-radius:10px;margin:4px 0 0;padding:14px 16px;font-size:.9rem;line-height:1.5}.page-title,.page-excerpt,.card h3,.docs-list a,.prose{overflow-wrap:anywhere;word-break:break-word}@media (max-width:640px){.container{padding:28px 16px 64px}.topbar-main{flex-direction:column;align-items:stretch;gap:14px}.topbar h1{white-space:normal;font-size:1.35rem}.user-meta{flex-shrink:1;width:100%;min-width:0}.user-email{flex:1}}@media (max-width:380px){.topbar h1{font-size:1.2rem}}.page-shell{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.page-bar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;flex:none;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 20px;display:flex}.page-bar-left{flex:auto;align-items:center;gap:14px;min-width:0;display:flex}.page-bar-right{flex:none;align-items:center;gap:14px;display:flex}.page-bar-back{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:7px 11px;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.page-bar-back svg{flex-shrink:0}.page-bar-back:hover{color:var(--teal-ink);border-color:var(--teal);background:var(--teal-soft)}.page-bar-sep{background:var(--line);flex-shrink:0;width:1px;height:28px}.page-bar-title{letter-spacing:-.01em;min-width:0;color:var(--navy);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;overflow:hidden}.page-content{flex:auto;min-height:0;padding:20px}.page-frame{background:var(--surface);border:1px solid var(--line);border-radius:14px;height:100%;display:flex;overflow:hidden;box-shadow:0 1px 2px #0a22400a}.embed-fill{overscroll-behavior:contain;border:0;flex:auto;width:100%;height:100%;display:block}.page-doc{overscroll-behavior:contain;flex:auto;width:100%;height:100%;overflow-y:auto}.page-doc-inner{max-width:880px;margin:0 auto;padding:40px 32px 64px}.docs-menu{flex-shrink:0;position:relative}.docs-menu-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.docs-menu-btn svg{flex-shrink:0}.docs-menu-btn:hover{border-color:var(--teal);background:var(--teal-soft)}.docs-menu-btn[aria-expanded=true]{border-color:var(--teal-ink);background:var(--teal-soft);color:var(--teal-ink)}.docs-menu-caret{color:var(--muted);transition:transform .2s}.docs-menu-btn[aria-expanded=true] .docs-menu-caret{color:var(--teal-ink);transform:rotate(180deg)}.docs-menu-pop{background:var(--surface);border:1px solid var(--line);z-index:50;border-radius:12px;width:320px;max-width:calc(100vw - 32px);padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0a22402e}.docs-menu-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;padding:6px 10px 8px;font-size:.7rem;font-weight:700}.docs-menu-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.docs-menu-list a{color:var(--ink);border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:600;line-height:1.4;transition:background .15s;display:flex}.docs-menu-list a:hover{background:var(--teal-soft)}.docs-menu-list a>svg:first-child{color:var(--teal-ink);flex-shrink:0}.docs-menu-label{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0}.docs-menu-dl{color:var(--muted);flex-shrink:0}.docs-menu-list a:hover .docs-menu-dl{color:var(--teal-ink)}.video-menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-weight:600;line-height:1.4;transition:background .15s;display:flex}.video-menu-item:hover{background:var(--teal-soft)}.video-menu-play{background:var(--teal-soft);width:26px;height:26px;color:var(--teal-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.video-menu-item:hover .video-menu-play{background:var(--teal);color:#fff}.video-menu-tag{background:var(--teal-soft);color:var(--teal-ink);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.62rem;font-weight:700}.video-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a16289e;justify-content:center;align-items:center;padding:24px;animation:.16s video-modal-fade;display:flex;position:fixed;inset:0}@keyframes video-modal-fade{0%{opacity:0}to{opacity:1}}.video-modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 80px #08183073}.video-modal-bar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 14px 12px 18px;display:flex}.video-modal-title{min-width:0;color:var(--navy);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.95rem;font-weight:700;overflow:hidden}.video-modal-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.video-modal-close:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-ink)}.video-modal-body{padding:18px;overflow:auto}@media (max-width:900px){.page-bar .user-menu-email{display:none}.page-bar .user-menu-trigger{background:0 0;border-color:#0000;padding:4px}.page-bar .user-menu-trigger:hover,.page-bar .user-menu-trigger[aria-expanded=true]{background:var(--teal-soft)}.page-bar .user-menu-caret{display:none}}@media (max-width:620px){.page-bar{gap:8px;padding:0 12px}.page-bar-left,.page-bar-right{gap:8px}.docs-menu-text{display:none}.docs-menu-btn{padding:8px 10px}.page-content{padding:12px}.page-doc-inner{padding:28px 18px 48px}}@media (max-width:430px){.page-bar-back{padding:7px 9px}.page-bar-back span,.page-bar .page-bar-sep{display:none}}
