.toast-wrap{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;min-width:160px;max-width:80vw;padding:12px 24px;border-radius:0;font-size:14px;line-height:1.5;letter-spacing:1px;text-align:center;color:#fff;background:rgba(44,62,44,.88);border:1px solid rgba(184,205,184,.5);box-shadow:0 8px 24px #2c3e2c40;user-select:none}.toast-wrap.toast-success{background:rgba(74,122,82,.92);border-color:#8fae93}.toast-wrap.toast-error{background:rgba(139,115,115,.95);border-color:#a88f8f}.toast-wrap.toast-warn{background:rgba(102,128,106,.95);border-color:#b8cdb8}@media (max-width: 700px){.toast-wrap{font-size:13px;padding:10px 20px;min-width:140px}}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%,-60%)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .2s ease,transform .2s ease}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:"Noto Serif SC",Songti SC,SimSun,STSong,serif;background:#f5f3ef;min-height:100vh;color:#2c3e2c}#app-root{max-width:1000px;margin:0 auto;padding:30px 20px}.homepage{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bamboo{position:fixed;left:30%;top:33.33%;height:46.67vh;width:auto;transform:translate(-50%);z-index:-1;pointer-events:none;user-select:none}@media (max-width: 700px){.bamboo{left:42%;top:50%;height:35.71vh}}.home-header{text-align:center;margin-bottom:36px}.home-title-row{display:flex;align-items:center;justify-content:center;gap:20px}.title-line{height:1px;background:#b8cdb8;flex:0 1 80px}.home-title{font-size:28px;color:#2c3e2c;letter-spacing:8px;font-weight:700;white-space:nowrap}.home-subtitle{text-align:center;color:#6b866b;font-size:14px;letter-spacing:4px;margin-top:10px}a:link,a:visited,a:active,a:hover{color:#666}.author-note-wrapper{display:flex;max-width:600px;margin:0 auto 36px}.author-note-bar{width:4px;background:#2c3e2c;flex-shrink:0}.author-note-box{flex:1;background:#faf9f6;border:1px dashed #b8cdb8;border-left:none;min-height:160px;padding:24px 20px;display:flex;align-items:center;justify-content:center;color:#2c3e2c;font-size:15px;line-height:2;letter-spacing:1px;white-space:pre-wrap;text-align:left}.author-note-box>span{width:100%}.entry-cards{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:40px}.entry-card{width:190px;height:70px;background:#fff;border:1px solid #b8cdb8;cursor:pointer;position:relative;overflow:hidden;transition:all .25s ease}.card-deco-bar{height:4px;background:#2c3e2c}.card-body{padding:8px 10px}.card-title{font-size:15px;color:#2c3e2c;font-weight:600;letter-spacing:2px}.card-subtitle{font-size:13px;color:#6b866b;margin-top:4px;letter-spacing:1px}.entry-card:hover{background:#f5f8f4;border-color:#4a7a52;transform:translateY(-3px);box-shadow:0 2px 8px #4a7a521f}.random-poem{text-align:center;color:#6b866b;opacity:.7;font-size:12px;letter-spacing:1px;margin:40px 0 20px;line-height:1.8}.random-poem-title{font-size:11px;margin-top:4px;opacity:.8}.table-page{animation:fadeIn .3s ease}.table-page-header{display:flex;align-items:center;gap:24px;margin-bottom:16px;flex-wrap:wrap}.back-link{color:#4a7a52;cursor:pointer;font-size:14px;text-decoration:none;white-space:nowrap;letter-spacing:1px}.back-link:hover{color:#2c3e2c;text-decoration:underline}.tabs{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%}.tabs::-webkit-scrollbar{height:6px}.tabs::-webkit-scrollbar-thumb{background:#b8cdb8;border-radius:3px}.tab{padding:8px 22px;font-size:14px;cursor:pointer;background:#f0ede8;color:#6b866b;border:1px solid #b8cdb8;letter-spacing:1px;transition:all .2s;flex:0 0 auto;min-width:120px;text-align:center;white-space:nowrap}.tab:hover:not(.active){background:#faf9f6;color:#4a7a52}.tab.active{background:#fff;color:#2c3e2c;font-weight:700;border-bottom:2px solid #4a7a52}.table-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.title-deco-bar{width:4px;height:22px;background:#2c3e2c;flex-shrink:0}.table-page-title{font-size:18px;color:#2c3e2c;font-weight:700;letter-spacing:2px;white-space:nowrap}.hint{margin-left:auto;font-size:12px;color:#6b866b;letter-spacing:0}.btn-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding:8px 10px;background:#faf9f6;border:1px solid #b8cdb8}.filler-input{padding:5px 8px;border:1px solid #b8cdb8;font-size:13px;outline:none;background:#fff;color:#2c3e2c;width:180px;font-family:inherit}.filler-input::placeholder{color:#b8cdb8}.filler-input:focus{border-color:#4a7a52}.toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.btn{padding:6px 14px;border:1px solid #b8cdb8;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:1px;background:#fff;color:#2c3e2c;font-family:inherit}.btn:hover{background:#f5f8f4;border-color:#4a7a52}.btn:active{background:#e3f1e5}.btn-csv,.btn-png,.btn-reset{background:#fff;color:#2c3e2c}.zoom-bar{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #b8cdb8;padding:2px 6px}.zoom-btn{padding:2px 8px!important;font-size:13px!important;min-width:24px;background:#faf9f6!important;color:#2c3e2c!important;border:1px solid #b8cdb8!important;font-weight:600;line-height:1.4;cursor:pointer;font-family:inherit}.zoom-btn:hover:not(:disabled){background:#f5f8f4!important;border-color:#4a7a52!important}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-label{font-size:12px;color:#4a7a52;font-weight:600;min-width:36px;text-align:center}.table-wrapper{overflow-x:auto;overflow-y:auto;max-height:70vh;background:#fff;border:1px dashed #b8cdb8;padding:1px}table{border-collapse:separate;border-spacing:0;min-width:0;width:max-content;table-layout:fixed}.export-title-row th{background:#faf9f6!important;color:#2c3e2c!important;border:1px solid #b8cdb8!important;font-size:20px!important;letter-spacing:3px!important;padding:8px!important}th{background:#8fae93;color:#faf9f6;padding:1px;text-align:center;font-weight:600;font-size:13px;border:1px solid #7a9a7e;position:sticky;top:0;z-index:10;letter-spacing:0;cursor:pointer;user-select:none;word-wrap:break-word;word-break:break-all}th.col-0{padding:1px;font-size:12px}th.col-1{padding:1px;font-size:13px}th.hide-col{background:#b8cdb8!important;color:#6b866b}th.hide-col:after{content:"\ff08\9690\85cf\5185\5bb9\ff09";margin-left:6px;font-size:10px;opacity:.9}td{border:1px solid #dde7dd;padding:1px;text-align:center;vertical-align:middle;font-size:13px;line-height:1.3;word-wrap:break-word;word-break:break-all;background:#fff;transition:background .2s;cursor:pointer;position:relative}td.col-0{padding:1px;font-size:11px;line-height:1.3;background:#fcfdfb}td.col-0.source-cell{background:#e3f1e5}td.col-0 .poem-title{font-size:12px;margin-bottom:2px}td.col-0 .poem-content{font-size:11px}td.col-1{padding:1px;font-size:12px;line-height:1.3}td.col-1 .poem-title{font-size:13px;margin-bottom:2px}td.col-1 .poem-content{font-size:11px}tr.hide-poem-content td .poem-content,table.hide-poem-content td .poem-content,td.hide-poem-content .poem-content{display:none}td:hover{background:#f5f8f4;border-color:#4a7a52}td.empty{background:#faf9f6;cursor:default}td.empty:hover{background:#faf9f6;border-color:#b8cdb8}td.source-cell{background:#e3f1e5}td.source-cell:hover{background:#d4e9d7}td[contenteditable=true]{background:#eaf3ed;border-color:#4a7a52;outline:none;cursor:text}.poem-title{font-weight:600;color:#2c3e2c;margin-bottom:2px;display:block;font-size:14px;line-height:1.3}.poem-title.poem-name-only{font-size:18px;margin-bottom:0;font-weight:600;color:#2c3e2c}td.name-only-cell{font-size:14px}td.name-only-cell .poem-title.poem-name-only{font-size:18px}td.col-0.name-only-cell .poem-title.poem-name-only{font-size:15px}td.col-1.name-only-cell .poem-title.poem-name-only{font-size:16px}.poem-content{color:#4e5b4e;font-size:12px;line-height:1.3;display:block}.export-header-row th{background:#faf9f6!important;color:#2c3e2c!important;border:1px solid #b8cdb8!important}.champion-cell{background:#eaf3ed!important;border-color:#4a7a52!important}.champion-cell .poem-title{color:#2c3e2c!important}.acknowledge-box{border:1px solid #b8cdb8;background:#faf9f6;padding:10px 14px;color:#4a6a4e;font-size:13px;text-align:center;letter-spacing:1px;line-height:1.8;margin-bottom:12px}.figure-sub-section{margin-top:18px;padding-top:4px}.figure-sub-section+.figure-sub-section{margin-top:28px}.table-sub-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.table-page-subtitle{font-size:16px;color:#2c3e2c;font-weight:700;letter-spacing:2px;white-space:nowrap}.dlc-section{margin-top:12px}.dlc-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid #b8cdb8}.dlc-title-left{display:flex;align-items:center;gap:8px}.dlc-title{color:#2c3e2c;font-size:18px;font-weight:700;letter-spacing:3px;white-space:nowrap}.dlc-hint{margin-left:auto;color:#6b866b;font-size:12px;text-align:right}.dlc-wrapper{overflow-x:auto;background:#fff;border:1px dashed #b8cdb8;padding:1px;max-height:40vh;overflow-y:auto}#dlcTable{width:max-content;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed}#dlcTable th{background:#a3bca8;color:#faf9f6;padding:5px 4px;font-size:12px;text-align:center;border:1px solid #8fae93;letter-spacing:1px;position:sticky;top:0;z-index:5;word-wrap:break-word;word-break:break-all}#dlcTable td{border:1px solid #dde3e7;padding:3px 4px;vertical-align:middle;text-align:center;font-size:11px;line-height:1.3;background:#fcfdfb;cursor:pointer;word-wrap:break-word;word-break:break-all;transition:all .15s}#dlcTable td.selected{background:#e3f1e5;border-color:#4a7a52;box-shadow:inset 0 0 0 1px #4a7a52}#dlcTable td:hover{background:#f5f8f4;border-color:#4a7a52}#dlcTable td .poem-title{font-size:12px;margin-bottom:2px}#dlcTable td .poem-content{font-size:11px}.loading-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(44,62,44,.4);display:none;align-items:center;justify-content:center;z-index:9999}.loading-mask.active{display:flex}.loading-box{background:#faf9f6;padding:24px 32px;border:1px solid #b8cdb8;text-align:center;color:#2c3e2c}.spinner{width:32px;height:32px;border:3px solid #e5efe6;border-top:3px solid #4a7a52;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 700px){#app-root{padding:16px 8px}.home-title-row{gap:8px}.title-line{display:none}.home-title{font-size:18px;letter-spacing:4px}.home-subtitle{font-size:11px;letter-spacing:2px}.author-note-wrapper{max-width:100%;margin-left:10px;margin-right:10px}.author-note-box{min-height:120px;font-size:12px;padding:20px 16px;line-height:2}.entry-cards{gap:12px}.entry-card{width:150px;height:70px}.card-title{font-size:13px}.card-subtitle{font-size:12px}.table-page-header{flex-direction:column;align-items:flex-start;gap:8px}.tabs{width:100%}.tab{padding:6px 16px;font-size:12px;flex:0 0 auto;min-width:110px;text-align:center;white-space:nowrap}.table-title-row{flex-wrap:wrap}.hint{margin-left:0;width:100%;font-size:10px}.btn-bar{flex-direction:column;align-items:stretch}.filler-input{width:100%}.toolbar-right{width:100%;justify-content:space-between}.btn{padding:5px 8px;font-size:11px;flex:1;text-align:center}.zoom-bar{flex:1;justify-content:center}th,td{font-size:9px;padding:1px;line-height:1.2}th{font-size:9px;letter-spacing:0}th.col-0{font-size:9px}td.col-0{font-size:8.3px;line-height:1.2}td.col-0 .poem-title{font-size:9px;margin-bottom:0}td.col-0 .poem-content{font-size:8px}th.col-1,td.col-1{font-size:8.7px}td.col-1 .poem-title{font-size:9.6px;margin-bottom:0}td.col-1 .poem-content{font-size:8.5px}.poem-title{font-size:10px;margin-bottom:0}.poem-title.poem-name-only,td.name-only-cell .poem-title.poem-name-only{font-size:13px}td.col-0.name-only-cell .poem-title.poem-name-only{font-size:9.6px}td.col-1.name-only-cell .poem-title.poem-name-only{font-size:11px}.poem-content{font-size:8.8px}.table-wrapper{max-height:70vh}.acknowledge-box{font-size:11px;padding:8px 10px;letter-spacing:0}.figure-sub-section+.figure-sub-section{margin-top:20px}.table-page-subtitle{font-size:13px;letter-spacing:1px}.dlc-section{margin-top:10px}.dlc-title-row{flex-wrap:wrap}.dlc-title{font-size:12px;letter-spacing:2px}.dlc-hint{font-size:9px;margin-left:0;width:100%}.dlc-wrapper{max-height:40vh}#dlcTable td,#dlcTable th{padding:1px 2px;font-size:8.3px}#dlcTable th,#dlcTable td .poem-title{font-size:9px}#dlcTable td .poem-content{font-size:8px}}
