*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fbfaf6}body{color:#243247;margin:0;font-family:Noto Serif SC,Songti SC,STSong,serif}a{color:inherit;text-decoration:none}.site-shell{background:linear-gradient(#fffdf8,#f5f1e8);min-height:100vh}.container{width:min(1120px,100% - 40px);margin:auto}.topbar{border-bottom:1px solid #e8e2d6;justify-content:space-between;align-items:center;height:70px;display:flex}.brand{letter-spacing:.12em;align-items:center;gap:10px;font-weight:800;display:flex}.seal{color:#fff;background:#237b78;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.brand small{color:#7c8795;letter-spacing:.12em;margin-top:3px;font:10px ui-sans-serif,system-ui;display:block}.nav{color:#687382;align-items:center;gap:24px;font:14px ui-sans-serif,system-ui;display:flex}.button{color:#fff;cursor:pointer;background:#237b78;border:0;border-radius:8px;padding:10px 15px;font:14px ui-sans-serif,system-ui}.button.ghost{color:#237b78;background:#edf7f4;border:1px solid #c6ded9}.button.warn{background:#b87935}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:66px 0 38px;display:grid}.eyebrow{color:#c18a3b;letter-spacing:.18em;font:12px ui-sans-serif}.hero h1{margin:13px 0;font-size:62px}.hero p{color:#667080;max-width:500px;line-height:1.9}.search{background:#fff;border:1px solid #e8e2d6;border-radius:10px;padding:5px;display:flex;box-shadow:0 12px 35px #303a4814}.search input{border:0;outline:0;flex:1;padding:11px;font:14px ui-sans-serif}.hero-card{background:linear-gradient(140deg,#dbeae4,#f6ead5);border-radius:22px;min-height:270px;padding:32px;box-shadow:0 18px 50px #323a4917}.paper{background:#fffdf8df;max-width:315px;margin-top:42px;padding:22px;transform:rotate(-4deg);box-shadow:0 15px 24px #323a491a}.paper h3{margin:0 0 9px}.paper small{color:#c18a3b}.paper p{margin:16px 0 0;line-height:1.9}.section{padding:30px 0 64px}.section-head{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section h2{margin:0}.muted{color:#7c8795;font:13px ui-sans-serif,system-ui}.cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{background:#ffffffb8;border:1px solid #e8e2d6;border-radius:14px;padding:20px}.card h3{margin:14px 0 6px}.card .author{color:#c18a3b;font-size:13px}.card blockquote{color:#5f6b78;border-left:2px solid #c8ded8;margin:15px 0 0;padding-left:13px;font-size:14px;line-height:1.9}.tags{gap:7px;margin-top:17px;display:flex}.tag{color:#768190;background:#f5f2ea;border-radius:5px;padding:5px 8px;font:11px ui-sans-serif}.footer{color:#87909a;border-top:1px solid #e8e2d6;padding:28px 0;font:12px ui-sans-serif}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.footer-beian{color:inherit;text-decoration:none;transition:color .15s}.footer-beian:hover{color:#237b78;text-decoration:underline}.admin-bg{background:#f5f7f6;min-height:100vh}.admin-layout{min-height:100vh;display:flex}.admin-side{color:#effaf7;background:#173d3c;width:235px;padding:24px 16px}.admin-side h2{padding:0 12px}.admin-side p{color:#a9cfca;padding:0 12px;font:12px ui-sans-serif}.admin-menu{gap:6px;margin-top:35px;display:grid}.admin-menu a{color:#cde7e3;border-radius:7px;padding:12px;font:14px ui-sans-serif}.admin-menu a.active,.admin-menu a:hover{color:#fff;background:#2b706d}.admin-main{flex:1;padding:32px 42px}.admin-top{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.admin-title{margin:0;font-size:26px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat{background:#fff;border:1px solid #e2e8e6;border-radius:12px;padding:19px}.stat small{color:#7c8795;font:12px ui-sans-serif;display:block}.stat strong{color:#237b78;margin-top:12px;font:28px ui-sans-serif;display:block}.table-card{background:#fff;border:1px solid #e2e8e6;border-radius:12px;margin-top:24px;padding:20px}.table{border-collapse:collapse;width:100%;font:13px ui-sans-serif}.table th,.table td{text-align:left;border-bottom:1px solid #edf0ee;padding:13px 8px}.pill{color:#237b78;background:#edf7f4;border-radius:20px;padding:4px 8px;font-size:11px}.login-page{background:linear-gradient(140deg,#e4f0ed,#fbfaf6);place-items:center;min-height:100vh;display:grid}.login-box{background:#fff;border:1px solid #e2e8e6;border-radius:15px;width:min(410px,100% - 30px);padding:35px;box-shadow:0 20px 55px #173d3c18}.login-box h1{margin:0 0 8px}.form-label{color:#566473;margin:19px 0 7px;font:13px ui-sans-serif;display:block}.form-input{border:1px solid #dce5e1;border-radius:7px;outline:0;width:100%;padding:12px;font:14px ui-sans-serif}.form-input:focus{border-color:#237b78}.login-box .button{width:100%;margin-top:22px}.error{color:#a94442;background:#fff0ef;border-radius:7px;padding:10px;font:13px ui-sans-serif}.split{grid-template-columns:1.2fr .8fr;gap:25px;display:grid}.list-card{background:#fff;border:1px solid #e2e8e6;border-radius:12px;padding:20px}.list-row{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.list-row:last-child{border-bottom:0}@media (max-width:760px){.container{width:calc(100% - 28px)}.hero{grid-template-columns:1fr;gap:25px;padding-top:42px}.hero h1{font-size:48px}.cards,.stats,.split{grid-template-columns:1fr}.nav a:not(.nav-cta){display:none}.admin-side{width:68px;padding:17px 7px}.admin-side h2{text-align:center;padding:0;font-size:0}.admin-side h2:after{content:"诗";font-size:21px}.admin-side p,.admin-menu a span{display:none}.admin-menu a{text-align:center}.admin-main{padding:22px 15px}}.admin-menu a{align-items:center;gap:10px;display:flex}.side-bottom{color:#a9cfca;margin-top:auto;padding:25px 12px 0;font:12px ui-sans-serif}.side-bottom p{margin:18px 0;padding:0}.side-bottom .button{width:100%;font-size:12px}.notice{color:#237b78;background:#edf7f4;border-radius:7px;padding:10px;font:13px ui-sans-serif}.center{text-align:center;margin-top:20px}.form-textarea{resize:vertical;min-height:140px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-full{grid-column:1/-1}.form-card{background:#fff;border:1px solid #e2e8e6;border-radius:12px;padding:24px}.form-card h3{margin-top:0}.check{align-items:center;gap:8px;font:13px ui-sans-serif;display:flex}.danger{color:#a94442;font:13px ui-sans-serif}.admin-side{flex-direction:column;display:flex}.poem-fields{border:0;min-width:0;margin:0;padding:0}.form-actions{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.form-label .form-input{margin-top:8px}.form-input.form-textarea{line-height:1.8}.table-link{color:#237b78;text-underline-offset:3px;text-decoration:underline}.button:disabled{opacity:.6;cursor:wait}.admin-main{min-width:0}.table-card{overflow-x:auto}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.filter-bar form{background:#fff;border:1px solid #e8e2d6;border-radius:10px;flex:1;gap:6px;min-width:250px;padding:5px;display:flex;box-shadow:0 8px 24px #303a480f}.filter-bar input{border:0;outline:0;flex:1;min-width:0;padding:9px 11px;font:14px ui-sans-serif,system-ui}.filter-bar .button{white-space:nowrap;padding:9px 16px}.result-count{color:#7c8795;white-space:nowrap;font:13px ui-sans-serif}.chips{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.chip{color:#687382;background:#ffffffb8;border:1px solid #e8e2d6;border-radius:20px;padding:6px 12px;font:13px ui-sans-serif;transition:none}.chip:hover{border-color:#c6ded9}.chip.active{color:#fff;background:#237b78;border-color:#237b78}.chip em{opacity:.6;margin-left:5px;font-size:11px;font-style:normal}.empty{text-align:center;color:#7c8795;padding:70px 0}.empty h2{color:#243247;margin:0 0 8px;font-size:18px}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:36px;font:13px ui-sans-serif,system-ui;display:flex}.pager a,.pager span{color:#687382;background:#ffffffb8;border:1px solid #e8e2d6;border-radius:8px;padding:8px 13px}.pager a:hover{color:#237b78;border-color:#c6ded9}.pager .current{color:#fff;background:#237b78;border-color:#237b78}.pager .disabled{opacity:.4}.pager .gap{color:#8a94a2;background:0 0;border:0;padding:0 2px}.chip-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.chip-row .chips{margin-bottom:0}.chip-label{color:#8a94a2;letter-spacing:.1em;min-width:28px;font:12px ui-sans-serif}.row-tags{color:#95a0ae;white-space:nowrap;text-overflow:ellipsis;max-width:230px;margin-top:4px;font:11px ui-sans-serif;overflow:hidden}.row-flags{color:#237b78;white-space:nowrap;font:12px ui-sans-serif}.pill.hot{color:#b1653a;background:#fbe8dc}.pill.warm{color:#a0801f;background:#f6efe0}.pill.dim{color:#8b95a3;background:#eef1f4}.breadcrumb{color:#7c8795;flex-wrap:wrap;gap:8px;margin-bottom:22px;font:13px ui-sans-serif;display:flex}.breadcrumb a{color:#7c8795}.breadcrumb a:hover{color:#237b78}.poem-detail{max-width:780px;margin:0 auto}.poem-detail h1{margin:0 0 12px;font-size:36px;line-height:1.35}.poem-meta{color:#c18a3b;margin-bottom:30px;font:14px ui-sans-serif}.poem-body{text-align:center;background:#ffffffb8;border:1px solid #e8e2d6;border-radius:14px;padding:36px 30px;font-size:19px;line-height:2.4}.detail-block{background:#ffffffb8;border:1px solid #e8e2d6;border-radius:14px;margin-top:24px;padding:24px}.detail-block h2{color:#237b78;letter-spacing:.08em;margin:0 0 14px;font-size:15px}.detail-block p{color:#4a5766;white-space:pre-wrap;margin:0;line-height:2.1}.detail-note{color:#7c8795;margin-top:22px;font:13px ui-sans-serif}.audio-player{width:100%;height:36px}.audio-field{background:#fdfcf8;border:1px dashed #e0d8c8;border-radius:12px;gap:12px;margin-top:8px;padding:14px;display:grid}.audio-current{gap:8px;display:grid}.audio-path{color:#7c8795;word-break:break-all;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.audio-empty{margin:0;font-size:13px}.form-hint{margin-top:5px;font-size:12px;line-height:1.6;display:block}.admin-top-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress{background:#eef1f4;border-radius:99px;height:10px;margin:12px 0;overflow:hidden}.progress span{background:linear-gradient(90deg,#237b78,#4aa8a0);height:100%;transition:width .4s;display:block}.log-title{margin:18px 0 8px;font-size:13px}.log-tail{color:#687382;white-space:pre-wrap;background:#fbfaf6;border:1px solid #e8e2d6;border-radius:10px;max-height:220px;margin:0;padding:12px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}@media (max-width:760px){.filter-bar form{min-width:100%}.poem-detail h1{font-size:27px}.poem-body{padding:26px 18px;font-size:17px;line-height:2.2}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.admin-top{flex-wrap:wrap;gap:12px}.admin-side{flex-shrink:0}.admin-side .brand>span:last-child{display:none}}.story-list{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.story-card{background:linear-gradient(160deg,#fffdf8,#f4f8f7);border:1px solid #e8e2d6;border-radius:14px;flex-direction:column;padding:22px;display:flex}.story-card:hover{border-color:#c6ded9;box-shadow:0 10px 26px #303a480f}.story-card h3{margin:8px 0 10px;font-size:19px;line-height:1.55}.story-card .story-source{color:#c18a3b;font:13px ui-sans-serif}.story-card .story-intro{color:#7c8795;margin:0;font:13px/1.9 ui-sans-serif}.story-card .story-foot{color:#8a94a2;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font:12px ui-sans-serif;display:flex}.story-card .story-foot .dot{opacity:.5}.story-play{color:#fff;background:#237b78;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;display:inline-flex}.story-poem-line{color:#5b6876;border-top:1px solid #efe9dc;margin-top:14px;padding-top:14px;font-size:13px;line-height:1.9}.story-poem-line span{color:#8a94a2;margin-bottom:3px;font-size:11px;display:block}.story-entry{background:linear-gradient(140deg,#f2f8f6,#fdfaf3);border:1px solid #e6efe9;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.story-entry h3{margin:0 0 6px;font-size:17px;line-height:1.5}.story-entry p{color:#7c8795;margin:0;font:13px ui-sans-serif}.story-entry .story-play{flex-shrink:0;width:30px;height:30px;font-size:11px}.story-detail{max-width:760px;margin:0 auto}.story-detail h1{margin:0 0 12px;font-size:33px;line-height:1.4}.story-meta{color:#7c8795;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:26px;font:13px ui-sans-serif;display:flex}.story-meta .sep{opacity:.4}.story-player{background:linear-gradient(140deg,#eef6f3,#fbf4e8);border:1px solid #e8e2d6;border-radius:14px;margin-bottom:22px;padding:20px}.story-player .story-player-head{color:#237b78;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font:13px ui-sans-serif;display:flex}.story-player .story-player-head span{color:#8a94a2;letter-spacing:0}.story-body{color:#3d4a59;background:#fffdf8;border:1px solid #e8e2d6;border-radius:14px;padding:34px 32px;font-size:18px;line-height:2.2}.story-body p{text-indent:2em;margin:0 0 18px}.story-body p:last-child{margin-bottom:0}.story-poem-card{background:#fdfcf8;border:1px dashed #ddd3c0;border-radius:14px;margin-top:22px;padding:24px}.story-poem-card h2{color:#c18a3b;letter-spacing:.08em;margin:0 0 6px;font-size:14px}.story-poem-card .story-poem-author{color:#8a94a2;margin-bottom:16px;font:12px ui-sans-serif}.story-poem-card .poem-line{text-align:center;color:#4a5766;font-size:17px;line-height:2.2}@media (max-width:1000px){.story-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.story-list,.cards{grid-template-columns:1fr}.story-detail h1{font-size:25px}.story-body{padding:24px 20px;font-size:17px;line-height:2.1}}.table .button{border-radius:6px;padding:7px 12px;font-size:12px}.nav-login{color:#687382}.nav-login:hover{color:#237b78}.nav-user{align-items:center;gap:6px;max-width:170px;display:inline-flex}.nav-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bookmark{position:relative}.bookmark-trigger{align-items:center;gap:6px;display:inline-flex}.bookmark-pop{z-index:20;text-align:left;background:#fff;border:1px solid #e2e8e6;border-radius:12px;width:284px;padding:18px;font:13px ui-sans-serif;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 45px #173d3c1f}.bookmark-pop strong{color:#243247;margin-bottom:9px;font-size:14px;display:block}.bookmark-pop p{color:#687382;margin:0 0 12px;line-height:1.85}.bookmark-pop kbd{background:#f7faf9;border:1px solid #dce5e1;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font:12px ui-sans-serif}.bookmark-drag{color:#237b78;cursor:grab;background:#edf7f4;border:1px dashed #c6ded9;border-radius:8px;align-items:center;gap:6px;margin-bottom:10px;padding:9px 12px;font:13px ui-sans-serif;display:flex}.bookmark-copy{justify-content:center;align-items:center;gap:6px;width:100%;display:inline-flex}.favorite-form{margin:0}.poem-head{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.poem-head .button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.account-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.account-title{margin:0 0 6px;font-size:30px}.account-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:46px;display:grid}.account-card{background:#fff;border:1px solid #e2e8e6;border-radius:14px;padding:24px}.account-card h3{margin:0 0 16px}.account-row{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font:13px ui-sans-serif;display:flex}.account-row:last-child{border-bottom:0}.account-row>span:first-child{color:#7c8795}.account-benefits{margin:0 0 14px;padding:0;font:13px ui-sans-serif;list-style:none}.account-benefits li{color:#566473;padding:8px 0 8px 24px;position:relative}.account-benefits li:before{position:absolute;top:8px;left:2px}.account-benefits li.on:before{content:"✓";color:#237b78}.account-benefits li.soon:before{content:"·";color:#c18a3b;font-weight:700}.account-benefits li.soon{color:#8b95a3}@media (max-width:900px){.account-grid{grid-template-columns:1fr}}@media (max-width:760px){.bookmark-label{display:none}.bookmark-pop{width:246px;right:-6px}.nav-user{max-width:88px}.poem-head{flex-direction:column;align-items:flex-start;gap:12px}.account-head{flex-direction:column;align-items:flex-start}.account-title{font-size:25px}}
