@font-face{font-family:Geist;src:url('assets/Geist-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#101112;--surface:#151617;--raised:#1b1d1f;--control:#252729;--border:#2b2d30;--accent:#ff1f4a;--text:#f0f0f2;--muted:#a0a3ab;--subtle:#8b8f98}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,Arial,sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;color:var(--subtle)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.muted{color:var(--muted)}.accent{color:var(--accent)}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:var(--accent);padding:12px}.skip-link:focus{top:12px}
.site-header{border-bottom:1px solid var(--border);background:#121314}.header-inner{max-width:1180px;margin:auto;display:flex;align-items:center;gap:34px;min-height:76px;padding:16px 28px}.brand{font-size:23px;font-weight:600;letter-spacing:-.9px;display:inline-flex;white-space:nowrap}.brand em{font-style:normal;color:var(--accent)}.brand.small{font-size:19px}.primary-nav{display:flex;gap:25px}.primary-nav a{color:var(--muted);font-size:13px;padding:9px 0}.primary-nav a:hover,.primary-nav a.active{color:var(--text)}.primary-nav a.active{box-shadow:0 1px var(--accent)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #3a3c40;background:var(--control);min-height:40px;padding:9px 16px;font-size:13px;border-radius:1px;font-weight:500;line-height:1.4;transition:background .1s}.button:hover:not(:disabled){background:#303237}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.button.primary:hover:not(:disabled){background:#df1a40}.button.subtle{background:transparent;border-color:var(--border)}.icon-button{width:40px;height:40px;border:1px solid var(--border);background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:24px}.icon-button:hover{background:var(--control)}.menu-toggle{display:none}
.site-shell{max-width:1180px;padding:44px 28px 64px;margin:auto;min-height:calc(100svh - 147px)}.is-member .site-shell{display:grid;grid-template-columns:172px minmax(0,1fr);gap:34px}.sidebar{padding-top:3px}.side-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;color:var(--muted);border-left:2px solid transparent;font-size:13px}.side-link span{display:flex}.side-link:hover{color:var(--text);background:#191b1d}.side-link.active{background:#222427;color:var(--text);border-left-color:var(--accent)}.side-group{margin-top:23px}.side-group>p{font-size:12px;color:var(--subtle);padding:0 14px 8px}main{min-width:0;outline:none}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--subtle);font-size:12px;margin-bottom:24px}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs span:last-child{color:var(--muted)}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.page-title h1{font-size:28px;letter-spacing:-.7px;line-height:1.3}.page-title p{color:var(--muted);margin-top:8px}.page-title .button{white-space:nowrap}.content-grid{display:block}.section-heading{margin-bottom:10px}.section-heading h2,.section-title{font-size:15px}.section-title{margin:28px 0 14px}.forum-section{margin-bottom:28px}.forum-table{border:1px solid var(--border);background:var(--surface)}.forum-table-head,.forum-row{display:grid;grid-template-columns:minmax(0,1fr) 60px 240px;align-items:center;padding:12px 20px;gap:18px}.forum-table-head{background:#1b1d1f;border-bottom:1px solid var(--border);font-size:12px;color:var(--subtle)}.forum-row{min-height:76px;border-bottom:1px solid var(--border)}.forum-row:last-child{border:0}.forum-row:hover{background:#191b1d}.forum-info{display:flex;gap:15px;align-items:center;min-width:0}.forum-icon{color:var(--subtle);display:flex}.forum-info h3{font-size:14px}.topic-count{text-align:center;color:var(--subtle);font-size:13px}.latest-post{font-size:12px;min-width:0}.latest-post strong{font-weight:400;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-post span{display:block;color:var(--subtle);margin-top:4px}.latest-post:hover strong{color:var(--accent)}.forum-note{color:var(--subtle);font-size:12px;margin-top:14px}
.entry{max-width:820px;margin:clamp(30px,9vh,100px) auto 28px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:center}.entry-title{font-size:52px;line-height:1.15;letter-spacing:-2px}.entry-label{color:var(--subtle);font-size:13px;margin-bottom:16px}.entry-description{color:var(--muted);margin:18px 0 28px;max-width:330px;font-size:16px}.entry-card{border:1px solid var(--border);background:var(--surface);padding:28px}.entry-card h2{font-size:18px;margin-bottom:20px}.entry-card .button{width:100%;margin-top:8px}.entry-card p{color:var(--muted);font-size:13px;margin-bottom:18px}.entry-foot{margin-top:24px;padding-top:18px;border-top:1px solid var(--border);font-size:12px;color:var(--subtle)}.loading{padding:48px 0;color:var(--muted)}.product-capture{margin:24px 0;border:1px solid var(--border);background:var(--surface)}.product-capture img{display:block;width:100%;height:auto}.product-capture figcaption{padding:12px 16px;color:var(--subtle);font-size:12px;border-top:1px solid var(--border)}.product-specs{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--border)}.purchase-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border:1px solid var(--border);background:var(--surface);margin-top:24px}.purchase-panel h2{font-size:18px;margin-bottom:6px}.purchase-panel p{color:var(--muted);font-size:13px}.purchase-panel .button{flex-shrink:0}.download-row{display:flex;align-items:center;gap:18px;padding:26px;border:1px solid var(--border);background:var(--surface)}.download-row>svg{width:26px;height:26px;color:var(--subtle)}.download-row h2{font-size:17px;margin-bottom:5px}.download-row p{font-size:13px;color:var(--muted)}.download-row .button{margin-left:auto;white-space:nowrap}
.toolbar{display:flex;gap:12px;margin-bottom:18px}.search-box{position:relative;flex:1}.search-box svg{position:absolute;left:13px;top:13px;color:var(--subtle);width:16px;height:16px}input,select,textarea{background:#141618;color:var(--text);border:1px solid #37393e;border-radius:1px;padding:10px 12px;width:100%;min-height:42px}input::placeholder,textarea::placeholder{color:var(--subtle)}.search-box input{padding-left:38px}.toolbar select{width:170px;font-size:13px}.thread-list{border:1px solid var(--border);background:var(--surface)}.thread-row{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.thread-row:last-child{border:0}.thread-row:hover{background:#1b1d1f}.avatar{width:36px;height:36px;background:var(--control);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.thread-info{min-width:0;flex:1}.thread-info h2{font-size:14px;margin-bottom:4px}.thread-info p,.thread-date{font-size:12px;color:var(--subtle)}.thread-date{white-space:nowrap}.tag{font-size:11px;padding:2px 6px;display:inline-block;background:#292126;color:#e5a4b2;border:1px solid #49303a;margin-right:8px;vertical-align:middle}.tag.neutral{background:var(--control);color:var(--muted);border-color:var(--border)}.empty-state{border:1px solid var(--border);background:var(--surface);padding:36px 24px}.empty-state h1,.empty-state h2{font-size:22px;margin-bottom:10px}.empty-state p{color:var(--muted);margin-bottom:20px}.article{border:1px solid var(--border);background:var(--surface)}.article-header{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:13px}.article-header p,.article-header time{font-size:12px;color:var(--subtle)}.article-header time{margin-left:auto}.article-content{padding:26px;color:#c3c6cc;font-size:14px;line-height:1.8}.article-content h2{font-size:18px;color:var(--text);margin:24px 0 10px}.article-content h2:first-child{margin-top:0}.article-content p{margin-bottom:16px}.article-content p:last-child{margin:0}.article-content ul,.article-content ol{padding-left:20px;margin:14px 0}.article-content li{padding:4px 0}.article-content a{color:var(--accent);text-decoration:underline}.article-content code{font-size:12px;background:var(--control);padding:2px 5px;overflow-wrap:anywhere}.article-actions{display:flex;gap:10px;border-top:1px solid var(--border);padding:16px 24px}.article-actions .button.active{color:var(--accent)}.text-panel{border:1px solid var(--border);padding:24px;background:var(--surface);margin-bottom:20px}.text-panel h2{font-size:18px;margin-bottom:12px}.text-panel p{color:var(--muted);margin-bottom:14px}.text-panel p:last-child{margin:0}.faq-list details{border:1px solid var(--border);background:var(--surface);margin-bottom:10px}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 20px}.faq-list summary:after{content:'+';color:var(--subtle)}.faq-list details[open] summary:after{content:'−';color:var(--accent)}.faq-list details p{color:var(--muted);padding:0 20px 20px}
.site-footer{max-width:1124px;margin:auto;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:18px;padding:24px 0;color:var(--subtle);font-size:12px}.site-footer nav{display:flex;gap:22px}.site-footer a:hover{color:var(--text)}dialog{max-width:calc(100vw - 32px);width:430px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #3e333a;background:#17181a;color:var(--text);padding:28px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#000b}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}dialog h2{font-size:25px;letter-spacing:-.5px;margin-bottom:12px}dialog p{color:var(--muted);font-size:13px}label{display:block;font-size:13px;color:#c3c6cc;margin:14px 0 7px}textarea{resize:vertical}dialog .button{width:100%;margin-top:16px}.form-note{font-size:12px!important;margin-top:12px}.form-result{color:#f3afbf!important;font-size:13px!important;margin-top:14px;overflow-wrap:anywhere}.form-result:empty{display:none}.auth-switch{margin-top:20px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px;font-size:13px!important}.text-button{background:none;border:0;color:var(--accent);padding:0;min-height:28px;font:inherit;cursor:pointer}.forgot-link{display:block;margin:12px 0 0 auto;font-size:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;max-width:calc(100vw - 32px);border:1px solid #573640;background:#242024;color:#e8cbd4;font-size:13px;opacity:0;pointer-events:none;z-index:20}#toast.visible{opacity:1}.draft-preview{white-space:pre-wrap;color:var(--muted);padding:16px;background:var(--bg);border:1px solid var(--border);margin-bottom:16px;overflow-wrap:anywhere}.draft-controls{display:flex;gap:10px}.mobile-primary{display:none}
.account-form{display:grid;gap:8px;max-width:620px}.account-form label{display:grid;gap:7px}.account-form>label{margin-bottom:0}.account-form>label+input{margin-bottom:4px}.account-form .button{justify-self:start}.account-table-wrap{max-width:100%;overflow:auto;margin:16px 0}.account-table{border-collapse:collapse;width:100%;font-size:13px}.account-table th,.account-table td{text-align:left;padding:14px;border-bottom:1px solid var(--border);vertical-align:top}.account-table th{color:var(--muted);font-weight:400}.account-actions{display:flex;flex-wrap:wrap;gap:8px}.break-word{overflow-wrap:anywhere;word-break:break-word}.admin-summary,.admin-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.admin-summary span{background:var(--raised);padding:10px 14px}.admin-security .button{margin-top:12px}.device-code{font-size:24px;letter-spacing:2px;padding:12px 0}.invite-output{display:block;color:var(--accent);font-size:16px}.account-search{margin:20px 0}.account-table code{display:block;max-width:180px}
@media(max-width:1020px){.primary-nav{gap:16px}.header-inner{gap:24px}.is-member .site-shell{grid-template-columns:152px minmax(0,1fr);gap:24px}.forum-table-head,.forum-row{grid-template-columns:minmax(0,1fr) 45px 170px;gap:12px;padding:14px}.site-footer{margin:0 28px}}
@media(max-width:850px){.primary-nav{display:none}.menu-toggle{display:flex}.is-member .site-shell{display:block}.sidebar{display:none;padding:16px;border:1px solid var(--border);margin-bottom:26px}.site-shell.mobile-open .sidebar{display:block}.mobile-primary{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px}.mobile-primary a{padding:9px;background:var(--control)}.entry{gap:28px;grid-template-columns:minmax(0,1fr) 280px}.entry-title{font-size:44px}}
@media(max-width:600px){.header-inner{min-height:68px;padding:14px 18px;gap:10px}.brand{font-size:20px}.header-actions{gap:6px}.header-actions .button{font-size:12px;padding:8px 10px;min-height:38px}.header-actions [data-account-logout]{padding:8px}.site-shell{padding:28px 18px 40px;min-height:calc(100svh - 140px)}.entry{display:block;margin:36px auto 20px;max-width:380px}.entry-title{font-size:44px}.entry-card{margin-top:32px;padding:24px}.entry-description{font-size:15px}.entry-foot{margin-top:20px}.page-title h1{font-size:25px}.breadcrumbs{margin-bottom:20px}.forum-table-head,.forum-row{grid-template-columns:minmax(0,1fr) 40px}.latest-post,.forum-table-head>:last-child{display:none}.forum-row{min-height:68px}.forum-icon{display:none}.toolbar{gap:8px}.toolbar select{width:132px;font-size:12px;padding-left:8px}.thread-row{padding:16px 14px}.thread-date{display:none}.thread-title{align-items:flex-start}.article-header{padding:16px}.article-header time{font-size:11px}.article-content{padding:20px}.article-actions{padding:16px;flex-wrap:wrap}.purchase-panel,.download-row{flex-wrap:wrap;padding:22px}.purchase-panel .button,.download-row .button{width:100%;margin:0}.text-panel{padding:20px}.site-footer{margin:0 18px;gap:12px;font-size:11px}.site-footer nav{gap:16px}dialog{padding:22px}.account-table th,.account-table td{padding:10px}.account-actions .button{font-size:12px}.admin-summary{gap:8px}.admin-summary span{padding:8px}}
@media(max-width:360px){.header-inner{padding:12px}.brand{font-size:18px}.header-actions .button{font-size:11px;padding:8px}.is-member .header-actions a{max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.entry-title{font-size:40px}.site-footer nav{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.is-entry .header-actions{display:none}main:focus-visible{outline:none}.invite-field{font-size:13px;color:var(--muted);margin-top:12px}.invite-field summary{cursor:pointer;padding:4px 0}
/* Subtle website rounding; the native application keeps its own design contract. */
.entry-card,.forum-table,.thread-list,.article,.empty-state,.text-panel,.purchase-panel,.download-row,.faq-list details,.draft-preview,.sidebar,.product-capture{border-radius:6px}
.forum-table,.thread-list,.article,.product-capture{overflow:hidden}
.button,.icon-button,input,select,textarea,.side-link,.mobile-primary a,.avatar,.admin-summary span,#toast{border-radius:4px}
dialog{border-radius:8px}
/* Static copy stays selectable without looking like an editable field. */
body{cursor:default;caret-color:transparent}
a,button,summary,select{cursor:pointer}
input,textarea,[contenteditable]:not([contenteditable="false"]){cursor:text;caret-color:var(--text)}
button:disabled{cursor:not-allowed}
