@import "https://fonts.googleapis.com/css2?family=Kanit:wght@500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";*{box-sizing:border-box}:root{--bg-page:radial-gradient(circle at top, #eef4ff 0%, #e4edf9 56%, #dde6f3 100%);--text-primary:#1b2b44;--text-secondary:#324c71;--text-muted:#5f78a3;--link-color:#1275e2;--surface-nav:#f1f6fde6;--surface-card:#f6fafff2;--surface-soft:#eef4fcf0;--surface-elevated:#e8f0fbd1;--border-soft:#5f78a33d;--border-strong:#1275e261;--border-subtle:#5f78a34d;--border-ghost:#74777f3d;--surface-terminal:linear-gradient(160deg, #080d16f5, #0a1222e6);--surface-terminal-bar:#0a0f1cdb;--border-terminal:#5f78a357;--text-terminal:#d8e9ff;--text-terminal-muted:#dde8fae0;--status-red:#ff6a64;--status-yellow:#f4bf4f;--status-green:#49c774;--status-success:#8bf0c2;--status-info:#9fc3ff;--accent:#1275e2;--accent-2:#c55b00;--focus-ring:#1275e2;--btn-border:#1275e2;--btn-bg:linear-gradient(90deg, #1275e2, #5f78a3);--btn-text:#f5f8ff;--status-danger:#c55b00;--terminal-dot-red:#ff5f57;--terminal-dot-yellow:#febc2e;--terminal-dot-green:#28c840;--sparkle-color:#1275e229;--shadow-soft:0 10px 28px #1b2b441c;--surface-0:#1b283df0;--font-size-xs:clamp(.75rem, .72rem + .1vw, .82rem);--font-size-sm:clamp(.88rem, .84rem + .12vw, .95rem);--font-size-base:clamp(.97rem, .93rem + .16vw, 1.05rem);--font-size-lg:clamp(1.12rem, 1.02rem + .35vw, 1.3rem);--font-size-xl:clamp(1.35rem, 1.18rem + .7vw, 1.8rem);--font-size-2xl:clamp(1.85rem, 1.5rem + 1.2vw, 2.45rem)}@media (prefers-color-scheme:light){:root{--bg-page:radial-gradient(circle at top, #eef4ff 0%, #e4edf9 56%, #dde6f3 100%);--text-primary:#1b2b44;--text-secondary:#324c71;--text-muted:#5f78a3;--link-color:#1275e2;--surface-nav:#f1f6fde6;--surface-card:#f6fafff2;--surface-soft:#eef4fcf0;--surface-elevated:#e8f0fbd1;--border-soft:#5f78a33d;--border-strong:#1275e261;--border-subtle:#5f78a34d;--border-ghost:#74777f3d;--surface-terminal:linear-gradient(160deg, #080d16f5, #0a1222e6);--surface-terminal-bar:#0a0f1cdb;--border-terminal:#5f78a357;--text-terminal:#d8e9ff;--text-terminal-muted:#dde8fae0;--accent:#1275e2;--accent-2:#c55b00;--focus-ring:#1275e2;--btn-border:#1275e2;--btn-bg:linear-gradient(90deg, #1275e2, #5f78a3);--btn-text:#f5f8ff;--status-danger:#c55b00;--terminal-dot-red:#ff5f57;--terminal-dot-yellow:#febc2e;--terminal-dot-green:#28c840;--sparkle-color:#1275e229;--shadow-soft:0 10px 28px #1b2b441c;--surface-0:#1b283df0}}body{background:var(--bg-page);color:var(--text-primary);min-height:100vh;font-family:Noto Sans Thai,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--font-size-base);background-attachment:fixed;margin:0;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.01em;font-family:Kanit,Noto Sans Thai,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:600;line-height:1.25}a{color:var(--link-color);text-decoration:none}.navbar{background:var(--surface-nav);color:var(--text-primary);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.logo{color:var(--text-primary);letter-spacing:.01em;font-weight:700}.navbar nav{gap:14px;display:flex}.navbar nav a{color:var(--text-secondary);border-radius:8px;align-items:center;min-height:44px;padding:10px 12px;transition:color .2s,background-color .2s;display:inline-flex;position:relative}.navbar nav a:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;border-radius:999px;height:2px;transition:transform .22s;position:absolute;bottom:2px;left:10px;right:10px;transform:scaleX(0)}.navbar nav a:hover:after,.navbar nav a.active:after{transform:scaleX(1)}.navbar nav a.active{color:var(--text-primary);background:color-mix(in oklab, var(--accent) 22%, transparent)}.container{width:min(1560px,100% - clamp(20px,4vw,72px));max-width:1560px;margin:0 auto;padding:20px 0 32px;position:relative}.container>section+section{margin-top:14px}.sparkle-bg:before{content:"";background:radial-gradient(2px 2px at 20% 20%, var(--sparkle-color), transparent 60%), radial-gradient(2px 2px at 60% 15%, var(--sparkle-color), transparent 60%), radial-gradient(2px 2px at 75% 45%, var(--sparkle-color), transparent 60%), radial-gradient(2px 2px at 35% 70%, var(--sparkle-color), transparent 60%);pointer-events:none;opacity:.22;animation:none;position:absolute;inset:0}.hero,.card{background:var(--surface-card);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);border-radius:12px;padding:20px;position:relative;overflow:hidden}.hero:before,.card:before{content:"";background:radial-gradient(circle, color-mix(in oklab, var(--accent) 30%, transparent), transparent 68%);opacity:.45;pointer-events:none;border-radius:50%;width:170px;height:170px;position:absolute;top:-140px;right:-110px}.hero:after,.card:after{content:"";pointer-events:none;background:0 0;position:absolute;inset:0}.hero h1{font-size:var(--font-size-2xl);color:var(--text-primary);text-shadow:none;margin:0 0 8px}.hero h2{color:var(--accent);font-size:var(--font-size-lg);margin:0 0 10px}.hero p{color:var(--text-secondary);margin:8px 0;line-height:1.6}.hero-lead{font-size:var(--font-size-base);max-width:62ch}.hero-sublead{font-size:var(--font-size-sm);max-width:58ch;color:var(--text-muted)}.hero-dev{padding-top:0}.focus-line span{color:var(--accent-2);border-right:2px solid color-mix(in oklab, var(--accent-2) 80%, transparent);text-shadow:none;padding-right:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;animation:.8s step-end infinite typingBlink}.card{padding-top:0}.terminal-header{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;margin-bottom:16px;padding:12px 0;display:flex;position:relative}.terminal-header:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--accent) 42%, transparent), transparent);height:1px;animation:none;position:absolute;bottom:-1px;left:0;right:0}.terminal-header span{border-radius:50%;width:10px;height:10px}.terminal-header span:first-child{background:var(--terminal-dot-red)}.terminal-header span:nth-child(2){background:var(--terminal-dot-yellow)}.terminal-header span:nth-child(3){background:var(--terminal-dot-green)}.terminal-header code{color:var(--text-muted);margin-left:10px}.hero-grid{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.kicker{color:var(--accent);letter-spacing:.08em;font-weight:700;font-size:var(--font-size-xs)}.code-panel{border:1px solid var(--border-strong);background:var(--surface-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 20%, transparent);border-radius:10px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-panel p{color:color-mix(in oklab, var(--accent-2) 80%, white 20%);margin:0;line-height:1.75}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.stat-box{border:1px solid var(--border-strong);background:var(--surface-soft);border-radius:10px;gap:4px;padding:10px 12px;display:grid}.stat-box strong{color:var(--accent);font-size:20px}.stat-box span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.hero-actions a,.btn{border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;text-decoration:none;transition:transform .18s,filter .18s;display:inline-flex}.hero-actions a:hover,.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.hero-actions a:nth-child(2){color:var(--link-color);background:0 0}.btn-primary{border-color:var(--btn-border);background:var(--btn-bg)}.btn-secondary{color:var(--link-color);background:0 0}.btn:disabled{cursor:not-allowed;opacity:.6;filter:none;transform:none}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chips span{background:color-mix(in oklab, var(--accent) 18%, transparent);border:1px solid color-mix(in oklab, var(--accent) 52%, transparent);color:var(--text-primary);border-radius:999px;padding:6px 10px;font-size:14px;transition:transform .16s,border-color .16s}.chips span:hover{border-color:color-mix(in oklab, var(--accent) 70%, white 30%);transform:translateY(-1px)}.projects,.pricing-grid{gap:12px;display:grid}.project-item,.pricing-item{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;padding:14px;transition:transform .2s,border-color .2s,box-shadow .2s}.project-item:hover,.pricing-item:hover{border-color:color-mix(in oklab, var(--accent) 54%, transparent);box-shadow:0 8px 18px color-mix(in oklab, var(--accent) 18%, transparent);transform:translateY(-2px)}.home-overview-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.home-block{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;padding:16px}.home-block h3{font-size:var(--font-size-lg);margin:0 0 10px}.home-block p,.home-block li{font-size:var(--font-size-sm);text-wrap:pretty;line-height:1.72}.home-block p{max-width:56ch;margin:0 0 10px}.home-block ul{gap:6px;margin:0;padding-left:1.25rem;display:grid}.home-block li{max-width:52ch}.project-item h4,.pricing-item h3{font-size:var(--font-size-lg);margin:0 0 8px}.project-item p,.pricing-item p{line-height:1.5;font-size:var(--font-size-sm);margin:6px 0}.project-item small{color:var(--text-muted);font-size:var(--font-size-xs);margin-bottom:8px;display:block}.price-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-grid{gap:10px;display:grid}input,textarea{border:1px solid var(--border-strong);background:var(--surface-soft);width:100%;color:var(--text-primary);border-radius:8px;padding:10px;font-size:14px}.field-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.json-editor{min-height:400px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.admin-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.stack-admin{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:12px}.stack-admin h3{margin:0 0 10px}.stack-admin-input{grid-template-columns:1fr auto;gap:8px;margin-bottom:10px;display:grid}.stack-admin-input .field-label{grid-column:1/-1}.stack-admin-list{flex-wrap:wrap;gap:8px;display:flex}.stack-admin-item{border:1px solid color-mix(in oklab, var(--accent) 52%, transparent);background:color-mix(in oklab, var(--accent) 18%, transparent);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.stack-admin-remove{color:var(--text-primary);background:0 0;border:0;padding:0 3px}.stack-admin-remove:hover{filter:brightness(1.1)}.state-text{color:var(--text-muted)}.upload-row{border:1px solid var(--border-soft);border-radius:8px;gap:8px;padding:10px;display:grid}.events-table{gap:8px;margin-top:12px;display:grid}.event-row{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:8px;gap:6px;padding:10px;font-size:13px;display:grid}.card h2,.card h3,.card h4{color:var(--text-primary)}.card h2{font-size:var(--font-size-xl);margin:0 0 12px}.card h3{font-size:var(--font-size-lg);margin:0 0 10px}.card h4{font-size:var(--font-size-base);margin:0 0 8px}.card p,.card li{color:var(--text-secondary)}.section-lead{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 14px}.home-projects .section-lead,.home-overview .section-lead{max-width:68ch}.card-glow{box-shadow:0 0 0 1px color-mix(in oklab, var(--accent) 28%, transparent)}.workflow-card .timeline{gap:10px;display:grid}.timeline-item{grid-template-columns:40px 1fr;align-items:center;gap:10px;display:grid}.timeline-item span{border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);height:30px;color:var(--accent);box-shadow:none;border-radius:8px;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-flex}.timeline-item p{margin:0;line-height:1.5}.contact-list{line-height:1.9}.branch-pill{border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);color:var(--accent);border-radius:999px;margin-left:8px;padding:2px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:inline-block}.network-repo-private{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.network-file-list{gap:10px;margin-top:12px;display:grid}.network-file-card{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;padding:14px}.network-file-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.network-file-path{color:var(--accent-2);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.network-file-size{color:var(--text-muted);font-size:12px}.network-file-desc{color:var(--text-secondary);margin:10px 0 8px;font-size:14px;line-height:1.55}.network-file-cta{font-size:13px}.network-portfolio-page.container{width:min(1700px,100% - clamp(20px,3vw,64px));max-width:1700px}.network-instructor-meta h2{color:var(--text-primary);margin:0 0 10px}.network-instructor-meta h3{color:var(--accent);margin:18px 0 8px;font-size:16px}.network-instructor-meta h3:first-of-type{margin-top:0}.network-instructor-facts,.network-showcase-list,.network-cert-list{color:var(--text-secondary);margin:0;padding-left:1.15rem;line-height:1.65}.network-instructor-facts li,.network-showcase-list li,.network-cert-list li{margin:6px 0}.network-showcase-list a{color:var(--link-color)}.network-cert-list{padding-left:0;list-style:none}.network-cert-list li{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0;padding:10px 12px;display:flex}.network-cert-open{border:1px solid color-mix(in oklab, var(--accent) 45%, transparent);background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--text-primary);cursor:pointer;border-radius:8px;margin-left:auto;padding:6px 12px;font-family:inherit;font-size:13px}.network-cert-open:hover{background:color-mix(in oklab, var(--accent) 28%, transparent)}.network-cert-missing{color:var(--text-muted);font-size:12px}.network-browse-card{padding-bottom:20px}.network-browse-layout{grid-template-columns:minmax(200px,280px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.network-browse-sidebar-title{font-size:var(--font-size-sm);color:var(--text-primary);margin:0 0 6px}.network-browse-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0 0 12px;line-height:1.45}.network-tree-scroll{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;max-height:min(70vh,720px);padding:8px 6px 8px 0;overflow:auto}.network-tree-list{margin:0;padding:0;list-style:none}.network-tree-nested{border-left:1px solid var(--border-soft);margin:4px 0 0 6px;padding-left:8px}.network-tree-folder,.network-tree-file{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;margin:1px 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;transition:background .15s,color .15s;display:flex}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.btn:focus-visible,.network-tree-folder:focus-visible,.network-tree-file:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.network-tree-folder:hover,.network-tree-file:hover{background:color-mix(in oklab, var(--accent) 16%, transparent);color:var(--text-primary)}.network-tree-file.active{background:color-mix(in oklab, var(--accent) 28%, transparent);color:var(--accent-2)}.network-tree-chevron{opacity:.75;flex-shrink:0;width:1em;font-size:10px}.network-tree-folder-name{text-overflow:ellipsis;overflow:hidden}.network-browse-main{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:10px;min-height:280px;padding:16px}.network-view-empty,.network-view-error,.network-view-fallback{color:var(--text-secondary);line-height:1.6}.network-view-error{color:var(--status-danger)}.network-file-view-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.network-file-view-path{color:var(--accent-2);word-break:break-all;font-size:13px;line-height:1.5;display:block}.network-file-view-actions{flex-wrap:wrap;flex-shrink:0;gap:12px;display:flex}.network-file-view-actions a,.network-file-view-github{font-size:var(--font-size-xs)}.network-file-view-github{color:var(--accent-2)}.network-file-view-desc{color:var(--text-secondary);margin:0 0 14px;font-size:14px;line-height:1.55}.network-browse-pre{background:color-mix(in oklab, var(--surface-soft) 85%, black 15%);border:1px solid var(--border-soft);max-height:min(70vh,800px);color:var(--text-primary);white-space:pre;tab-size:2;border-radius:10px;margin:0;padding:14px;font-size:12.5px;line-height:1.45;overflow:auto}.network-browse-media{text-align:center}.network-browse-image{border:1px solid var(--border-soft);border-radius:8px;max-width:100%;height:auto}.network-browse-pdf{background:var(--surface-soft);border:none;border-radius:8px;width:100%;min-height:min(75vh,900px)}@media (width<=860px){.home-overview-grid{grid-template-columns:1fr}.home-overview,.home-projects{padding:16px}.home-overview .section-lead,.home-projects .section-lead{margin-bottom:12px}.project-item,.home-block{padding:12px}.home-block p,.home-block li{line-height:1.68}.network-browse-layout{grid-template-columns:1fr}.network-tree-scroll{max-height:40vh}.network-tree-folder,.network-tree-file{min-height:44px}}.footer{border:1px solid var(--border-soft);background:var(--surface-card);text-align:center;border-radius:10px;width:min(1560px,100% - clamp(20px,4vw,72px));margin:10px auto 24px;padding:12px 16px}.footer p{color:var(--text-muted);margin:0;font-size:13px}@keyframes typingBlink{0%,to{border-right-color:color-mix(in oklab, var(--accent-2) 80%, transparent)}50%{border-right-color:#0000}}@keyframes logoFlow{0%{background-position:0%}to{background-position:200%}}@keyframes shineSweepOnce{0%{opacity:0;transform:translate(-120%)}18%{opacity:1}to{opacity:0;transform:translate(120%)}}@keyframes pulseLine{0%,to{opacity:.25}50%{opacity:.9}}@keyframes floatSparkle{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:.9;transform:translateY(-4px)}}@media (width<=860px){.hero-grid{grid-template-columns:1fr}.hero-actions{gap:8px}.stats-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-page:radial-gradient(circle at top, #eef4ff 0%, #e4edf9 56%, #dde6f3 100%);--text-primary:#1b2b44;--text-secondary:#324c71;--text-muted:#5f78a3;--surface-nav:oklab(96.9921% -.00178489 -.0140364);--surface-card:#edf3fc;--surface-soft:#f8fbff;--surface-elevated:#ecf2fb;--border-soft:oklab(57.0517% -.0114275 -.0721738/.26);--border-strong:oklab(57.2425% -.0454202 -.180147/.42);--accent:#1275e2;--accent-2:#c55b00;--link-color:#1275e2;--btn-bg:linear-gradient(135deg, #1275e2, #5f78a3);--btn-border:#1275e2;--focus-ring:#1275e2;--sparkle-color:transparent;--shadow-soft:0 10px 24px #1b2b4414}body{background:var(--bg-page);color:var(--text-primary)}.navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in oklab, var(--surface-nav) 85%, transparent);box-shadow:none;border-bottom:0}.navbar:after{content:"";background:oklab(76.2826% -.00979087 -.0103613/.4);height:1px;position:absolute;bottom:0;left:0;right:0}.logo{letter-spacing:-.02em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}.navbar nav a{color:var(--text-secondary);border-radius:2px}.navbar nav a.active{border-bottom:2px solid var(--text-primary);background:0 0}.container{width:min(1320px,100% - clamp(20px,4vw,72px));max-width:1320px}.hero,.card,.home-block,.project-item,.pricing-item,.network-file-card,.network-browse-main,.network-cert-list li,.upload-row,.event-row{border:none;box-shadow:none!important}.hero,.card{background:var(--surface-card);border-radius:8px}.home-block,.project-item,.pricing-item,.network-file-card,.network-browse-main{background:var(--surface-soft)}.terminal-header{border-bottom:1px solid oklab(76.2826% -.00979087 -.0103613/.35)}.terminal-header:after{display:none}.terminal-header code,.kicker,.section-lead,.state-text,.branch-pill,.network-repo-private,.network-browse-hint,.project-item small,.footer p{letter-spacing:.01em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hero-grid{gap:28px}.hero-lead{font-size:var(--font-size-lg);color:var(--text-secondary)}.hero-sublead{color:var(--text-muted)}.hero-actions a,.btn{border-radius:6px}.btn-secondary,.hero-actions a:nth-child(2){border:1px solid var(--border-strong)}.home-overview-grid{gap:18px}.home-block{border-radius:6px}.home-block ul,.card ul{gap:10px;display:grid}.project-item:hover,.pricing-item:hover,.network-tree-folder:hover,.network-tree-file:hover{box-shadow:none;background:oklab(95.4117% -.00410198 -.00582027);transform:none}.network-tree-scroll{background:oklab(97.268% -.00230322 -.00396056);border:none}.network-browse-pre{background:#f7f9fb;border:1px solid oklab(76.2826% -.00979087 -.0103613/.28)}.footer{background:0 0;border:0;border-top:1px solid oklab(76.2826% -.00979087 -.0103613/.36);border-radius:0;width:min(1320px,100% - clamp(20px,4vw,72px));padding-inline:0}@media (width<=860px){.container,.footer{width:calc(100% - 24px)}.hero,.card{padding:14px}}.page-home{gap:30px;padding-top:56px;display:grid}.hero-ledger{grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;padding:24px 0;display:grid}.hero-chip{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;background:color-mix(in oklab, var(--accent) 18%, var(--surface-soft));color:var(--text-secondary);border-radius:2px;padding:5px 10px;display:inline-block}.hero-ledger-title{letter-spacing:-.03em;margin:14px 0 10px;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.95}.hero-ledger-title span{color:var(--accent);font-style:italic}.hero-ledger-subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 14px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hero-ledger-copy{max-width:62ch;color:var(--text-secondary);margin:8px 0}.hero-ledger-copy.secondary{color:var(--text-muted)}.hero-ledger-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-ledger-photo{isolation:isolate;background:0 0;min-height:clamp(320px,44vw,520px);position:relative;overflow:hidden}.hero-ledger-photo:before{content:"";background:radial-gradient(60% 46% at 50% 28%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 72%), radial-gradient(52% 46% at 50% 84%, color-mix(in oklab, var(--accent-2) 16%, transparent), transparent 76%);filter:blur(2px);pointer-events:none;z-index:1;border-radius:22px;position:absolute;inset:6% 5%}.hero-ledger-photo:after{content:"";border:1px dashed color-mix(in oklab, var(--border-ghost) 70%, transparent);opacity:.45;pointer-events:none;z-index:1;border-radius:18px;position:absolute;inset:12% 10%}.home-ledger-block{background:var(--surface-soft);border-radius:8px;padding:18px}.ricecare-spotlight{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 20%, var(--surface-soft)), var(--surface-soft) 55%, color-mix(in oklab, var(--accent-2) 12%, var(--surface-soft)))}.ricecare-meta{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.ricecare-meta span{background:color-mix(in oklab, var(--surface-card) 78%, var(--surface-soft));border:1px solid var(--border-subtle);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);color:var(--text-secondary);border-radius:4px;padding:6px 10px}.ricecare-actions{flex-wrap:wrap;gap:10px;display:flex}.ledger-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.ledger-head span{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);color:var(--accent);letter-spacing:.12em}.ledger-head h2{font-size:var(--font-size-xl);margin:0}.projects-ledger{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.page-standard{gap:18px;padding-top:60px;display:grid}.page-intro{padding:8px 2px 2px}.page-intro h1{letter-spacing:-.03em;margin:8px 0 10px;font-size:clamp(2rem,4vw,3.4rem);line-height:.95}.page-intro p{max-width:66ch;color:var(--text-secondary);margin:0}.home-quick-grid,.home-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.home-quick-item{color:inherit;background:#fff;border:1px solid oklab(76.2826% -.00979087 -.0103613/.24);border-radius:8px;padding:16px}.home-quick-item h3{font-size:var(--font-size-lg);margin:0 0 8px}.home-quick-item p{color:var(--text-secondary);margin:0}.home-mini-list{color:var(--text-secondary);gap:8px;margin:10px 0 0;padding-left:1rem;display:grid}.home-quick-item:hover{background:oklab(95.4117% -.00410198 -.00582027)}.project-meta{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:14px}@media (width<=980px){.hero-ledger,.projects-ledger,.home-quick-grid,.home-profile-grid{grid-template-columns:1fr}}.page-contact-ledger{grid-template-columns:.95fr 1.05fr;align-items:start;gap:28px;padding-top:64px;display:grid}.contact-ledger-left header h1{margin:10px 0 8px;font-size:clamp(2.2rem,4.2vw,4rem);line-height:.95}.contact-ledger-left header a{color:var(--accent);font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500;display:inline-block}.contact-ledger-intro{max-width:56ch;color:var(--text-secondary);margin:0 0 12px}.ledger-mini{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.contact-ledger-meta{border-top:1px solid oklab(76.2826% -.00979087 -.0103613/.3);gap:16px;margin-top:24px;padding-top:16px;display:grid}.contact-ledger-meta span{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;display:block}.contact-ledger-panel{background:#fff;border-radius:8px;padding:18px}.contact-ledger-link{margin-top:12px}.contact-ledger-certs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px;display:grid}.page-network-ledger{gap:18px;padding-top:60px;display:grid}.page-network-ledger .home-ledger-block h2{margin-bottom:8px}.page-network-ledger .network-browse-card{padding-bottom:18px}@media (width<=980px){.page-contact-ledger{grid-template-columns:1fr}.page-intro h1{font-size:clamp(1.7rem,8vw,2.5rem)}}.navbar nav{gap:clamp(14px,2.2vw,26px)}.navbar nav a{min-height:44px;font-size:var(--font-size-sm);border-bottom:2px solid #0000;padding:10px 0;font-weight:500}.navbar nav a:after{display:none}.navbar nav a.active{border-bottom-color:var(--text-primary);font-weight:600}.page-home,.page-standard,.page-network-ledger{gap:22px}.home-ledger-block{padding:clamp(16px,2vw,24px)}.navbar{grid-template-columns:auto 1fr auto;align-items:end}.navbar nav{justify-self:center}.nav-action{border:1px solid var(--border-ghost);color:var(--text-secondary);letter-spacing:.08em;background:0 0;border-radius:999px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:color .14s,border-color .14s,background .14s}.nav-action:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-elevated)}.lang-switch{border:1px solid var(--border-ghost);background:color-mix(in oklab, var(--surface-soft) 86%, white 14%);cursor:pointer;border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;gap:0;width:96px;height:36px;padding:0;transition:border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.lang-switch:hover{border-color:var(--border-strong);box-shadow:0 8px 20px color-mix(in oklab, var(--accent) 14%, transparent)}.lang-switch-track{pointer-events:none;border-radius:999px;position:absolute;inset:3px}.lang-switch-thumb{width:calc(50% - 1px);color:var(--btn-text);background:linear-gradient(130deg, var(--accent), color-mix(in oklab, var(--accent) 55%, var(--accent-2)));box-shadow:0 6px 14px color-mix(in oklab, var(--accent) 28%, transparent), 0 0 0 1px color-mix(in oklab, var(--accent) 34%, #fff 12%) inset;border-radius:999px;transition:transform .22s cubic-bezier(.22,.8,.3,1);position:absolute;inset:0 auto 0 0}.lang-switch.is-en .lang-switch-thumb{transform:translate(calc(100% + 2px))}.lang-switch-label{z-index:1;letter-spacing:.08em;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.74rem;transition:color .15s;position:relative}.lang-switch-label.active{color:var(--btn-text)}.lang-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:14px;display:flex}.footer p{margin:0}.footer-links{align-items:center;gap:14px;display:flex}.footer-links a{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.82rem}.hero-ledger-title{letter-spacing:-.03em;max-width:13ch;font-size:clamp(2.1rem,4.1vw,4rem);line-height:1.03}.hero-ledger-subtitle{letter-spacing:.1em}.hero-ledger-copy{max-width:60ch}.hero-ledger-right{align-self:stretch}.hero-terminal{z-index:2;border:1px solid color-mix(in oklab, var(--accent) 32%, #b9cae7 20%);background:radial-gradient(140% 120% at 100% 100%,#2f518d2e,#0000 58%),linear-gradient(160deg,#060b18fa,#0b1528f2);border-radius:16px;position:absolute;inset:10% 8% 9%;overflow:hidden;box-shadow:0 22px 46px #080f1f5c,inset 0 0 0 1px #aac2e81f}.hero-terminal-bar{border-bottom:1px solid color-mix(in oklab, var(--accent) 20%, #20314f 80%);background:linear-gradient(180deg, #0b1323fa, #0a1221eb), var(--surface-terminal-bar);align-items:center;gap:8px;padding:12px 14px;display:flex}.hero-terminal-bar span{border-radius:999px;width:8px;height:8px}.hero-terminal-bar span:first-child{background:var(--status-red)}.hero-terminal-bar span:nth-child(2){background:var(--status-yellow)}.hero-terminal-bar span:nth-child(3){background:var(--status-green)}.hero-terminal-bar p{letter-spacing:.09em;color:color-mix(in oklab, var(--text-terminal-muted) 92%, #e9f2ff);margin:0 0 0 4px;font-family:JetBrains Mono,monospace;font-size:.72rem}.hero-terminal-code{height:calc(100% - 42px);color:color-mix(in oklab, var(--text-terminal) 95%, #f0f6ff 5%);margin:0;padding:18px 16px 16px;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.68;overflow:auto}.hero-terminal-code code{gap:6px;display:grid}.hero-terminal-code .line{white-space:pre-wrap;text-shadow:0 0 .2px #d8e9ff2e}.hero-terminal-code .line.cmd{color:color-mix(in oklab, #edf4ff 90%, var(--accent))}.hero-terminal-code .line.ok{color:var(--status-success)}.hero-terminal-code .line.fn{color:var(--status-info)}.hero-terminal-code .token-key{color:oklab(82.8244% -.0141882 -.0847896)}.hero-terminal-code .token-fn{color:oklab(77.2352% -.0167501 -.115646)}.project-item{gap:12px;display:grid}.project-head{justify-content:space-between;align-items:center;display:flex}.project-icon{color:var(--text-muted);letter-spacing:.08em;font-family:JetBrains Mono,monospace}.project-item small{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.76rem}.project-cta{text-transform:uppercase;letter-spacing:.12em;color:var(--text-primary);font-size:.72rem}.contact-ledger-panel{border:1px solid var(--border-subtle);background:var(--surface-0);color:color-mix(in oklab, #dbe7fb 88%, var(--accent))}.contact-ledger-panel h2{letter-spacing:-.02em;color:color-mix(in oklab, #edf4ff 92%, var(--accent));margin:0 0 6px;font-size:clamp(1.8rem,2.2vw,2.4rem);line-height:1.08}.contact-ledger-panel>p{max-width:52ch;color:color-mix(in oklab, #cad8ef 88%, var(--accent));font-size:var(--font-size-sm);margin:0 0 14px;line-height:1.7}.contact-list{color:color-mix(in oklab, #d6e2f6 90%, var(--accent));margin:12px 0 0;padding-left:1.3rem;line-height:1.85}.contact-list li{color:inherit;font-size:var(--font-size-base)}.contact-list a,.contact-ledger-link a{color:color-mix(in oklab, #eef4ff 90%, var(--accent));text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.contact-list a:hover,.contact-ledger-link a:hover{color:color-mix(in oklab, #fff 78%, var(--accent-2))}.contact-ledger-form{gap:8px;margin:20px 0 16px;display:grid}.contact-ledger-form label{text-transform:uppercase;letter-spacing:.14em;color:color-mix(in oklab, #c7d9f6 86%, var(--accent));margin-top:6px;font-size:.74rem;font-weight:600}.contact-ledger-form input,.contact-ledger-form textarea{color:color-mix(in oklab, #eff5ff 92%, var(--accent));-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));caret-color:color-mix(in oklab, #e8f2ff 90%, var(--accent));background:oklab(32.9866% -.00948452 -.0580135);border:1px solid oklab(57.0517% -.0114275 -.0721738/.5);border-radius:10px;padding:11px 12px;line-height:1.5;transition:border-color .15s,background-color .15s,box-shadow .15s}.contact-ledger-form input::placeholder,.contact-ledger-form textarea::placeholder{color:color-mix(in oklab, #9fb3d1 76%, var(--neutral,#74777f));opacity:1}.contact-ledger-form input:-webkit-autofill{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form input:-webkit-autofill:hover{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form input:-webkit-autofill:focus{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form textarea:-webkit-autofill{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form textarea:-webkit-autofill:hover{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form textarea:-webkit-autofill:focus{-webkit-text-fill-color:color-mix(in oklab, #eff5ff 92%, var(--accent));transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px oklab(32.9866% -.00948452 -.0580135)}.contact-ledger-form input:focus,.contact-ledger-form textarea:focus{border-color:color-mix(in oklab, var(--accent) 72%, #f5f8ff 28%);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 26%, transparent);background:oklab(35.1108% -.011523 -.0626182);outline:none}.contact-ledger-form .btn-primary{font-size:var(--font-size-base);margin-top:6px;font-weight:600}.contact-form-feedback{font-size:var(--font-size-xs);color:color-mix(in oklab, #bff3d9 78%, var(--status-green));margin:2px 0 0}.contact-form-feedback.is-error{color:color-mix(in oklab, #ffd3d1 82%, var(--status-red))}.contact-captcha{margin-top:4px}.contact-honeypot{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important}.contact-ledger-link{color:color-mix(in oklab, #dbe7fb 84%, var(--accent));margin-top:14px}.contact-line-qr{gap:8px;margin-top:14px;display:inline-grid}.contact-line-qr p{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab, #c7d9f6 86%, var(--accent));margin:0}.contact-line-qr a{background:oklab(35.1108% -.011523 -.0626182);border:1px solid oklab(57.0517% -.0114275 -.0721738/.46);border-radius:12px;padding:8px;line-height:0;transition:border-color .15s,transform .15s;display:inline-block}.contact-line-qr a:hover{border-color:color-mix(in oklab, var(--accent) 72%, #f5f8ff 28%);transform:translateY(-1px)}.contact-line-qr img{border-radius:8px;width:132px;height:132px;display:block}@media (width<=1100px){.hero-ledger{grid-template-columns:1fr}.hero-ledger-title{max-width:18ch}}@media (width<=820px){.navbar{grid-template-columns:1fr;align-items:center;gap:8px}.navbar nav{flex-wrap:wrap;justify-self:start;gap:12px 18px}.lang-switch{justify-self:start}.footer{flex-direction:column;align-items:flex-start}.hero-ledger-title{font-size:clamp(1.8rem,9vw,2.6rem);line-height:1.08}}@media (width<=620px){.hero-ledger-photo{min-height:260px}.hero-terminal{inset:8% 5%}.project-item{gap:10px}}
