:root{--dark-900:#0f172a;--dark-800:#1e293b;--dark-700:#334155;--dark-600:#475569;--gray-400:#94a3b8;--gray-300:#cbd5e1;--gray-200:#e2e8f0;--gray-100:#f1f5f9;--gray-50:#f8fafc;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-300:#93c5fd;--blue-50:#eff6ff;--black:#000;--white:#fff;--danger:#b91c1c;--success:#15803d;--text:var(--dark-900);--text-muted:var(--dark-600);--text-subtle:var(--gray-400);--bg:var(--white);--surface:var(--gray-100);--border:var(--gray-200);--border-strong:var(--gray-300);--accent:var(--blue-600);--accent-hover:var(--blue-500);--focus:var(--blue-300);--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--page-width:1440px;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #0f172a0f, 0 4px 12px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;word-break:keep-all;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3{color:var(--text);letter-spacing:-.02em;margin:0 0 .5em;line-height:1.3}h1{font-size:2rem;font-weight:800}h2{font-size:1.375rem;font-weight:700}h3{font-size:1.125rem;font-weight:700}p{margin:0 0 .75em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button,.file-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);color:var(--dark-800);font:inherit;cursor:pointer;align-items:center;gap:4px;padding:7px 14px;font-size:.9rem;font-weight:500;line-height:1.4;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover:not(:disabled),.file-button:hover{border-color:var(--gray-400);background:var(--gray-50)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{border-color:var(--accent);background:var(--accent);color:var(--white)}button.primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}button.danger{border-color:var(--danger);background:var(--danger);color:var(--white)}button.danger:hover:not(:disabled){border-color:var(--danger);background:#991b1b}input,textarea,select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);width:100%;color:var(--text);font:inherit;padding:9px 12px}input[type=checkbox]{width:auto}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:1px}ul{margin:0;padding:0;list-style:none}html.hide-scrollbar{scrollbar-width:none}html.hide-scrollbar::-webkit-scrollbar{display:none}.pdfjs-shell{background:#e9e8ed;border:1px solid #dedce5;border-radius:8px;flex-direction:column;width:100%;height:80vh;min-height:360px;margin:16px 0;display:flex;overflow:hidden}.pdfjs-toolbar{box-sizing:border-box;background:#fff;border-bottom:1px solid #dedce5;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:6px 12px;display:flex}.pdfjs-control{cursor:pointer;min-height:32px;font:inherit;background:#fff;border:1px solid #dcd9e4;border-radius:7px;padding:4px 12px;font-size:13px}.pdfjs-control:disabled{cursor:not-allowed;opacity:.45}.pdfjs-page-form{align-items:center;gap:6px;font-size:13px;display:flex}.pdfjs-page-form input{box-sizing:border-box;width:56px;min-height:32px;font:inherit;text-align:center;border:1px solid #dcd9e4;border-radius:7px;padding:4px 6px}.pdfjs-content{flex:1;min-width:0;min-height:0;display:flex}.pdfjs-viewer,.pdfjs-thumbnails{position:relative}.pdfjs-viewer{flex:1;min-width:0;min-height:0;overflow:auto}.pdfjs-page{box-sizing:border-box;place-items:center;min-height:100%;padding:16px;display:grid}.pdfjs-page canvas{background:#fff;max-width:100%;display:block;box-shadow:0 2px 12px #1914282e}.pdfjs-thumbnails{box-sizing:border-box;background:#fff;border-right:1px solid #dedce5;flex-direction:column;align-items:center;gap:8px;width:120px;min-width:120px;padding:10px 8px;display:flex;overflow:hidden auto}.pdfjs-thumbnail{cursor:pointer;width:100%;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:4px;font-size:12px;display:flex}.pdfjs-thumbnail.is-active{background:#f3efff;border-color:#9c7be8}.pdfjs-thumbnail-page{place-items:center;width:88px;height:112px;display:grid}.pdfjs-thumbnail-page canvas{background:#fff;max-width:88px;max-height:112px;display:block;box-shadow:0 1px 4px #1914282e}.pdfjs-message{text-align:center;background:#f7f6f9;border-radius:8px;margin:16px 0;padding:24px}.pdfjs-message--error{color:#a12622}@media (width<=600px){.pdfjs-thumbnails{width:100px;min-width:100px;padding:6px 2px}.pdfjs-toolbar{gap:6px;padding:6px}}@media print{.pdfjs-shell,.pdfjs-message{display:none!important}}.app{min-height:100dvh;padding-bottom:var(--footer-height,64px);background:var(--bg);flex-direction:column;display:flex}.main{width:100%;max-width:var(--page-width);flex:1 0 auto;margin:0 auto;padding:32px 24px 80px}.header{z-index:10;background:var(--dark-900);color:var(--white);position:sticky;top:0}.header-inner{max-width:var(--page-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:14px 24px;display:flex}.header .title{color:var(--white);align-items:baseline;gap:10px;text-decoration:none;display:flex}.title-main{letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.title-sub{color:var(--gray-400);font-size:.85rem}.header nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.header nav a{border-radius:var(--radius-sm);color:var(--gray-300);padding:6px 10px;font-size:.92rem;text-decoration:none}.header nav a:hover,.header nav a.active{background:var(--dark-800);color:var(--white)}.header button.ghost{border-color:var(--dark-700);color:var(--gray-300);background:0 0}.header button.ghost:hover:not(:disabled){background:var(--dark-800);color:var(--white)}.header-error{background:var(--danger);color:var(--white);text-align:center;margin:0;padding:6px 24px;font-size:.85rem}.badge{background:var(--blue-500);min-width:18px;color:var(--white);text-align:center;border-radius:9px;margin-left:2px;padding:0 5px;font-size:.72rem;font-weight:700;line-height:18px;display:inline-block}.footer{z-index:10;border-top:1px solid var(--border);background:var(--gray-50);color:var(--text-muted);font-size:.85rem;position:fixed;bottom:0;left:0;right:0}.footer-inner{max-width:var(--page-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0 auto;padding:20px 24px;display:flex}.footer-info{flex-wrap:wrap;gap:4px 16px;display:flex}.footer-privacy{color:var(--dark-900);font-weight:700}.signup-agreement{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:8px;margin:12px 0;font-size:.9rem;display:flex}.nickname-form .signup-agreement input{margin:4px 0 0}.withdraw-open{border-top:1px solid var(--border);margin-top:48px;padding-top:16px}.link-danger,.link-danger:hover:not(:disabled){color:var(--text-subtle);background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.withdraw-box{border-color:var(--danger);margin-top:48px}.withdraw-box label{margin:12px 0;display:block}.withdraw-box input{max-width:200px;margin-top:6px}.legal{max-width:760px;margin:0 auto}.legal section{margin-top:32px}.legal h2{font-size:1.125rem}.legal-list{padding-left:1.2em;list-style:outside}.legal-list li{margin-bottom:4px}.legal-table{border-collapse:collapse;width:100%;font-size:.95rem}.legal-table th,.legal-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.legal-table th,.legal-table thead th{background:var(--surface);width:28%;font-weight:600}.legal-date{color:var(--text-muted);margin-top:40px}.hint{color:var(--text-subtle);font-size:.88rem}.notice{border-radius:var(--radius-sm);background:var(--blue-50);color:var(--dark-700);padding:10px 14px}.error{color:var(--danger)}.box{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);margin:16px 0;padding:20px}.section-title{align-items:center;gap:8px;margin:32px 0 14px;font-size:1.05rem;display:flex}.section-title:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:1.05em}.sentinel{min-height:1px}.link-button{text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;width:100%;padding:12px 0;display:flex}.link-button:hover:not(:disabled){background:0 0}.thread-section-head{justify-content:space-between;align-items:center;display:flex}.thread-strip{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:14px;display:flex;overflow-x:auto}.thread-strip::-webkit-scrollbar{display:none}.thread-strip li{scroll-snap-align:start;flex-shrink:0}.carousel-arrows{gap:6px;display:flex}.carousel-arrows button{border-radius:50%;justify-content:center;width:34px;height:34px;padding:0;font-size:1.3rem;line-height:1}.carousel-position{display:none}.carousel-dots{justify-content:center;gap:2px;margin-top:10px}.carousel-dots button,.carousel-dots button:hover:not(:disabled){background:0 0;border:none;width:22px;height:22px;padding:0}.carousel-dots button:after{content:"";background:var(--gray-300);border-radius:4px;width:7px;height:7px;margin:auto;transition:width .2s,background .2s;display:block}.carousel-dots button.is-active:after{background:var(--accent);width:18px}.carousel-counter{color:var(--text-muted);text-align:center;margin:10px 0 0;font-size:.85rem}.thread-card{border-top:3px solid var(--blue-500);border-radius:var(--radius);background:var(--dark-900);width:220px;min-height:132px;color:var(--white);flex-direction:column;gap:6px;padding:18px;text-decoration:none;display:flex}.thread-card:hover{background:var(--dark-800);color:var(--white);text-decoration:none}.thread-card strong{font-size:1.02rem;line-height:1.35}.thread-card .hint{color:var(--blue-300)}.thread-card-desc{color:var(--gray-400);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.intro-hero{width:100vw;height:calc(100vh - var(--header-height,64px) - var(--footer-height,64px));height:calc(100dvh - var(--header-height,64px) - var(--footer-height,64px));background:var(--dark-900);color:var(--white);justify-content:center;align-items:center;margin:-32px 0 0 calc(50% - 50vw);display:flex;position:relative;overflow:hidden}.intro-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.intro-hero:after{content:"";background:linear-gradient(#0f172a4d,#0f172aa6);position:absolute;inset:0}.intro-caption{z-index:1;letter-spacing:-.02em;text-align:center;text-shadow:0 2px 16px #0006;margin:0;padding:0 16px;font-size:clamp(1.6rem,4.5vw,3.2rem);font-weight:700;animation:5s both caption-fade;position:relative}@keyframes caption-fade{0%{opacity:0;transform:translateY(12px)}20%,80%{opacity:1;transform:none}to{opacity:0}}.intro-arrow{z-index:1;color:var(--white);background:0 0;border:none;padding:4px;animation:1.6s ease-in-out infinite arrow-blink;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.intro-arrow:hover:not(:disabled){background:0 0;border-color:#0000}@keyframes arrow-blink{0%,to{opacity:1;transform:translate(-50%)}50%{opacity:.25;transform:translate(-50%,8px)}}.home-content{scroll-margin-top:var(--header-height,64px)}@media (prefers-reduced-motion:reduce){.intro-caption,.intro-arrow{animation:none}}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.tag-cloud{margin:24px 0 8px}.tag-cloud ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag-cloud li button{background:var(--blue-50);color:var(--accent);border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:400}.tag-cloud li button:hover:not(:disabled){background:var(--blue-300);color:var(--dark-900);border-color:#0000}.tag-cloud li button.active,.tag-cloud li button.active:hover:not(:disabled){background:var(--accent);color:var(--white)}.tag-count{opacity:.7;font-size:.8em}.tag-cloud-more{margin-top:8px;padding:3px 10px;font-size:.85rem}.search-bar{gap:8px;margin:8px 0 16px;display:flex}.search-bar input{flex:1;min-width:0}.sort-tabs{border-radius:var(--radius-sm);background:var(--surface);gap:2px;margin-bottom:8px;padding:3px;display:inline-flex}.sort-tabs button{color:var(--text-muted);background:0 0;border:none;padding:5px 14px}.sort-tabs button.active{background:var(--white);box-shadow:var(--shadow);color:var(--text);font-weight:700}.post-card{border-bottom:1px solid var(--border);padding:22px 0}.post-card.deleted{color:var(--text-subtle);font-size:.92rem}.post-card-main{color:inherit;justify-content:space-between;gap:20px;text-decoration:none;display:flex}.post-card-main:hover{color:inherit;text-decoration:none}.post-card-main:hover h3{color:var(--accent)}.post-card-main img{border-radius:var(--radius-sm);object-fit:cover;background:var(--surface);flex-shrink:0;order:2;width:168px;height:112px}.post-card-main h3{margin:0 0 6px;font-size:1.2rem;transition:color .15s}.post-card-summary{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.post-meta{color:var(--text-subtle);margin:10px 0 0;font-size:.85rem}.post-meta a{color:var(--dark-600)}.post,.post-form{max-width:720px;margin:0 auto}.post-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px}.post-header h1{font-size:2.1rem;line-height:1.3}.post-summary{border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface);color:var(--dark-700);margin:18px 0 0;padding:14px 18px}.post-body{overflow-wrap:break-word;font-size:1.0625rem;line-height:1.85}.post-body p{margin:0 0 1.1em}.post-body img{border-radius:var(--radius-sm);max-width:100%;height:auto}.post-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.post-body td,.post-body th{border:1px solid var(--border-strong);padding:6px 10px}.post-body blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);margin:1em 0;padding:4px 16px}.video{border-radius:var(--radius);background:var(--black);margin:24px 0;padding-top:56.25%;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.pdf-title{white-space:nowrap;text-overflow:ellipsis;margin:0 0 8px;font-size:1rem;overflow:hidden}.post-split{flex-direction:column;display:flex}.view-tabs{border-bottom:1px solid var(--border);margin:20px 0 16px;display:flex}.view-tab{color:var(--text-muted);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;flex:1;justify-content:center;margin-bottom:-1px;font-size:1rem}.view-tab:hover:not(:disabled){background:var(--gray-50)}.view-tab.is-active{border-bottom-color:var(--accent);color:var(--text);font-weight:700}@media (width<=1023.98px){.post-split.is-showing-body .pdf-panel,.post-split.is-showing-pdf .post-main{display:none}}.pdf-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:8px;display:flex;overflow-x:auto}.pdf-tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:240px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-bottom:none;flex-shrink:0;overflow:hidden}.pdf-tab.is-active{border-color:var(--border);background:var(--white);color:var(--text);font-weight:700}@media (width>=1024px){.post--with-pdf{max-width:none}.view-tabs{display:none}.post--with-pdf .post-split{grid-template-columns:minmax(0,11fr) minmax(0,9fr);align-items:start;gap:40px;display:grid}.post--with-pdf .pdf-panel{height:calc(100vh - 96px - var(--footer-height,64px));flex-direction:column;order:0;display:flex;position:sticky;top:80px}.post--with-pdf .pdf-panel .pdf-title,.post--with-pdf .pdf-panel .pdf-tabs{flex-shrink:0;margin-top:0;margin-bottom:8px}.post--with-pdf .pdf-panel .pdfjs-shell,.post--with-pdf .pdf-panel .pdfjs-message{flex:1;height:auto;min-height:0;margin:0}}.tags{flex-wrap:wrap;gap:6px;margin:28px 0 0;display:flex}.tags .tag{background:var(--blue-50);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:.85rem}.tags .tag:hover{background:var(--blue-300);color:var(--dark-900);text-decoration:none}.post-reactions{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:24px;padding:14px 0;display:flex}.post-reactions p{align-items:center;gap:12px;margin:0;display:flex}.like-button.liked{border-color:var(--accent);background:var(--blue-50);color:var(--accent)}.share-buttons{flex-wrap:wrap;gap:6px;margin:0;display:flex}.post-actions{align-items:center;gap:8px;margin-top:16px;display:flex}.author-box,.author-profile{align-items:center;gap:16px;display:flex}.author-box{border-radius:var(--radius);background:var(--surface);margin-top:28px;padding:18px}.author-box p,.author-profile p{margin:4px 0 0}.author-box img,.author-profile img,.author-photo img,.author-photo .photo-empty{object-fit:cover;border-radius:50%;flex-shrink:0;width:64px;height:64px}.author-profile{border-radius:var(--radius);background:var(--dark-900);color:var(--gray-300);margin-bottom:8px;padding:28px}.author-profile h1{color:var(--white);margin:0}.author-profile a{color:var(--blue-300)}.author-profile img{width:96px;height:96px}.comments{margin-top:40px}.comment{padding-top:14px}.comment-list .comment-list{border-left:2px solid var(--border);margin-left:4px}.comment-header{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 4px;display:flex}.comment-badge{border-radius:4px;padding:1px 7px;font-size:.72rem;font-weight:700}.comment-badge.author{background:var(--accent);color:var(--white)}.comment-badge.admin{background:var(--dark-900);color:var(--white)}.comment-body{white-space:pre-wrap;overflow-wrap:break-word;margin:0 0 6px}.comment-deleted{color:var(--text-subtle);font-size:.92rem}.comment-actions{flex-wrap:wrap;gap:4px;margin:0 0 4px;display:flex}.comment-actions button{color:var(--text-muted);border-color:#0000;padding:2px 8px;font-size:.8rem}.comment-form{margin:10px 0}.comment-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;display:flex}.report-form{gap:4px;display:inline-flex}.report-form select{width:auto;padding:2px 6px;font-size:.8rem}.form label{color:var(--dark-700);margin-bottom:16px;font-size:.92rem;font-weight:600;display:block}.form input,.form textarea,.form select{margin-top:6px;font-weight:400}.form label.checkbox{align-items:center;gap:8px;font-weight:400;display:flex}.form label.checkbox input{margin:0}.nickname-form{border:1px solid var(--border);border-radius:var(--radius);max-width:480px;margin:24px auto;padding:24px}.nickname-form input{margin-bottom:10px}.editor-label{color:var(--dark-700);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.92rem;font-weight:600;display:flex}.thumbnail-preview{border-radius:var(--radius-sm);object-fit:cover;max-width:240px;max-height:160px;margin-bottom:10px;display:block}fieldset.box legend{color:var(--dark-700);padding:0 6px;font-size:.92rem;font-weight:600}.author-photo{margin-bottom:12px}.author-photo .photo-empty{background:var(--surface);color:var(--text-subtle);justify-content:center;align-items:center;font-size:.75rem;display:flex}.file-button{margin-top:8px}.my-post-list li,.my-comment-list li,.tag-admin-list li{border-bottom:1px solid var(--border);padding:10px 0}.badge-status{border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.badge-status.published{background:var(--blue-50);color:var(--accent)}.badge-status.draft{background:var(--surface);color:var(--text-muted)}.notification-list li{border-bottom:1px solid var(--border)}.notification-list li.unread{font-weight:700}.notification-list li.unread .link-button:before{content:"●";color:var(--accent);font-size:.6rem}.notification-list li.read{color:var(--text-subtle)}@media (width<=600px){.main{padding:20px 16px 64px}.intro-hero{margin-top:-20px}.header-inner,.footer-inner{padding:10px 16px}.title-sub{display:none}.header nav a{padding:4px 8px;font-size:.85rem}h1,.post-header h1{font-size:1.6rem}.post-card-main{gap:12px}.post-card-main img{width:96px;height:72px}.post-card-main h3{font-size:1.05rem}.post-body{font-size:1rem}.thread-strip li{width:84%}.thread-card{width:100%}.carousel-arrows{display:none}.carousel-dots{display:flex}.carousel-counter{display:block}.author-profile{flex-direction:column;align-items:flex-start;padding:20px}}.print-only{display:none}@media print{.header,.footer,.pdf-panel,.post-actions,.post-reactions,.author-box,.comments,.video,.share-buttons,.view-tabs{display:none!important}.post-split .post-main{display:block!important}.main{max-width:none;padding:0}.app{padding-bottom:0}.print-only{color:var(--dark-600);margin-top:24px;font-size:.85em;display:block}.post-summary{background:0 0}.post-body img{break-inside:avoid}.post-meta a,.tags .tag{color:inherit;background:0 0}}
