:root{color-scheme:light;font-family:Inter,HarmonyOS Sans SC,MiSans,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;color:#1d2b29;background:#edf4f1;--canvas: #edf4f1;--canvas-warm: #fff7ed;--paper: #fffdf8;--paper-strong: #f7fbf8;--ink: #182624;--muted: #64736f;--line: rgba(24, 42, 39, .14);--teal: #10937f;--teal-dark: #075f56;--coral: #e66f4f;--gold: #b9872e;--sage: #dcefe7;--steel: #e7eff0;--shadow: 0 22px 60px rgba(24, 39, 36, .12), 0 2px 8px rgba(24, 39, 36, .06);--radius: 8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;line-height:1.5;background:linear-gradient(90deg,#e4f1ec,#eef6f2 33%,#f9f2e7 33%,#fff9ef),linear-gradient(135deg,rgba(16,147,127,.08),transparent 42%,rgba(230,111,79,.08));font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.42;background-image:linear-gradient(rgba(24,42,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(24,42,39,.035) 1px,transparent 1px),linear-gradient(135deg,transparent 0 48%,rgba(16,147,127,.035) 48% 52%,transparent 52% 100%);background-size:40px 40px,40px 40px,240px 240px}button,input,textarea,select{font:inherit}button,a.button-link,.admin-link{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.45rem;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd9;color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}button:hover,a.button-link:hover,.admin-link:hover{transform:translateY(-1px);border-color:#1a9b8873;box-shadow:0 8px 20px #2253491f}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(16,147,127,.22);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.82rem .9rem;background:#ffffffd6;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#1a9b88a6;box-shadow:0 0 0 3px #1a9b881f}textarea{min-height:7rem;resize:vertical}.site-shell{display:grid;grid-template-columns:clamp(14rem,33vw,32rem) minmax(0,1fr);height:100vh;overflow:hidden}.mascot-rail{position:sticky;top:0;display:grid;place-items:center end;height:100vh;padding:2.2rem 0 2.2rem 1.6rem;overflow:hidden}.mascot-rail:before{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 32%,rgba(7,95,86,.06)),linear-gradient(90deg,rgba(16,147,127,.12),transparent 38%);border-right:1px solid rgba(7,95,86,.1)}.mascot-rail:after{position:absolute;top:7vh;right:0;bottom:7vh;width:4px;border-radius:999px;content:"";background:linear-gradient(180deg,transparent,rgba(16,147,127,.46),rgba(230,111,79,.24),transparent)}.mascot{position:relative;z-index:1;width:min(92%,33rem);min-height:34rem;border:0;background:transparent;padding:0;transform-origin:62% 62%;animation:breathe 4.6s ease-in-out infinite}.mascot img{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 32px rgba(24,39,36,.18));transition:transform .22s ease,filter .22s ease}.mascot:hover img{transform:translate(.35rem) rotate(.8deg);filter:drop-shadow(0 22px 32px rgba(26,95,83,.2))}.mascot.clicked img{animation:mascot-wave .62s ease}.mascot .speech{position:absolute;top:11%;right:2%;z-index:1;max-width:12rem;border:1px solid rgba(16,147,127,.22);border-radius:var(--radius);padding:.65rem .78rem;background:#fffdf8f0;color:var(--teal-dark);box-shadow:0 14px 30px #1827241c;font-size:.95rem;line-height:1.35;opacity:0;transform:translateY(.4rem);transition:opacity .18s ease,transform .18s ease}.mascot:hover .speech,.mascot.clicked .speech{opacity:1;transform:translateY(0)}.content-pane{height:100vh;overflow-y:auto;padding:2rem clamp(1rem,2.4vw,2.4rem) 3rem;scrollbar-color:rgba(16,147,127,.45) transparent}.topbar,.section-head,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar{margin-bottom:1.15rem;padding-right:.15rem}.eyebrow{margin:0 0 .25rem;color:var(--teal-dark);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-family:Inter Tight,Inter,HarmonyOS Sans SC,MiSans,PingFang SC,sans-serif;font-size:4rem;font-weight:900;line-height:.96;letter-spacing:0;color:#142724}h2{margin-bottom:0;font-size:1.72rem;line-height:1.15;letter-spacing:0}h3{margin-bottom:.45rem;font-size:1.12rem}h3 a{color:inherit;text-decoration:none}.panel{border:1px solid rgba(24,42,39,.13);border-radius:var(--radius);background:linear-gradient(180deg,#fffdf8f2,#fffbf4e0),var(--paper);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(233,120,88,.28);border-radius:var(--radius);margin:0 0 1rem;padding:.72rem .82rem;background:#ffeee4e6;color:#7c3b2c;box-shadow:0 10px 22px #5a3a2a14}.status-notice button{min-height:1.9rem;padding:0 .55rem;background:#ffffffad}.content-wall,.message-board{padding:clamp(1rem,2vw,1.5rem)}.content-wall{min-height:39rem}.message-board{margin-top:1rem}.segmented{display:flex;flex-wrap:wrap;gap:.45rem}.segmented button{min-height:2.25rem;padding:0 .88rem;background:#ffffffdb;font-weight:700}.segmented button.active{border-color:transparent;background:linear-gradient(135deg,var(--teal),#0a7d72);color:#fff;box-shadow:0 9px 22px #10937f38}.segmented.compact button{min-height:2rem}.toolbar{display:grid;grid-template-columns:minmax(12rem,1fr) 9rem auto;gap:.65rem;margin:1rem 0}.toolbar.slim{grid-template-columns:minmax(12rem,1fr) auto}.searchbox{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:0 .8rem;background:#ffffffd1}.searchbox input{border:0;padding-inline:.2rem;background:transparent;box-shadow:none}.icon-text{padding-inline:.9rem}.tag-strip{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.tag-strip button,.tag-strip span{min-height:1.78rem;border:1px solid rgba(185,135,46,.22);border-radius:999px;padding:.25rem .64rem;background:#fff8e8d6;color:#7a5c1f;font-size:.82rem}.tag-strip button.active{border-color:#1a9b887a;background:#1a9b881f;color:var(--teal-dark)}.tag-strip.mini{margin-bottom:.75rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:24rem;gap:.9rem;max-height:48.9rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.25rem;scrollbar-color:rgba(16,147,127,.45) transparent}.content-card{display:grid;grid-template-rows:9.5rem 1fr;min-height:0;height:24rem;overflow:hidden;border:1px solid rgba(24,42,39,.13);border-radius:var(--radius);background:#ffffffd1;box-shadow:0 10px 26px #18272412;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.content-card:hover{transform:translateY(-2px);border-color:#10937f47;box-shadow:0 18px 38px #1827241f}.card-cover{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#10937f2e,#ffffff9e),var(--sage)}.content-card.image .card-cover{background:linear-gradient(135deg,#e66f4f1f,#fff8e8e6),repeating-linear-gradient(45deg,rgba(24,42,39,.035) 0 1px,transparent 1px 10px)}.content-card.article .card-cover{background:linear-gradient(135deg,#b9872e33,#f7fbf8e0)}.card-cover img{width:100%;height:100%;object-fit:cover}.content-card.image{grid-column:auto;grid-template-rows:9.5rem 1fr;min-height:24rem}.content-card.image .card-cover{min-height:0;height:auto;padding:.45rem}.content-card.image .card-cover img{width:100%;height:100%;border-radius:6px;object-fit:contain;background:#ffffffb8;box-shadow:0 10px 28px #1827241f}.content-card.image .card-body{min-height:auto;padding:1.15rem}.content-card.image .card-body p:empty{display:none}.content-card.image .tag-strip.mini{margin-top:.65rem}.pin{position:absolute;top:.55rem;right:.55rem;display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.24rem .5rem;background:#fffaf0e6;color:var(--teal-dark);font-size:.75rem}.card-body{display:flex;flex-direction:column;padding:1rem}.card-body p{min-height:3.25rem;max-height:3.25rem;display:-webkit-box;overflow:hidden;color:var(--muted);line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-type{display:flex;align-items:center;gap:.35rem;margin-bottom:.55rem;color:var(--teal-dark);font-size:.83rem;font-weight:800}.card-type span{margin-left:auto;color:var(--gold)}.card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}.card-actions button,.button-link,.ghost-action{min-height:2.05rem;padding:0 .68rem;font-size:.88rem}.message-form{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) auto;gap:.65rem;margin:1rem 0}.message-form textarea{min-height:3rem}.message-form button{padding-inline:1rem}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.message-list{display:grid;gap:.65rem}.message{border:1px solid var(--line);border-radius:var(--radius);padding:.95rem;background:#ffffffbd;box-shadow:0 8px 22px #1827240f}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:var(--muted);font-size:.9rem}.message-meta strong{color:var(--ink)}.message p{margin:.6rem 0;line-height:1.65}.owner-reply{display:flex;align-items:flex-start;gap:.45rem;border-left:3px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;padding:.55rem .7rem;background:#1a9b8814;color:#28514a}.ghost-action{margin-top:.7rem;background:transparent}.mobile-landing{display:none}.empty{margin:1rem 0;color:var(--muted)}.article-shell,.admin-shell{min-height:100vh;padding:clamp(1rem,3vw,2rem)}.article-page{max-width:58rem;margin:1rem auto;padding:clamp(1.2rem,3vw,2.4rem);line-height:1.78}.article-page h1{font-size:3.5rem;line-height:1}.article-summary{color:var(--muted);font-size:1.08rem}.article-page code{border-radius:5px;padding:.15rem .32rem;background:#ece5d8}.back-link{color:var(--teal-dark);text-decoration:none}.admin-shell{max-width:1480px;margin-inline:auto}.login-shell{display:grid;place-items:center}.login-card{width:min(100%,34rem);padding:1.5rem}.login-card h1.admin-login-title{display:grid;gap:.35rem;font-size:2.7rem;line-height:1}.admin-login-title small{color:var(--teal-dark);font-family:HarmonyOS Sans SC,MiSans,Noto Sans CJK SC,Microsoft YaHei,sans-serif;font-size:1rem;font-weight:800}.login-card button[type=submit]{width:100%;margin-top:.75rem;border-color:transparent;background:var(--teal);color:#fff;font-weight:800}.login-card input,.login-card button{margin-top:.75rem}.admin-header{margin-bottom:1rem}.admin-actions{display:flex;gap:.55rem}.admin-actions a{display:inline-flex;align-items:center;color:var(--teal-dark);text-decoration:none}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.stat-card{display:grid;gap:.35rem;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:#ffffffb3}.stat-card svg{color:var(--teal)}.stat-card span{color:var(--muted)}.stat-card strong{font-size:1.8rem}.admin-grid{display:grid;grid-template-columns:minmax(22rem,.95fr) minmax(25rem,1fr);gap:1rem;align-items:start}.editor,.admin-list,.markdown-preview{padding:1rem}.editor{display:grid;gap:.7rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.upload-row,.toggle-row{display:flex;flex-wrap:wrap;gap:.65rem}.upload-row label,.toggle-row label{display:inline-flex;align-items:center;gap:.42rem;border:1px solid var(--line);border-radius:var(--radius);padding:.68rem .78rem;background:#ffffffa3;cursor:pointer}.upload-row input[type=file]{display:none}.toggle-row input{width:auto}.markdown-editor{min-height:15rem;font-family:Cascadia Code,Consolas,monospace}.notice{color:var(--teal-dark);font-size:.9rem}.admin-row,.admin-message{border-bottom:1px solid var(--line);padding:.85rem 0}.admin-row{display:flex;justify-content:space-between;gap:.7rem}.admin-row span{display:block;margin-top:.25rem;color:var(--muted);font-size:.86rem}.admin-row div:last-child{display:flex;gap:.4rem}.admin-message p{color:var(--muted)}.markdown-preview{grid-column:2;line-height:1.7}@keyframes breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.45rem) scale(1.012)}}@keyframes mascot-wave{0%,to{transform:translate(0) rotate(0)}35%{transform:translate(.55rem) rotate(2deg)}70%{transform:translate(-.25rem) rotate(-1deg)}}@media(max-width:1180px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.content-pane{padding:1rem}h1{font-size:3rem}.mascot{width:min(98%,25rem)}.card-grid,.toolbar,.toolbar.slim,.message-form{grid-template-columns:1fr}.content-card.image{grid-column:auto;grid-template-rows:9.5rem 1fr}.content-card.image .card-cover{height:auto}.topbar,.section-head{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.site-shell{display:block;height:auto;overflow:visible}.mascot-rail{display:none}.content-pane{height:auto;min-height:100vh;overflow:visible;padding:1rem}.card-grid{max-height:none;overflow:visible;padding-right:0}.mobile-landing{display:grid;min-height:62vh;place-items:center;align-content:center;gap:1rem;padding:.4rem 0 1.2rem}.mascot.compact{width:min(76vw,22rem);min-height:20rem}.mascot.compact .speech{top:5%;right:6%;opacity:1;transform:none}.jump-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%}.jump-actions button{display:inline-flex;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);padding:.86rem .5rem;background:#ffffffc2;color:var(--ink);text-decoration:none;font-weight:800}.admin-header{align-items:flex-start;flex-direction:column}.admin-grid,.field-row{grid-template-columns:1fr}.content-card{min-height:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.markdown-preview{grid-column:auto}h1{font-size:2.4rem}}@media(max-width:460px){.jump-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:1fr}.admin-row{flex-direction:column}}
