* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 10pt;
    background: #f6f6ef;
    color: #000;
    line-height: 1.4;
}

/* Header - HN style with McSweeney's flair */
header {
    background: #ff5500;
    padding: 2px;
}

.header-content {
    display: flex;
    align-items: center;
    padding: 2px 10px;
}

.logo {
    font-weight: bold;
    color: #000;
    text-decoration: none;
    margin-right: 10px;
    border: 1px solid #000;
    padding: 0 3px;
    background: #ff6600;
}

/* Homepage glitch effect */
body.home .logo {
    border: 2px dashed #000;
    padding: 2px 5px;
    font-family: monospace;
    font-size: 11pt;
    animation: glitch 2s infinite;
}

@keyframes glitch {
    0%, 90%, 100% { transform: translate(0); }
    92% { transform: translate(-2px, 1px); }
    94% { transform: translate(2px, -1px); }
    96% { transform: translate(-1px, 0); }
}

.tagline {
    font-size: 8pt;
    color: #000;
    font-style: italic;
}

nav {
    margin-left: auto;
}

nav a {
    color: #000;
    text-decoration: none;
    margin-left: 10px;
    font-size: 9pt;
}

/* Main content area */
.container {
    max-width: 1210px;
    margin: 0 auto;
    padding: 10px;
}

/* Post list - HN style */
.post-list {
    background: #f6f6ef;
}

.post {
    margin-bottom: 10px;
    display: flex;
    align-items: start;
}

.rank {
    color: #828282;
    text-align: right;
    min-width: 30px;
    margin-right: 5px;
}

.vote-arrow {
    width: 10px;
    height: 10px;
    border: 0px;
    margin: 2px;
    background: url('data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAKAAoAAAIRnC2nKLnT4or00PvyrQwrPwQAOw==') no-repeat;
    cursor: pointer;
    display: inline-block;
}

.vote-arrow:hover {
    background: url('data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAKAAoAAAIRnC2nKLnT4or00PvyrQwrPwQAOw==') no-repeat;
    opacity: 0.5;
}

.post-content {
    flex: 1;
    margin-left: 5px;
}

.post-title {
    font-size: 10pt;
    color: #000;
    text-decoration: none;
    display: inline;
}

.post-title:visited {
    color: #828282;
}

.post-meta {
    font-size: 8pt;
    color: #828282;
    margin-top: 2px;
}

.post-meta a {
    color: #828282;
    text-decoration: none;
}

.post-meta a:hover {
    text-decoration: underline;
}

/* McSweeney's style section headers */
.section-header {
    font-family: Georgia, serif;
    font-size: 14pt;
    margin: 20px 0 10px 0;
    padding: 5px 0;
    border-bottom: 2px dashed #ff5500;
    color: #333;
}

/* Special categories */
.category-box {
    background: #fff;
    border: 1px solid #ddd;
    padding: 10px;
    margin: 20px 0;
}

.category-title {
    font-family: Georgia, serif;
    font-size: 12pt;
    font-weight: bold;
    margin-bottom: 10px;
    color: #ff5500;
}

/* Article pages */
.article-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background: #f6f6ef;
}

.article-header {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #828282;
}

.article-title {
    font-size: 16pt;
    margin-bottom: 8px;
    line-height: 1.3;
}

.article-meta {
    font-size: 8pt;
    color: #828282;
}

.article-meta a {
    color: #828282;
    text-decoration: none;
}

.article-meta a:hover {
    text-decoration: underline;
}

.vote-section {
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
}

.vote-section .vote-arrow {
    width: 10px;
    height: 10px;
    border: 0px;
    margin-right: 5px;
    background: url('data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAKAAoAAAIRnC2nKLnT4or00PvyrQwrPwQAOw==') no-repeat;
    cursor: pointer;
}

.article-content {
    font-size: 11pt;
    line-height: 1.6;
    color: #333;
}

.article-content p {
    margin-bottom: 15px;
}

/* Code flags and inline command styling */
.article-content code,
.article-content .flag {
    background-color: #e8e8e8;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: Consolas, Monaco, 'Courier New', monospace;
    font-size: 0.9em;
    color: #333;
    white-space: nowrap;
}

/* Dangerous/destructive flags get special styling */
.article-content .flag-dangerous {
    background-color: #ffcccc;
    color: #cc0000;
    font-weight: bold;
}

/* Humorous fake flags */
.article-content .flag-fake {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

/* Command blocks */
.article-content pre {
    background-color: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 10px;
    overflow-x: auto;
    margin: 15px 0;
}

.article-content pre code {
    background: none;
    padding: 0;
    border-radius: 0;
}

/* Article actions */
.article-actions {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #828282;
    font-size: 9pt;
}

.article-actions a {
    color: #828282;
    text-decoration: none;
    margin-right: 15px;
}

.article-actions a:hover {
    text-decoration: underline;
}

/* Source attribution */
.source-note {
    font-size: 8pt;
    color: #828282;
    font-style: italic;
    margin-top: 20px;
    text-align: center;
}

/* CLI Spinner Animation */
.cli-spinner {
    display: inline-block;
    font-family: monospace;
    font-size: 10pt;
    color: #ff6600;
    position: static;
    vertical-align: initial;
    margin-right: 0;
    line-height: 0;
}

.cli-spinner::after {
    content: "⣼";
    animation: spin-dots13 2560ms infinite steps(8);
    display: inline-block;
    line-height: 1;
}

@keyframes spin-dots13 {
    0%    { content: "⣼"; }
    12.5% { content: "⣹"; }
    25%   { content: "⢻"; }
    37.5% { content: "⠿"; }
    50%   { content: "⡟"; }
    62.5% { content: "⣏"; }
    75%   { content: "⣧"; }
    87.5% { content: "⣶"; }
    100%  { content: "⣼"; }
}

/* Feature Flag Styling */
.feature-flag {
    font-family: monospace;
    color: #ff6600;
    font-weight: normal;
}

/* Feature flag in links */
a .feature-flag {
    color: #ff6600;
    text-decoration: none;
}

/* Feature flag in post header */
.post-header .feature-flag {
    color: #ff6600;
}

/* Footer */
footer {
    text-align: center;
    padding: 20px;
    font-size: 8pt;
    color: #828282;
    border-top: 1px solid #ff6600;
    margin-top: 30px;
}

/* Show/Hide functionality */
.show-more {
    color: #828282;
    font-size: 9pt;
    cursor: pointer;
    text-decoration: underline;
}

/* Pagination */
.pagination {
    margin: 20px 0;
    text-align: left;
    padding-left: 35px;
}

.pagination .show-more {
    margin-right: 15px;
}

/* Comments section - HN style */
.comments-section {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid #ff6600;
}

.comment-table {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.comment-table td {
    padding: 0;
    vertical-align: top;
}

.comment {
    margin-top: 10px;
}

.comment-row {
    display: table;
    width: 100%;
}

.comment-indent {
    display: table-cell;
    width: 1px;
}

/* Removed - now combined with .ask-container .vote-cell above */

.comment-main {
    vertical-align: top;
}

.comment-arrow {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 7px solid #828282;
    margin: 4px 0 0 2px;
    cursor: pointer;
}

.comment-header {
    color: #828282;
    font-size: 8pt;
    margin-bottom: 2px;
}

.comment-header a {
    color: #828282;
    text-decoration: none;
}

.comment-header a:hover {
    text-decoration: underline;
}

.comment-author {
    color: #828282;
    font-weight: normal;
}

.comment-age {
    color: #828282;
}

.comment-text {
    color: #000;
    font-size: 9pt;
    line-height: 1.4;
    font-family: Verdana, Geneva, sans-serif;
    margin-top: 1px;
    word-wrap: break-word;
}

.comment-text p {
    margin: 0 0 10px 0;
}

.comment-text p:last-child {
    margin-bottom: 0;
}

.comment-text code {
    font-family: Courier, monospace;
    font-size: 9pt;
    color: #000;
}

/* Old .ind width rules removed - now using padding on .comment-main */

/* Force table layout to fixed for consistent widths */
.comment-tree {
    /* table-layout: fixed; */ /* Removed - breaks layout with colspan in first row */
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

/* Ensure the indentation column takes up only its specified width */
.comment-tree td.ind {
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1;
    font-size: 1px;
    overflow: hidden;
}

/* Make comment table show proper indentation */
.comment-table,
.comment-tree {
    border-collapse: separate;
    border-spacing: 0;
    margin-left: 0;
}

.comment-table td,
.comment-tree td {
    vertical-align: top;
}

/* Hide the HR separators for true HN look */
.comment-separator {
    display: none;
}

/* Thread continuation */
.comment-tree {
    margin-left: 0;
}

/* Table styling for HN comments - Removed duplicate, see line 276 */

/* Indentation now handled by multiple 40px spacer cells */
.spacer { width: 40px; height: 1px; font-size: 1px; }

/* Ask rm-rf comment thread should start flush with the left edge */
.ask-container + .comments-section .comment-tree {
    margin-left: 0;
}

/* Consistent vertical spacing for all comments */
tr.comment > td {
    padding-top: 8px;
}

/* Div-based comment styles for cleaner threading */
.comments-section .comment {
    margin-bottom: 15px;
    font-size: 9pt;
}

.comments-section .comment-meta {
    font-size: 8pt;
    color: #828282;
    margin-bottom: 5px;
}

.comments-section .comment-meta a {
    color: #828282;
    text-decoration: none;
}

.comments-section .comment-meta a:hover {
    text-decoration: underline;
}

.comments-section .comment-text {
    font-size: 9pt;
    line-height: 1.4;
    color: #000;
}

.comments-section .comment-text code {
    font-family: Courier, monospace;
    font-size: 9pt;
    background: #f6f6ef;
    padding: 1px 3px;
}

.comments-section .comments-header {
    font-size: 10pt;
    margin-bottom: 15px;
    color: #828282;
}

/* Ask rm-rf page styles */
.ask-container {
    padding: 6px 0 0 0;
    margin: 0 8px;
    max-width: 800px; /* Match the comments' width */
}

.ask-container table {
    border-collapse: collapse;
    width: 100%;
}

.ask-container .vote-cell,
.comment-vote-cell {
    width: 18px;  /* 14px arrow + 4px gutter */
    vertical-align: top;
    padding-right: 4px;
}

.ask-container .title-cell {
    vertical-align: top;
}

.ask-title {
    font-size: 10pt;
    font-weight: normal;
    color: #000;
    line-height: 1.4;
}

.ask-meta {
    font-size: 8pt;
    color: #828282;
    margin-top: 3px;
}

.ask-meta .points {
    color: #828282;
}

.ask-meta .author {
    color: #828282;
    text-decoration: none;
}

.ask-meta .author:hover {
    text-decoration: underline;
}

.ask-meta .age {
    color: #828282;
}

.ask-meta a {
    color: #828282;
    text-decoration: none;
}

.ask-meta a:hover {
    text-decoration: underline;
}

.ask-content {
    font-size: 10pt;
    line-height: 1.4;
    color: #000;
    margin-top: 8px;
}

.ask-content p {
    margin: 0 0 10px 0;
}

.ask-content p:last-child {
    margin-bottom: 0;
}

/* Regular Post Styles (HN-style) */
.post-container {
    background: #f6f6ef;
    padding: 40px;
    margin: 20px auto;
    max-width: 1280px;
    border: 1px solid #e0e0e0;
    overflow-x: auto;
}

.post-container table {
    width: auto;
    background-color: #f6f6ef;
}

.post-container .vote-cell {
    width: 18px;
    padding-right: 4px;
}

.post-container .title-cell {
    vertical-align: top;
}

.post-title-text {
    font-size: 16pt;
    font-weight: normal;
    color: #000;
    line-height: 1.3;
}

.post-container .post-meta {
    font-size: 9pt;
    color: #666;
    margin-top: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
}

.post-container .post-meta .points {
    color: #828282;
}

.post-container .post-meta .author {
    color: #828282;
    text-decoration: none;
}

.post-container .post-meta .author:hover {
    text-decoration: underline;
}

.post-container .post-meta .age {
    color: #828282;
}

.post-container .post-meta a {
    color: #828282;
    text-decoration: none;
}

.post-container .post-meta a:hover {
    text-decoration: underline;
}

.post-text-content {
    font-size: 11pt;
    line-height: 1.55;
    color: #000;
    max-width: 1200px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.post-text-content p {
    margin: 0 0 14px 0;
}

.post-text-content p:last-child {
    margin-bottom: 0;
}

/* First paragraph emphasis */
.post-text-content > p:first-of-type {
    font-size: 11.5pt;
    line-height: 1.6;
    color: #222;
}

/* Heading hierarchy */
.post-text-content h2 {
    font-size: 12pt;
    font-weight: bold;
    margin: 24px 0 12px 0;
    color: #000;
}

.post-text-content h3 {
    font-size: 11pt;
    font-weight: bold;
    margin: 18px 0 10px 0;
    color: #333;
}

/* Blockquotes */
.post-text-content blockquote {
    margin: 14px 0;
    padding-left: 14px;
    border-left: 2px solid #ff6600;
    color: #555;
    font-style: italic;
}

/* Links */
.post-text-content a {
    color: #0066cc;
    text-decoration: none;
}

.post-text-content a:hover {
    text-decoration: underline;
}

.post-text-content a:visited {
    color: #551a8b;
}

/* Code blocks */
.post-text-content pre {
    background: #f8f8f8;
    border: 1px solid #e0e0e0;
    padding: 12px;
    margin: 14px 0;
    overflow-x: auto;
    font-size: 9pt;
    line-height: 1.4;
    font-family: Consolas, Monaco, 'Courier New', monospace;
}

.post-text-content code {
    font-family: Consolas, Monaco, 'Courier New', monospace;
    font-size: 0.9em;
    background: #f0f0f0;
    padding: 1px 4px;
    border-radius: 2px;
    word-break: break-word;
    overflow-wrap: break-word;
}

.post-text-content pre code {
    background: none;
    padding: 0;
    font-size: 9pt;
}

/* Lists */
.post-text-content ul,
.post-text-content ol {
    margin: 14px 0;
    padding-left: 24px;
}

.post-text-content li {
    margin-bottom: 4px;
}

/* Tables */
.post-text-content table {
    border-collapse: collapse;
    margin: 14px 0;
    width: 100%;
}

.post-text-content th,
.post-text-content td {
    border: 1px solid #e0e0e0;
    padding: 8px;
    text-align: left;
}

.post-text-content th {
    background-color: #f8f8f8;
    font-weight: bold;
}

/* Strong/Bold text */
.post-text-content strong,
.post-text-content b {
    font-weight: bold;
    color: #000;
}

/* Emphasis/Italic text */
.post-text-content em,
.post-text-content i {
    font-style: italic;
}

/* Horizontal rules */
.post-text-content hr {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 20px 0;
}

/* Footnotes styling */
.footnotes {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
    font-size: 9pt;
    color: #666;
}

.footnotes p {
    margin-bottom: 10px;
}

.footnotes strong {
    color: #333;
}

.post-actions {
    margin: 20px 0 20px 0;
    font-size: 8pt;
    color: #828282;
}

.post-actions a {
    color: #828282;
    text-decoration: none;
}

.post-actions a:hover {
    text-decoration: underline;
}

/* Polished HN-style comments */
.comment-tree {
    font-size: 9pt;
    font-family: Verdana, Geneva, sans-serif;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-left: 8px;   /* same as .ask-container */
    max-width: 800px;   /* optional: match the ask post width */
}

.comment-tree .athing {
    font-size: 9pt;
}

.comment-td {
    font-size: 9pt;
    font-family: Verdana, Geneva, sans-serif;
}

.comhead {
    font-size: 8pt;
    color: #828282;
}

.comhead a {
    color: #828282;
    text-decoration: none;
}

.comhead a:hover {
    text-decoration: underline;
}

.hnuser {
    color: #828282;
    font-weight: normal;
}

.age a {
    color: #828282;
    text-decoration: none;
}

.age a:hover {
    text-decoration: underline;
}

.togg {
    font-size: 7pt;
    color: #828282;
    margin-left: 3px;
}

.comment-text {
    margin-top: 4px;
    color: #000;
    font-size: 9pt;
    line-height: 1.4;
}

.comment-text p {
    margin: 0 0 8px 0;
}

.comment-text p:last-child {
    margin-bottom: 0;
}

.comment-text i {
    font-style: italic;
}

.comment-text code {
    font-family: monospace;
    font-size: 9pt;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .container {
        padding: 5px;
        overflow-x: hidden;
    }
    
    /* Homepage post list mobile fixes */
    .post-title {
        display: inline;
        line-height: 1.4;
        word-break: break-word;
    }
    
    .post-title .feature-flag {
        display: inline;
        white-space: normal;
    }
    
    .post-container {
        padding: 15px;
        margin: 10px;
        border-left: none;
        border-right: none;
        overflow-x: visible;
    }
    
    .post-text-content {
        font-size: 10pt;
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
        -webkit-hyphens: auto;
    }
    
    .post-text-content code {
        font-size: 0.85em;
        word-break: break-word;
        white-space: pre-wrap;
    }
    
    .post-text-content pre {
        font-size: 8pt;
        padding: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: pre-wrap;
        word-wrap: break-word;
    }
    
    .post-text-content pre code {
        white-space: pre-wrap;
        word-break: normal;
    }
    
    .post-text-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        font-size: 9pt;
    }
    
    .post-text-content td,
    .post-text-content th {
        padding: 6px;
        word-break: break-word;
    }
    
    .post-title-text {
        font-size: 14pt;
        word-break: break-word;
        hyphens: auto;
    }
}