@import"https://tauhu.tw/tauhu-oo.css";:root{--color-main: #43944f;--color-main-background: #f9fbf9;--color-fade-main: #5b9564;--color-dark-main: #23672e;--color-gray-main: #657160;--color-fade-dark-main: #3F4D38;--color-light-main: #d0e3d0;--color-fade-light-main: #eef5ef;--color-gray-light-main: #C5D1C0;--color-input-placeholder: #b8d3ad;--color-orange: #d19e6d;--color-navy: #6b7794;--color-light-gray: #ededed;--color-table-border: #99c799;--color-site-nav: #2b9365;--shadow-basic: 0 4px 2px 0 rgba(0, 0, 0, .16);--so-accent: var(--color-main);--so-accent-hover: var(--color-dark-main);--so-header-bg: var(--color-dark-main);--so-header-hover: var(--color-fade-main);--so-topbar-accent: var(--color-main);--so-bg: var(--color-main-background);--so-white: #ffffff;--so-border: var(--color-gray-light-main);--so-border-light: var(--color-light-main);--so-text: var(--color-fade-dark-main);--so-text-secondary: var(--color-gray-main);--so-text-muted: #8a9a85;--so-tag-bg: var(--color-fade-light-main);--so-tag-text: var(--color-dark-main);--so-sidebar-bg: var(--color-fade-light-main);--so-card-shadow: 0 1px 2px rgba(0,0,0,.05), 0 1px 4px rgba(0,0,0,.05)}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:TaigiFont,tauhu-oo,PingFangTC-Regular,Microsoft JhengHei,sans-serif;background-color:var(--so-bg);color:var(--so-text);letter-spacing:1px;line-height:1.6}a{color:var(--color-dark-main);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1264px;margin:0 auto;padding:0 24px;width:100%}.content-wrapper{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding:24px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:3px;border:1px solid var(--so-border);background-color:var(--so-white);font-size:13px;font-weight:400;color:var(--so-text-secondary);text-decoration:none;white-space:nowrap;cursor:pointer;transition:all .1s;box-shadow:none;line-height:1}.btn:hover{background-color:#f8f9f9;color:var(--so-text)}.btn-primary{background-color:var(--so-accent);color:var(--so-white);border-color:var(--so-accent);box-shadow:inset 0 1px #fff6}.btn-primary:hover{background-color:var(--so-accent-hover);color:var(--so-white)}input[type=text]{height:33px;line-height:33px;width:100%;border:1px solid var(--so-border);padding:0 10px;background-color:var(--so-white);border-radius:3px;font-size:13px;color:var(--so-text)}input[type=text]:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 4px #43944f26}input[type=text]::placeholder{color:var(--so-text-muted)}.spinner{border:3px solid var(--so-border-light);width:28px;height:28px;border-radius:50%;border-left-color:var(--so-accent);animation:spin .8s linear infinite;display:inline-block;margin:16px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.site-header{background-color:var(--so-header-bg);color:#fff;padding:0;box-shadow:0 1px #0000001a;border-top:3px solid var(--so-topbar-accent);position:sticky;top:0;z-index:100}.site-header .container{display:flex;align-items:center;height:50px;gap:8px}.site-title{font-size:18px;font-weight:700;color:#fff;text-decoration:none;padding:0 12px;height:100%;display:flex;align-items:center;border-left:none;transition:background .1s;white-space:nowrap}.site-title:hover{background-color:var(--so-header-hover);text-decoration:none;color:#fff}.site-nav{display:flex;align-items:center;height:100%}.site-nav a{color:#b8d3ad;padding:0 12px;font-size:13px;font-weight:400;height:100%;display:flex;align-items:center;transition:background .1s,color .1s;margin-left:0}.site-nav a:hover{background-color:var(--so-header-hover);color:#fff;text-decoration:none}.site-footer{background-color:var(--color-fade-dark-main);color:#b8d3ad;padding:32px 0 12px;margin-top:auto;font-size:11px}.site-footer .container{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-columns{display:flex;gap:48px;flex-wrap:wrap;justify-content:center}.footer-column h5{color:#d0e3d0;font-size:13px;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:6px}.footer-column a{color:#b8d3ad;font-size:12px;text-decoration:none;transition:color .1s}.footer-column a:hover{color:#d0e3d0}.footer-copyright{color:#8a9a85;font-size:11px;margin-top:8px}.search-section{max-width:none;margin:0;text-align:left}.search-box{display:flex;gap:8px;margin-bottom:16px}.search-results{text-align:left}.result-card{background:var(--so-white);border:1px solid var(--so-border);border-radius:0;padding:16px;margin-bottom:-1px;box-shadow:none;cursor:pointer;transition:background .1s;display:flex;gap:16px;align-items:flex-start}.result-card:first-child{border-radius:3px 3px 0 0}.result-card:last-child{border-radius:0 0 3px 3px}.result-card:only-child{border-radius:3px}.result-card:hover{transform:none;background-color:var(--so-sidebar-bg);box-shadow:none}.result-card--expanded{background-color:var(--so-white);border-color:var(--so-accent);box-shadow:0 0 0 1px var(--so-accent);z-index:1;position:relative}.result-card--expanded:hover{background-color:var(--so-white)}.expanded-card-body{border-top:1px solid var(--so-border);margin-top:12px;padding-top:12px}.result-title{color:var(--so-accent);font-size:15px;font-weight:400;margin-bottom:4px;line-height:1.4}.result-title:hover{color:var(--so-accent-hover)}.year-filter{margin-bottom:12px;padding:12px;background:var(--so-white);border-radius:3px;border:1px solid var(--so-border)}.year-filter-label{display:block;margin-bottom:8px;color:var(--so-text);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.year-filter-inputs{display:flex;gap:8px;align-items:center;margin-bottom:8px}.year-filter-number{width:60px;padding:4px 6px;border:1px solid var(--so-border);border-radius:3px;font-size:13px;text-align:center}.year-filter-separator{color:var(--so-text-secondary)}.year-filter-unit{font-size:12px;color:var(--so-text-secondary)}.year-slider-container{position:relative;height:36px;padding-top:8px}.year-slider-track{position:absolute;top:8px;left:0;right:0;height:4px;background:var(--so-border);border-radius:2px;z-index:1;pointer-events:none}.year-slider-fill{position:absolute;height:100%;background:var(--so-accent);border-radius:2px;z-index:2;pointer-events:none}.year-range-slider{position:absolute;width:100%;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none;margin:0;padding:0;pointer-events:none;cursor:pointer;top:0;left:0}.year-range-slider::-webkit-slider-runnable-track{width:100%;height:4px;background:transparent;border-radius:2px;cursor:pointer}.year-range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;cursor:grab;border:2px solid var(--so-white);box-shadow:0 1px 3px #0000004d;margin-top:-6px;pointer-events:auto}.year-range-slider-min::-webkit-slider-thumb{background:var(--so-accent)}.year-range-slider-max::-webkit-slider-thumb{background:var(--color-orange)}.year-range-slider::-webkit-slider-thumb:hover{box-shadow:0 1px 5px #0006;transform:scale(1.1)}.year-range-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}.year-range-slider::-moz-range-track{width:100%;height:4px;background:transparent;border-radius:2px;cursor:pointer}.year-range-slider::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;cursor:grab;border:2px solid var(--so-white);box-shadow:0 1px 3px #0000004d;pointer-events:auto}.year-range-slider-min::-moz-range-thumb{background:var(--so-accent)}.year-range-slider-max::-moz-range-thumb{background:var(--color-orange)}.year-range-slider::-moz-range-thumb:hover{box-shadow:0 1px 5px #0006;transform:scale(1.1)}.year-range-slider::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.05)}.year-range-slider-min{z-index:5}.year-range-slider-max{z-index:6}.search-block{margin-bottom:12px;padding:12px;background:var(--so-white);border-radius:3px;border:1px solid var(--so-border)}.search-block-title{margin:0 0 10px;font-size:12px;color:var(--so-text);font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding-bottom:8px;border-bottom:1px solid var(--so-border-light)}.search-block-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.search-input{padding:7px 10px;border:1px solid var(--so-border);border-radius:3px;font-size:13px}.search-input:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 4px #43944f26}.search-input-full{width:100%;padding:7px 10px;border:1px solid var(--so-border);border-radius:3px;font-size:13px;margin-bottom:10px;box-sizing:border-box}.search-input-full:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 4px #43944f26}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--so-border)}.results-title{color:var(--so-text);margin:0;font-size:21px;font-weight:400}.results-count{font-size:13px;font-weight:400;margin-left:8px;color:var(--so-text-secondary)}.clear-btn{padding:6px 12px;font-size:12px;background:var(--so-white);border:1px solid var(--so-border);border-radius:3px;cursor:pointer;color:var(--so-text-secondary);transition:all .1s}.clear-btn:hover{background:var(--so-sidebar-bg);color:var(--so-text)}.filter-bar{display:flex;gap:8px;margin-bottom:12px;align-items:center}.filter-input{flex:1;padding:7px 10px;border:1px solid var(--so-border);border-radius:3px;font-size:13px}.filter-input:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 4px #43944f26}.page-size-select{padding:7px 10px;border:1px solid var(--so-border);border-radius:3px;font-size:13px;cursor:pointer;background:var(--so-white)}.pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-bottom:16px}.pagination-btn{padding:6px 10px;font-size:13px;border:1px solid transparent;border-radius:3px;cursor:pointer;min-width:32px;text-align:center}.pagination-btn--active{background:var(--so-accent);color:var(--so-white);border-color:var(--so-accent)}.pagination-btn--active:hover{background:var(--so-accent-hover)}.pagination-btn--disabled{background:transparent;color:var(--so-border);cursor:not-allowed;border-color:var(--so-border)}.pagination-info{color:var(--so-text);font-size:13px;padding:0 8px}.section-title{color:var(--so-text);font-size:21px;font-weight:400;margin-bottom:16px}.app-title{color:var(--so-text);font-size:24px;font-weight:400;margin:0 0 16px}.no-results{text-align:center;color:var(--so-text-secondary);margin-top:24px;padding:48px 24px;background:var(--so-white);border:1px solid var(--so-border);border-radius:3px}.result-content-preview{margin-top:6px;white-space:pre-wrap;font-size:13px;color:var(--so-text);line-height:1.5}.result-meta{color:var(--so-text-secondary);font-size:12px}.result-meta strong{color:var(--so-text)}.result-meta div{display:inline-block;background:var(--so-tag-bg);color:var(--so-tag-text);padding:2px 6px;border-radius:3px;font-size:12px;margin:2px 4px 2px 0;line-height:1.5}.result-meta div strong{color:var(--so-tag-text);font-weight:600}.split-container{display:flex;min-height:60vh;overflow:hidden;gap:0}.split-left{flex:0 0 300px;min-width:200px;max-width:400px;padding:0 16px 0 0;overflow-y:auto;border-right:1px solid var(--so-border)}.split-right{flex:1;min-width:0;overflow-y:auto;padding-left:24px}.split-resizer{flex-shrink:0;width:6px;background:transparent;cursor:col-resize;border-radius:0;transition:background .15s;margin:0 -3px;position:relative;z-index:1}.split-resizer:hover,.split-resizer:active{background:var(--so-accent);opacity:.3}@media (max-width: 768px){.split-container{flex-direction:column}.split-left,.split-right{flex:none;width:100%;max-width:none;padding:0;border-right:none}.split-left{border-bottom:1px solid var(--so-border);padding-bottom:16px;margin-bottom:16px}.split-resizer{display:none}.footer-columns{flex-direction:column;gap:24px;align-items:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:var(--so-white);border-radius:5px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 50px #00000059}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--so-text-secondary);line-height:1;padding:4px 8px;border-radius:3px;transition:background .1s,color .1s}.modal-close:hover{background:var(--so-bg);color:var(--so-text)}.modal-body{padding:24px}.modal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;background:var(--so-sidebar-bg);padding:16px;border-radius:3px;border:1px solid var(--so-border)}.modal-field{color:var(--so-text-secondary);font-size:13px}.modal-field strong{color:var(--so-text)}.modal-content-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--so-border)}.modal-content-section strong{display:block;margin-bottom:8px;color:var(--so-text);font-size:14px}.modal-text{white-space:pre-wrap;line-height:1.6;color:var(--so-text);background:var(--so-sidebar-bg);padding:16px;border-radius:3px;border:1px solid var(--so-border);font-size:14px}.status-badge{display:flex;gap:12px;align-items:center;font-size:12px;padding:8px 12px;background:var(--so-white);border:1px solid var(--so-border);border-radius:3px;margin-bottom:12px}.comments-section{margin-top:24px;border-top:1px solid var(--so-border);padding-top:16px}.comments-title{font-size:15px;color:var(--so-text);margin-bottom:12px;font-weight:400}.comments-loading,.comments-empty,.comments-login-prompt{color:var(--so-text-secondary);font-size:13px;text-align:center;padding:12px 0}.comments-error{color:#c22e32;font-size:12px;margin-bottom:8px;padding:8px 12px;background:#fdf2f2;border-radius:3px;border:1px solid #f5c6cb}.comments-list{display:flex;flex-direction:column;gap:0;margin-bottom:16px}.comment-item{background:var(--so-white);border-bottom:1px solid var(--so-border-light);border-radius:0;padding:12px 0}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-weight:400;font-size:13px;color:var(--so-accent)}.comment-date{font-size:12px;color:var(--so-text-muted)}.comment-delete{margin-left:auto;background:none;border:none;color:var(--so-text-muted);cursor:pointer;font-size:12px;line-height:1;padding:2px 6px;border-radius:3px;transition:background .1s,color .1s}.comment-delete:hover{background:#fdf2f2;color:#c22e32}.comment-body{font-size:13px;line-height:1.5;white-space:pre-wrap;color:var(--so-text)}.comment-form{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--so-border-light)}.comment-input{width:100%;padding:8px 10px;border:1px solid var(--so-border);border-radius:3px;font-family:inherit;font-size:13px;resize:vertical;min-height:60px;box-sizing:border-box;transition:border-color .1s,box-shadow .1s}.comment-input:focus{outline:none;border-color:var(--so-accent);box-shadow:0 0 0 4px #43944f26}.comment-form-footer{display:flex;justify-content:space-between;align-items:center}.comment-char-count{font-size:12px;color:var(--so-text-muted)}.comment-submit{padding:8px 16px;background:var(--so-accent);color:var(--so-white);border:1px solid var(--so-accent);border-radius:3px;font-size:13px;font-weight:400;cursor:pointer;transition:background .1s;box-shadow:inset 0 1px #fff6}.comment-submit:hover:not(:disabled){background:var(--so-accent-hover)}.comment-submit:disabled{opacity:.5;cursor:not-allowed}
