.article-shell{min-height:calc(100vh - 202px);padding:80px 0 120px}.article-shell article{width:min(820px,100%);margin:auto}.article-header{padding-bottom:52px;border-bottom:1px solid var(--line)}.article-header time{display:block;color:var(--muted);font-size:12px;letter-spacing:.08em;margin-top:28px}.article-header h1{font-size:clamp(42px,6vw,72px);line-height:1.15;letter-spacing:-.055em;margin:18px 0 24px}.article-header p{font-size:19px;line-height:1.8;color:var(--muted);margin:0}.article-body{padding-top:46px}.article-body p{font-family:'Noto Sans SC',sans-serif;font-size:17px;line-height:2;color:#29443d;margin:0 0 28px;white-space:pre-line}.article-error{padding:100px 0;text-align:center}.article-error h1{font-size:38px}.article-error a{color:var(--ink)}

.admin-page{min-height:100vh}.admin-shell{padding:62px 0 120px}.login-card{width:min(460px,100%);margin:40px auto;background:white;border:1px solid var(--line);padding:44px}.login-card h1,.admin-heading h1{font-size:46px;letter-spacing:-.05em;margin:20px 0 8px}.login-card>p,.admin-heading p{color:var(--muted);line-height:1.7}.login-card form{margin:30px 0 24px}.login-card small{display:block;color:var(--muted);line-height:1.6}.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}.admin-heading h1{font-size:56px}.admin-heading p{margin:0}.plain-button{border:1px solid var(--line);background:white;color:var(--ink);font:inherit;font-size:13px;padding:11px 16px;cursor:pointer}.plain-button:hover{border-color:var(--ink)}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:36px}.admin-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:15px 26px;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.admin-tabs button.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.admin-panel{display:none}.admin-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.panel-heading small,.admin-panel small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.panel-heading h2,.admin-panel h2{font-size:28px;margin:8px 0 0}.lead-list{display:grid;gap:12px}.lead-card{background:white;border:1px solid var(--line);padding:25px 28px}.lead-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px}.lead-meta em{font-style:normal;background:var(--mint);color:var(--ink);padding:4px 8px;border-radius:99px}.lead-card h3{font-size:21px;margin:18px 0 6px}.lead-card h3 small{font-weight:400;margin-left:12px}.lead-card a{color:#537300;font-size:13px}.lead-card>p{white-space:pre-line;line-height:1.8;color:var(--muted);margin-bottom:0}.admin-form .primary{justify-self:start}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.editor-card{background:white;border:1px solid var(--line);padding:30px}.editor-card h2{margin-bottom:26px}.post-list{display:grid;margin-top:26px;border-top:1px solid var(--line)}.admin-post{display:block;color:var(--ink);text-decoration:none;padding:20px 4px;border-bottom:1px solid var(--line)}.admin-post:hover h3{color:#638600}.admin-post time{font-size:10px;color:var(--muted)}.admin-post h3{font-size:18px;margin:7px 0}.admin-post p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.user-list{margin-top:34px;background:white;border:1px solid var(--line);padding:28px}.user-list h2{margin-top:0}.user-row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:13px}.user-row span{color:var(--muted)}.error-text{color:var(--danger)}

@media(max-width:760px){.article-shell{padding-top:50px}.article-header h1{font-size:40px}.article-header p{font-size:16px}.article-body p{font-size:16px}.login-card{padding:32px 24px}.admin-shell{padding-top:35px}.admin-heading{align-items:flex-start;flex-direction:column;gap:24px}.admin-heading h1{font-size:42px}.admin-tabs{overflow-x:auto}.admin-tabs button{white-space:nowrap;padding:13px 18px}.admin-grid{grid-template-columns:1fr}.lead-card{padding:22px 20px}.lead-meta{flex-wrap:wrap}.lead-card h3 small{display:block;margin:6px 0}.user-row{align-items:flex-start;flex-direction:column;gap:5px}}

.article-cover,.article-body figure img{display:block;width:100%;height:auto;object-fit:cover}.article-cover{max-height:520px;margin:0 0 46px}.article-body figure{margin:42px 0}.article-body figcaption{text-align:center;color:var(--muted);font-size:12px;margin-top:12px}.admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.image-field{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px}.image-field>div:first-child,.editor-toolbar>div:first-child{display:grid;gap:5px}.image-field b,.editor-toolbar b{font-size:12px}.image-field small,.editor-toolbar small{font-size:11px;letter-spacing:0;color:var(--muted)}.upload-button{justify-self:start;display:inline-flex;padding:10px 14px;border:1px solid var(--line);cursor:pointer;font-size:12px}.cover-preview{position:relative}.cover-preview img{width:100%;max-height:260px;object-fit:cover}.cover-preview button{position:absolute;right:10px;top:10px;border:0;background:rgba(16,41,35,.85);color:white;padding:7px 10px;cursor:pointer}.rich-editor{display:grid;gap:16px}.editor-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px}.editor-toolbar>div:last-child{display:flex;gap:8px}.editor-toolbar .plain-button{display:inline-flex;align-items:center;padding:9px 12px;font-size:11px;cursor:pointer}.content-blocks{display:grid;gap:12px}.content-block{position:relative;border:1px solid var(--line);background:var(--paper);padding:14px}.content-block textarea{background:white}.block-number{font-size:10px;color:var(--muted);margin-bottom:8px}.block-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.block-actions button{border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.block-actions button:last-child{color:var(--danger)}.image-block img{display:block;width:100%;max-height:340px;object-fit:contain;background:#e9eee9}.image-block input{margin-top:10px}

@media(max-width:760px){.admin-grid{grid-template-columns:1fr}.editor-card{padding:22px 16px}.editor-toolbar{align-items:flex-start;flex-direction:column}}
