:root{--bg-color:#f7f5ef;--panel-bg:#fffdf8;--primary-color:#3b4890;--text-main:#24211c;--text-muted:#77716a;--border-color:#d9d2c4;--accent-color:#b84a40;--soft-line:#eee8dc}*{box-sizing:border-box}body{background:var(--bg-color);color:var(--text-main);margin:0;font-family:Georgia,Times New Roman,Noto Serif KR,Apple SD Gothic Neo,serif;line-height:1.65}button,input{font:inherit}.shell{grid-template-rows:auto auto minmax(0,1fr);gap:16px;height:100vh;padding:28px;display:grid}.topbar{border-bottom:2px solid var(--primary-color);justify-content:space-between;align-items:end;gap:20px;padding-bottom:12px;display:flex}.topbar h1{color:var(--primary-color);margin:0;font-size:1.55rem}.topbar p{color:var(--text-muted);margin:2px 0 0;font-size:.94rem}.button,.topbar button{border:1px solid var(--primary-color);background:var(--primary-color);color:#fff;cursor:pointer;padding:9px 14px;text-decoration:none}.actions{gap:8px;display:flex}.button.secondary,.topbar button.secondary{color:var(--primary-color);background:0 0}.statusline{color:var(--text-muted);flex-wrap:wrap;gap:14px;font-size:.9rem;display:flex}.workspace{border:1px solid var(--border-color);background:var(--panel-bg);grid-template-columns:minmax(340px,420px) minmax(0,1fr);min-height:0;display:grid}.post-list{border-right:1px solid var(--border-color);grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid}.list-head{border-bottom:1px solid var(--border-color);color:#4c4740;background:#eee8dc;justify-content:space-between;gap:12px;padding:12px 14px;font-size:.86rem;font-weight:700;display:flex}.filters{gap:8px;display:flex}.filters a{color:var(--text-muted);text-decoration:none}.filters a.active{color:var(--primary-color);text-decoration:underline}.search-form{border-bottom:1px solid var(--border-color);background:#fbf7ef;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:10px 14px;display:grid}.search-input{border:1px solid var(--border-color);background:var(--panel-bg);min-width:0;color:var(--text-main);outline:0;padding:7px 9px}.search-input:focus{border-color:var(--primary-color)}.search-button,.clear-search{border:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;background:0 0;padding:7px 10px;line-height:1.2;text-decoration:none}.clear-search{color:var(--text-muted)}.rows{overflow:auto}.favorite-list{border-bottom:1px solid var(--border-color)}.section-title{color:var(--text-muted);background:#fbf7ef;justify-content:space-between;gap:10px;padding:8px 14px;font-size:.78rem;font-weight:700;display:flex}.post-row{border-bottom:1px solid var(--soft-line);width:100%;color:var(--text-main);background:0 0;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;display:grid}.post-row:hover,.post-row.active{background:#f1ede4}.post-row.active{outline-offset:-1px;outline:1px solid #c5a45d}.post-open{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:13px 4px 13px 14px;text-decoration:none;display:grid}.row-thumbnail{aspect-ratio:1;border:1px solid var(--border-color);background:#fbf7ef;width:54px;overflow:hidden}.row-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.row-text{min-width:0}.post-row form{display:contents}.favorite-toggle{color:#b8b0a3;cursor:pointer;background:0 0;border:0;border-left:1px solid #0000;width:34px;font-size:1rem}.favorite-toggle:hover,.favorite-toggle.active{color:var(--primary-color)}.row-title{font-weight:700;line-height:1.4;display:block}.post-row.read .row-title{color:#9a948c;font-weight:600}.row-title em{color:var(--accent-color);margin-right:5px;font-style:normal}.favorite-mark,.signal{color:var(--primary-color);margin-right:5px}.row-meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-top:5px;font-size:.82rem;display:flex}.detail-pane{min-width:0;overflow:auto}.detail-card{grid-template-rows:auto auto auto minmax(0,1fr);min-height:100%;display:grid}.detail-head{border-bottom:1px solid var(--border-color);background:#fbf7ef;padding:24px 28px 20px}.subject{color:var(--accent-color);margin-bottom:6px;font-size:.9rem;font-weight:700}.detail-head h2{margin:0 0 12px;font-size:1.45rem;line-height:1.45}.detail-head a{color:inherit;text-decoration:none}.detail-head a:hover{text-decoration:underline}.detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:13px;font-size:.88rem;display:flex}.detail-meta strong{color:var(--text-main)}.detail-favorite{border:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;background:0 0;margin-top:14px;padding:6px 10px}.detail-favorite.active{background:#eee8dc}.analysis-panel{border-bottom:1px solid var(--border-color);background:#fffdf8;padding:18px 28px}.analysis-panel p{margin:8px 0 0}.analysis-panel ul{margin:10px 0 0 18px;padding:0}.analysis-top{color:var(--text-muted);flex-wrap:wrap;gap:10px;font-size:.88rem;display:flex}.badge{color:var(--text-muted);font-weight:700}.badge.good{color:var(--primary-color)}.detail-body{border-bottom:1px solid var(--border-color);padding:28px;font-size:1.02rem}.detail-body p{white-space:pre-wrap;margin:0 0 13px}.article-content{--article-readable-width:min(100%, 820px);overflow-x:auto}.article-content p{white-space:normal}.article-images{gap:14px;margin-top:18px;display:grid}.article-images a{border:1px solid var(--border-color);background:#fbf7ef;display:block}.article-content img,.article-images img{width:auto;max-width:calc(var(--article-readable-width) * .6667);height:auto;display:block}.article-content img{margin:12px 0}.comments{background:#fbf7ef;padding:22px 28px 28px}.comments h3{margin:0 0 14px;font-size:1rem}.comment{border-bottom:1px dashed var(--border-color);padding:12px 0}.comment:last-child{border-bottom:0}.comment-meta{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.comment-meta strong{color:var(--text-main)}.comment p{margin:5px 0 0}.muted,.empty{color:var(--text-muted)}.empty.small{padding:10px 14px;font-size:.84rem}@media (width<=860px){.shell{height:auto;min-height:100vh;padding:18px 12px}.topbar{flex-direction:column;align-items:start}.workspace{grid-template-columns:1fr}.post-list{border-right:0;border-bottom:1px solid var(--border-color);max-height:48vh}}
