@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--orange:#006b75;--orange-dark:#005058;--orange-light:#008693;--bg:#f6f6ef;--bg-card:#fff;--text:#1a1a1a;--text-muted:#828282;--text-light:#aaa;--border:#e8e8e0;--upvote:#006b75;--downvote:#7070cc;--link:#000;--link-visited:#666;--header-height:56px;--max-width:900px;--radius:6px;--shadow:0 1px 3px rgba(0,0,0,.08)}body,html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.wrapper{max-width:var(--max-width);margin:0 auto;padding:0 16px}.site-header{background:var(--orange);height:var(--header-height);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(255,102,0,.25)}.header-inner,.site-header{display:flex;align-items:center}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 16px;width:100%;gap:16px}.site-logo{display:flex;align-items:center;gap:8px;flex-shrink:0}.logo-box{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--orange);letter-spacing:-.5px}.logo-box,.logo-img{width:28px;height:28px;background:#fff;border-radius:4px}.logo-img{object-fit:contain;padding:2px}.logo-text{font-weight:700;font-size:15px;color:#fff;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:4px;flex:1 1}.header-nav a{color:hsla(0,0%,100%,.85);font-size:13px;font-weight:500;padding:4px 8px;border-radius:4px;transition:background .15s,color .15s}.header-nav a:hover{background:hsla(0,0%,100%,.2);color:#fff;text-decoration:none}.header-nav a.active{color:#fff}.header-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.header-right a{color:hsla(0,0%,100%,.9);font-size:13px}.btn-submit{background:hsla(0,0%,100%,.2);color:#fff!important;font-size:13px;font-weight:600;padding:6px 14px;border-radius:20px;border:1px solid hsla(0,0%,100%,.35);transition:background .15s;white-space:nowrap}.btn-submit:hover{background:hsla(0,0%,100%,.3)!important;text-decoration:none!important}main{padding:16px 0 40px}.post-list{list-style:none}.post-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:6px;box-shadow:var(--shadow);border:1px solid var(--border);transition:border-color .15s}.post-item:hover{border-color:#d0d0c8}.post-rank{font-size:13px;color:var(--text-muted);font-weight:600;min-width:24px;text-align:right;padding-top:2px;flex-shrink:0}.vote-block{flex-direction:column;gap:2px;flex-shrink:0}.vote-block,.vote-btn{display:flex;align-items:center}.vote-btn{background:none;border:none;cursor:pointer;padding:3px;border-radius:3px;line-height:1;transition:background .12s,transform .1s;justify-content:center;color:var(--text-muted)}.vote-btn:hover{background:rgba(0,0,0,.06);transform:scale(1.15)}.vote-btn.active-up{color:var(--upvote)}.vote-btn.active-down{color:var(--downvote)}.vote-score{font-size:12px;font-weight:700;color:var(--text-muted);min-width:20px;text-align:center;line-height:1}.vote-score.positive{color:var(--upvote)}.vote-score.negative{color:var(--downvote)}.post-body{flex:1 1;min-width:0}.post-title{font-size:15px;font-weight:600;color:var(--link);line-height:1.35;word-break:break-word}.post-title:hover{color:var(--orange);text-decoration:none}.post-description{margin-top:5px;font-size:13px;color:#333;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.post-meta{margin-top:6px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.post-meta a{color:var(--text-muted);font-weight:500}.post-meta a:hover{color:var(--orange);text-decoration:none}.meta-sep{color:var(--text-light)}.post-detail-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow)}.post-detail-header{display:flex;gap:16px;align-items:flex-start}.post-detail-title{font-size:20px;font-weight:700;color:var(--text);line-height:1.3}.post-detail-description{margin-top:12px;font-size:14px;color:#333;line-height:1.65;white-space:pre-wrap;word-break:break-word}.comments-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:20px 24px;box-shadow:var(--shadow)}.comments-title{font-size:15px;font-weight:700;margin-bottom:16px;color:var(--text)}.comment-form{margin-bottom:24px}.comment-form textarea{width:100%;min-height:90px;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;background:#fafaf8;transition:border-color .15s;color:var(--text)}.comment-form textarea:focus{outline:none;border-color:var(--orange);background:#fff}.comment-list{list-style:none;display:flex;flex-direction:column;gap:14px}.comment-item{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:#fafaf8}.comment-meta{font-size:12px;color:var(--text-muted);margin-bottom:7px;font-weight:500}.comment-body{font-size:14px;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.form-page{max-width:420px;margin:40px auto 0}.form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 36px;box-shadow:var(--shadow)}.form-title{font-size:22px;font-weight:700;margin-bottom:24px;color:var(--text);text-align:center}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;background:#fafaf8;color:var(--text);transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--orange);background:#fff}.form-group textarea{min-height:120px;resize:vertical;line-height:1.55}.char-count{font-size:11px;color:var(--text-light);text-align:right;margin-top:3px}.form-error{background:#fff0f0;border:1px solid #fcc;border-radius:var(--radius);color:#c00}.form-error,.form-success{padding:10px 14px;font-size:13px;margin-bottom:16px}.form-success{background:#f0fff4;border:1px solid #c3e6cb;color:#155724}.btn,.form-success{border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 20px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s,opacity .15s;border:none}.btn,.btn:hover{text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--orange);color:#fff;width:100%}.btn-primary:hover{background:var(--orange-dark)}.btn-secondary{background:#f0f0ea;color:var(--text)}.btn-secondary:hover{background:#e4e4dc}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.page-header h2{font-size:16px;font-weight:700;color:var(--text)}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px}.pagination button{padding:7px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-size:13px;font-family:inherit;transition:background .15s}.pagination button:hover:not(:disabled){background:#e8e8e0}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:13px;color:var(--text-muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text)}.loading{padding:60px 20px;font-size:14px}.auth-link-line,.loading{text-align:center;color:var(--text-muted)}.auth-link-line{margin-top:18px;font-size:13px}.auth-link-line a{color:var(--orange);font-weight:600}@media (max-width:600px){.form-card{padding:24px 20px}.comments-section,.post-detail-card{padding:16px}.logo-text{display:none}}