:root{color-scheme:light;--ink:#20322b;--green:#315d48;--line:#dce2db;--paper:#fafaf6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;line-height:1.65}a{color:var(--green);text-underline-offset:4px}header{padding:22px max(24px,calc((100vw - 1160px)/2));display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:24px;font-weight:800;text-decoration:none;white-space:nowrap}.brand span{font-size:14px;font-weight:500;margin-left:12px}nav{display:flex;gap:24px;align-items:center}nav form{margin:0}main{max-width:1160px;padding:38px 24px 70px;margin:auto}h1{font-size:34px;line-height:1.3;margin:12px 0 24px}h2{font-size:22px;line-height:1.5}p{margin:12px 0}.eyebrow{font-size:12px;letter-spacing:2px;color:#607565}.muted{color:#68766e;font-size:14px}button,.button{font:inherit;display:inline-block;border:1px solid var(--green);background:var(--green);color:white;border-radius:6px;padding:10px 18px;cursor:pointer;text-decoration:none}.secondary{color:var(--green);background:white}.quiet{background:transparent;color:var(--green);border:0}.danger{background:#8b3e32;border-color:#8b3e32}button:disabled{opacity:.5;cursor:default}input,textarea,select{font:inherit;padding:10px 12px;width:100%;border:1px solid #aebbb1;border-radius:5px;background:white;color:#182e23}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid #b8d7c1;outline-offset:2px}label{display:block;font-weight:600;margin-bottom:20px}label input,label textarea,label select{display:block;margin-top:6px;font-weight:400}.auth{max-width:470px;margin:35px auto;padding:32px;background:white;border:1px solid var(--line);border-radius:12px}.auth button{width:100%}.notice,.error{padding:16px 20px;border-radius:6px;margin-bottom:24px;background:#e7f0e5;border:1px solid #bad1b7}.error{background:#fff0e8;border-color:#dfb49b}.stats{display:flex;gap:30px;padding:20px;background:#edf1ea;border-radius:8px}.stats b{margin-left:10px;font-size:24px}.filters{display:flex;gap:16px;align-items:end;margin-top:30px}.filters label{margin:0;flex:1}.filters label:first-child{flex:3}.post-list{border-top:1px solid var(--line)}.post-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.post-list h2{margin:8px 0}.post-list h2 a{text-decoration:none}.post-list .button{white-space:nowrap}.badge{display:inline-block;font-size:12px;padding:3px 9px;background:#ece9e0;border-radius:4px}.badge.live{background:#e1eddf;color:#305038}.edit-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.editor{max-width:920px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 0;margin-bottom:20px}.editor>.actions:first-of-type{position:sticky;top:0;background:var(--paper);z-index:1;border-bottom:1px solid var(--line)}details{padding:16px;border:1px solid var(--line);margin:20px 0;background:white;border-radius:6px}summary{cursor:pointer;font-weight:600}.categories{display:flex;flex-wrap:wrap;gap:16px}.categories label{display:flex;align-items:center;gap:6px;margin:0}.categories input{width:auto}.text-block{padding:16px;background:white;border:1px solid var(--line);border-radius:6px}.text-block span{font-size:13px;color:#607565}.saved-preview{max-width:800px;overflow:auto;padding:20px}.saved-preview img{max-width:100%;height:auto}.saved-preview table{border-collapse:collapse}.saved-preview td{border:1px solid #aaa;padding:8px}.withdraw{border-top:1px solid var(--line);padding-top:20px;margin-top:40px}footer{padding:24px;text-align:center;color:#68766e;border-top:1px solid var(--line);font-size:13px}@media(max-width:650px){header{align-items:start;padding:16px;flex-direction:column;gap:8px}nav{font-size:14px}.auth{margin:0;padding:20px}main{padding:24px 16px}.stats{gap:15px;font-size:13px}.stats b{font-size:19px}.filters{flex-wrap:wrap}.filters label:first-child{flex-basis:100%}.post-list article,.edit-heading{align-items:start;flex-direction:column}h1{font-size:28px}.actions button{font-size:14px;padding:10px}.actions .muted{width:100%}}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.media-grid article{padding:16px;border:1px solid var(--line);background:white;overflow-wrap:anywhere}.media-grid img{width:100%;height:180px;object-fit:contain}.media-thumb{max-width:260px;max-height:180px;object-fit:contain}.image-choice{padding:20px 0;border-bottom:1px solid var(--line)}.upload-form{max-width:650px;padding:24px;border:1px solid var(--line);background:white}
.block-card{padding:20px;border:1px solid var(--line);margin:24px 0;background:white}.block-preview{max-height:420px;overflow:auto}.block-preview img,.block-preview video{max-width:100%;max-height:350px;height:auto}.block-preview table{border-collapse:collapse}.block-preview td{border:1px solid #aaa;padding:10px}.block-card form{display:inline-block}.block-card .actions{margin:0}#rich-editor{min-height:300px;background:white;font-size:18px}.ql-toolbar{background:white;position:sticky;top:0;z-index:2}.ql-toolbar button{padding:3px;border-radius:0}.ql-toolbar select{width:auto}.ql-editor{min-height:300px}video{max-width:100%;height:auto}

.planning-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:end}.planning-form>label{margin:0;min-width:0}.planning-form fieldset{grid-column:1/-1;min-width:0;border:1px solid var(--line);padding:16px;border-radius:6px}.planning-form fieldset label{display:inline-flex;align-items:center;gap:8px;margin:6px 20px 6px 0;font-weight:400}.planning-form input[type=checkbox]{display:inline-block;width:auto;margin:0}.planning-form button{justify-self:start}.planning-table{border-collapse:collapse;width:100%}.planning-table th,.planning-table td{padding:12px;border:1px solid var(--line);vertical-align:top;text-align:left}.planning-table th{background:#edf1ea}#booking-result{scroll-margin-top:24px}@media(max-width:650px){.planning-form{grid-template-columns:1fr}.planning-table.wide{min-width:700px}}
