:root{--bg:#f7f3ec;--surface:#fff;--ink:#17140f;--ink-soft:#5a544a;--border:#e4ddd0;--accent:#c73e2c;--accent-ink:#fff;--tag-update:#2f6fed;--tag-launch:#1a9e5c;--tag-fail:#d9711a;--sans:-apple-system, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.05}button,input,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent)}.app{max-width:1100px;min-height:100svh;margin:0 auto;padding:0 20px 80px}.feed-wrap{max-width:680px}.feed-wrap-wide{max-width:900px}.site-footer{font-family:var(--mono);color:var(--ink-soft);justify-content:center;gap:10px;padding:40px 0 24px;font-size:12px;display:flex}.site-footer a{color:var(--ink-soft);text-decoration:underline}.site-footer a:hover{color:var(--accent)}.quick-post-fab{background:var(--accent);color:#fff;cursor:pointer;z-index:40;border:none;border-radius:50%;width:56px;height:56px;font-size:22px;position:fixed;bottom:28px;right:28px;box-shadow:0 14px 28px -8px #c73e2c8c}.quick-post-fab:hover{transform:scale(1.06)}.modal-overlay{z-index:50;background:#17140f8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg);border-radius:14px;width:100%;max-width:520px;padding:20px;box-shadow:0 30px 60px -20px #00000080}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pull-quote{border-left:4px solid var(--accent);color:var(--ink);margin:16px 0 0;padding:0 0 0 20px;font-size:24px;font-style:italic;font-weight:800;line-height:1.3}.danger-zone{border-top:2px dashed var(--border);margin-top:40px;padding-top:24px}.danger-text{color:var(--ink-soft);margin:6px 0 14px;font-size:14px}.danger-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:10px;padding:10px 18px;font-weight:700}.danger-btn:disabled{opacity:.35;cursor:default}.bento-intro{border:2px solid var(--border);background:var(--surface);border-radius:18px;align-items:flex-start;gap:24px;margin-top:16px;padding:28px;display:flex;box-shadow:0 20px 34px -24px #00000026}.bento-photo{object-fit:cover;border-radius:16px;flex-shrink:0;width:96px;height:96px}.bento-photo.avatar-fallback{background:var(--accent);color:#fff;justify-content:center;align-items:center;font-size:32px;font-weight:800;display:flex}.bento-intro-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bento-hello{margin:0 0 4px;font-size:28px;line-height:1.2}.edit-portfolio-btn{border:2px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.edit-portfolio-btn:hover{border-color:var(--accent)}.section-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:28px 0 4px;font-size:13px;font-weight:700}.highlight-text{background:linear-gradient(100deg, var(--accent), #f2934a);color:#0000;-webkit-background-clip:text;background-clip:text}.bento-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid}.bento-card{border:2px solid var(--border);background:var(--surface);color:var(--ink);border-radius:14px;flex-direction:column;grid-column:span 1;min-height:130px;padding:18px;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.bento-card:hover{border-color:var(--accent);transform:translateY(-3px)}.bento-featured{grid-column:span 3}@media (width<=720px){.bento-grid{grid-template-columns:1fr}.bento-featured{grid-column:span 1}.bento-intro{flex-direction:column}}.empty-cta{border:2px dashed var(--border);width:100%;color:var(--ink-soft);cursor:pointer;text-align:center;background:0 0;border-radius:12px;margin-top:8px;padding:20px;font-size:14px;font-weight:700;display:block}.empty-cta:hover{border-color:var(--accent);color:var(--accent)}.pin-btn{cursor:pointer;opacity:.3;filter:grayscale();background:0 0;border:none;padding:0;font-size:14px}.pin-btn:hover{opacity:.8}.pin-btn.pinned{opacity:1;filter:none}.bento-pinned{border-color:var(--accent);border-width:2px}.bento-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.bento-badge{border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.bento-arrow{color:var(--ink-soft);font-size:15px}.bento-title{margin:0 0 4px;font-size:16px;font-weight:800}.bento-desc{color:var(--ink-soft);word-break:break-word;margin:0 0 8px;font-size:13px}.bento-image{object-fit:cover;border-radius:8px;width:100%;max-height:180px;margin:6px 0}.bento-meta{color:var(--ink-soft);font-family:var(--mono);margin:auto 0 0;font-size:11px}.topbar{border-bottom:3px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px 0 16px;display:flex}@media (width<=640px){.top-nav{-webkit-overflow-scrolling:touch;gap:4px;max-width:100%;overflow-x:auto}.nav-pill{flex-shrink:0;padding:7px 10px;font-size:13px}}.wordmark{letter-spacing:-.03em;font-size:26px;font-weight:800}.wordmark:after{content:"_";color:var(--accent);animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.user-chip{font-family:var(--mono);color:var(--ink-soft);align-items:center;gap:12px;font-size:14px;display:flex}.login-btn{background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:3px;padding:10px 16px;font-size:14px;font-weight:700}.login-btn.big{margin-top:24px;padding:16px 28px;font-size:16px}.link-btn{cursor:pointer;font-family:var(--mono);color:var(--ink-soft);background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.hero{border-bottom:3px solid var(--ink);flex-wrap:wrap;align-items:flex-start;gap:56px;padding:48px 0 44px;display:flex}.hero-copy{flex:1;min-width:320px}.hero-eyebrow{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);margin:0 0 14px;font-size:19px;font-weight:700;text-decoration-thickness:3px}.hero h1{letter-spacing:-.01em;font-size:58px;line-height:1.12}.hero .highlight{background:linear-gradient(100deg, var(--accent), #f2934a);color:#fff;border-radius:10px;padding:2px 14px;display:inline-block;transform:rotate(-1.5deg)}.hero p{color:var(--ink-soft);border-left:3px solid var(--border);max-width:460px;margin:24px 0 0;padding-left:16px;font-size:19px;line-height:1.55}.hero-preview{flex-shrink:0;position:relative}.hero-preview:before{content:"";filter:blur(46px);z-index:0;pointer-events:none;background:radial-gradient(circle,#c73e2c59,#f2934a2e 55%,#0000 75%);width:84%;height:90%;position:absolute;top:8%;left:8%}.browser-mock{z-index:1;background:#17140f;border:1px solid #332e25;border-radius:12px;width:420px;position:relative;overflow:hidden;box-shadow:0 30px 50px -20px #0006}.browser-chrome{border-bottom:1px solid #332e25;align-items:center;gap:8px;padding:12px 14px;display:flex}.browser-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.browser-url{color:#a89f8f;font-family:var(--mono);background:#221f18;border-radius:6px;flex:1;margin-left:10px;padding:4px 10px;font-size:12px}.browser-body{padding:22px 20px 20px}.browser-profile{align-items:center;gap:12px;margin-bottom:18px;display:flex}.browser-profile .phone-avatar{margin:0}.browser-profile .phone-name{text-align:left}.browser-profile .phone-handle{text-align:left;margin:0}.floating-badge{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700;position:absolute;top:-38px;left:-28px;transform:rotate(-4deg);box-shadow:0 12px 24px -8px #00000040}.floating-badge span{color:var(--ink-soft);margin-top:2px;font-size:11px;font-weight:400;display:block}.phone-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 10px;font-weight:800;display:flex}.phone-name{color:#f3efe6;text-align:center;margin:0;font-size:15px;font-weight:800}.phone-handle{color:#a89f8f;text-align:center;font-size:12px;font-family:var(--mono);margin:2px 0 18px}.phone-post{background:#221f18;border-radius:10px;margin-bottom:8px;padding:10px 12px}.phone-post p{color:#f3efe6;margin:4px 0 0;font-size:13px;font-weight:700}@media (width<=720px){.hero-preview{margin:0 auto}}.stack-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--tag-color);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.top-nav{align-items:center;gap:8px;display:flex}.nav-pill{cursor:pointer;color:var(--ink);background:0 0;border:2px solid #0000;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700}.nav-pill:hover{background:var(--border)}.nav-pill.active{background:var(--ink);color:var(--bg)}.nav-avatar-wrap{margin-left:6px;position:relative}.nav-avatar{cursor:pointer;border:2px solid var(--border);width:34px;height:34px}.nav-avatar:hover{border-color:var(--accent)}.avatar-menu{background:var(--surface);border:2px solid var(--border);z-index:60;border-radius:10px;flex-direction:column;min-width:160px;display:flex;position:absolute;top:42px;right:0;overflow:hidden;box-shadow:0 16px 30px -14px #0000004d}.avatar-menu button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;padding:10px 14px;font-size:14px;font-weight:700}.avatar-menu button:hover{background:var(--border)}.follow-btn{border:2px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}.follow-btn.following{background:var(--surface);color:var(--ink)}.gradient-btn{background:linear-gradient(100deg, var(--accent), #f2934a);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 22px;font-size:15px;font-weight:800;box-shadow:0 10px 20px -8px #c73e2c80}.gradient-btn:disabled{opacity:.5;cursor:default}.onboarding{background:var(--surface);border:2px solid var(--border);border-radius:18px;max-width:520px;margin:40px auto;padding:48px 32px;box-shadow:0 30px 50px -30px #00000040}.onboarding h1{margin-bottom:24px;font-size:34px}.onboarding-form{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:18px 0 4px;font-size:12px}.field-label:first-child{margin-top:0}.field-hint{color:var(--ink-soft);margin:4px 0 0;font-size:12px}.handle-input{border:2px solid var(--border);background:var(--surface);border-radius:6px;align-items:center;padding:4px 4px 4px 12px;display:flex}.handle-input span{font-family:var(--mono);color:var(--ink-soft);font-size:14px}.handle-input input{background:0 0;border:none;outline:none;flex:1;padding:8px 6px;font-size:15px}.text-input{border:2px solid var(--border);background:var(--surface);border-radius:6px;outline:none;padding:10px 12px;font-size:15px}.text-input:focus{border-color:var(--accent)}.handle-input:has(input:focus){border-color:var(--accent)}.link-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.link-type-picker{border:2px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.link-type-chip{background:var(--surface);border:none;border-right:1px solid var(--border);cursor:pointer;opacity:.4;padding:8px 10px;font-size:16px}.link-type-chip:last-child{border-right:none}.link-type-chip.active{opacity:1;background:var(--bg)}.link-row input{border:2px solid var(--border);background:var(--surface);border-radius:6px;outline:none;flex:1;padding:8px 10px}.link-remove{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.link-remove:hover{color:var(--accent)}.avatar-upload{align-items:center;gap:14px;margin-bottom:4px;display:flex}.upload-btn{border:2px solid var(--border);cursor:pointer;border-radius:6px;padding:8px 14px;text-decoration:none;display:inline-block}.upload-btn:hover{border-color:var(--accent)}.composer-image-preview{margin-top:10px;display:inline-block;position:relative}.composer-image-preview img{border-radius:8px;max-height:160px;display:block}.composer-image-preview .link-remove{color:#fff;background:#0009;border-radius:50%;width:22px;height:22px;position:absolute;top:4px;right:4px}.post-image{border-radius:10px;max-width:100%;margin:4px 0 10px;display:block}.form-error{color:var(--accent);margin:10px 0 0;font-size:14px;font-weight:700}.project-editor{border:2px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:12px;padding:14px}.project-editor-row{flex-wrap:wrap;gap:8px;display:flex}.project-editor-row .text-input{flex:1}.project-editor-row select{border:2px solid var(--border);background:var(--surface);border-radius:6px;padding:8px}.project-thumb{object-fit:cover;border-radius:6px;width:40px;height:40px}.discover{max-width:680px;padding:40px 0}.discover h1{font-size:34px}.discover-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:28px;display:grid}.discover-card{text-align:center;border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:24px 16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.discover-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 20px 30px -18px #c73e2c59}.discover-card .avatar-lg{margin-bottom:8px}.discover-name{margin:0;font-size:15px;font-weight:800}.discover-handle{font-family:var(--mono);color:var(--accent);margin:0;font-size:12px}.discover-tagline{color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.4}.portfolio-header{gap:16px;padding:12px 0 8px;display:flex;position:relative}.portfolio-header:before{content:"";filter:blur(30px);z-index:0;background:radial-gradient(circle,#c73e2c40,#0000 70%);width:120px;height:120px;position:absolute;top:-20px;left:-20px}.avatar-lg{z-index:1;border:3px solid var(--surface);width:64px;height:64px;font-size:22px;position:relative;box-shadow:0 6px 16px -6px #0000004d}.portfolio-name{margin:0;font-size:24px}.portfolio-tagline{color:var(--ink-soft);margin:4px 0 8px;font-size:15px}.portfolio-links{gap:8px;display:flex}.portfolio-link-icon{border:2px solid var(--border);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.portfolio-link-icon:hover{border-color:var(--accent);transform:translateY(-2px)}.hashtag{color:var(--accent);cursor:pointer;font-weight:700}.hashtag:hover{text-decoration:underline}.project-badge{font-family:var(--mono);color:var(--accent);background:#c73e2c1a;border-radius:999px;margin:4px 0 8px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.project-picker{border:2px solid var(--border);background:var(--surface);border-radius:6px;width:100%;margin-top:10px;padding:8px 10px;font-size:13px}.feed-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 4px;display:flex}.sort-toggle{gap:4px;display:flex}.sort-toggle button{border:2px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.sort-toggle button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hashtag-filter-chip{color:var(--accent);cursor:pointer;background:#c73e2c1a;border:none;border-radius:999px;margin:6px 0 12px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.post-actions{align-items:center;gap:16px;margin-top:8px;display:flex}.like-btn{cursor:pointer;font-family:var(--mono);color:var(--ink-soft);background:0 0;border:none;padding:2px 0;font-size:13px}.like-btn.liked{color:var(--accent);font-weight:700}.post-delete{margin:0}.comment-thread{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.comment{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.comment-avatar{flex-shrink:0;width:26px;height:26px}.comment-body{flex:1;min-width:0}.comment-meta{margin:0;font-size:12px}.comment-meta span{color:var(--ink-soft);font-family:var(--mono);margin-left:6px}.comment-text{margin:2px 0 0;font-size:14px}.comment-delete{font-size:12px}.comment-form{gap:8px;margin-top:8px;display:flex}.comment-form input{border:2px solid var(--border);background:var(--surface);border-radius:999px;outline:none;flex:1;padding:7px 14px;font-size:13px}.comment-form input:focus{border-color:var(--accent)}.comment-form button{background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}.comment-form button:disabled{opacity:.4}.kofi-link{font-weight:700;color:var(--accent)!important}.portfolio-bar{flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0;display:flex}.portfolio-title{margin-right:auto;font-weight:800}.portfolio-card{border:2px solid var(--border);background:var(--surface);border-radius:14px;margin-top:16px;padding:24px 24px 4px;box-shadow:0 20px 34px -24px #00000026}.profile-stats{border-top:1px solid var(--border);font-family:var(--mono);gap:24px;margin-top:16px;padding:20px 0 16px;display:flex}.profile-stats strong{font-size:28px;font-family:var(--sans);font-weight:800;display:block}.profile-stats span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.composer{border:2px solid var(--border);background:var(--surface);border-radius:14px;margin-bottom:28px;padding:20px 20px 24px;box-shadow:0 20px 34px -22px #0000002e}.composer-main{align-items:flex-start;gap:12px;display:flex}.composer-main .avatar{flex-shrink:0;width:40px;height:40px}.composer textarea{border:none;border-bottom:2px solid var(--border);resize:none;background:0 0;outline:none;width:100%;padding:8px 0;font-size:19px}.composer textarea:focus{border-bottom-color:var(--accent)}.char-counter{text-align:right;font-family:var(--mono);color:var(--ink-soft);margin:4px 0 0;font-size:11px}.composer-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.composer-row input{border:none;border-bottom:1px solid var(--border);min-width:120px;font-family:var(--mono);background:0 0;outline:none;flex:1;padding:6px 0;font-size:13px}.tag-picker{gap:6px;display:flex}.tag-choice{border:1px solid var(--border);font-size:12px;font-family:var(--mono);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:999px;padding:5px 10px}.tag-choice.active{background:var(--tag-color);border-color:var(--tag-color);color:#fff;font-weight:700}.post-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:9px 18px;font-size:14px;font-weight:700}.post-btn:disabled{opacity:.4;cursor:default}.feed{flex-direction:column;display:flex}.feed-column{border:2px solid var(--border);background:var(--surface);border-radius:14px;margin-top:24px;padding:4px 20px 8px;box-shadow:0 20px 34px -24px #00000026}.feed-column-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--border);margin:0;padding:16px 0 8px;font-size:12px;font-weight:700}.feed-column .post-card{border-left:none;padding:16px 0}.feed-column .post-card:last-child{border-bottom:none}.empty{color:var(--ink-soft);font-family:var(--mono);padding:40px 0;font-size:14px}.post-card{border-left:3px solid var(--tag-color,var(--border));border-bottom:1px solid var(--border);margin-left:2px;padding:20px 0 20px 18px}.post-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.avatar-fallback{background:var(--ink);color:var(--bg);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.post-meta{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.post-name{cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;font-weight:800}.post-time{font-family:var(--mono);color:var(--ink-soft);font-size:12px}.tag-pill{background:var(--tag-color);color:#fff;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.post-text{white-space:pre-wrap;margin:0 0 6px;font-size:16px;line-height:1.45}.post-link{font-family:var(--mono);word-break:break-all;font-size:13px}
