*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans TC,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{background-color:var(--paper);background-image:radial-gradient(circle at 12% 8%,rgba(31,61,52,.04),transparent 42%)}body{font-family:Noto Sans TC,sans-serif;--tw-text-opacity: 1;color:rgb(28 28 26 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;min-height:100vh}.wrap{margin-left:auto;margin-right:auto;max-width:520px;padding:0 0 60px}.site-header{position:relative;overflow:hidden;background:var(--green);color:#fff;padding:30px 26px 34px}.site-header .blob{position:absolute;border-radius:50%;background:#ffffff12}.site-header .b1{width:230px;height:230px;top:-90px;right:-70px}.site-header .b2{width:130px;height:130px;top:30px;right:60px;background:#ffffff0d}.site-header .kicker{font-size:12px;letter-spacing:3px;opacity:.8;font-weight:500}.site-header h1{font-family:"Noto Serif TC",serif;font-weight:900;font-size:32px;letter-spacing:2px;margin:4px 0 0;line-height:1.2;position:relative}.site-header h1 small{display:block;font-size:13px;font-weight:500;letter-spacing:1px;opacity:.85;margin-top:8px}.ribbon{position:relative;display:inline-block;margin-top:16px;background:var(--paper-2);color:var(--green-d);font-size:12px;font-weight:700;padding:5px 14px;border-radius:3px;transform:rotate(-1deg);box-shadow:2px 3px #0000001a}.panel{background:var(--paper);padding:18px 22px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.month-nav h2{font-family:"Noto Serif TC",serif;font-weight:700;font-size:21px;letter-spacing:1px}.month-nav button{background:var(--paper-2);border:1px solid var(--line);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:16px;color:var(--ink-soft)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:10px}.cal .dow{text-align:center;font-size:11px;color:var(--ink-soft);font-weight:700;padding:4px 0}.cal .day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;cursor:pointer;font-size:13px;position:relative;color:var(--ink);transition:.15s}.cal .day.empty{cursor:default}.cal .day:not(.empty):hover{background:#fff}.cal .day.sel{background:var(--green);color:#fff;font-weight:700}.cal .day .dots{display:flex;gap:2px}.cal .day .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:2px}.cal .day.sel .dot{background:#cfe0d8!important}.chips{display:flex;flex-direction:column;gap:10px;margin-top:16px}.chipgroup{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.chiplabel{font-size:12px;font-weight:700;color:var(--ink-soft);letter-spacing:1px}.chip{font-size:12.5px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);padding:5px 13px;border-radius:20px;cursor:pointer;font-weight:500;transition:.15s}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip .swatch{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:-1px}.export{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;background:var(--paper-2);border:1px dashed var(--line);border-radius:12px;padding:12px 14px}.export label{font-size:12px;color:var(--ink-soft);font-weight:700}.export input{font-family:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:7px;padding:5px 8px;background:#fff;color:var(--ink)}.export button{margin-left:auto;background:var(--green);color:#fff;border:0;border-radius:8px;padding:8px 16px;font-family:"Noto Serif TC",serif;font-weight:700;font-size:13px;cursor:pointer}.seclabel{font-family:"Noto Serif TC",serif;font-weight:700;font-size:14px;color:var(--ink-soft);letter-spacing:1px;margin:22px 22px 4px;display:flex;align-items:center;gap:10px}.day-reset{font-family:Noto Sans TC,sans-serif;font-weight:700;font-size:12px;letter-spacing:0;color:var(--green);background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:3px 12px;cursor:pointer}.day-reset:hover{background:#fff}.cards{padding:6px 18px}.\!card{background:#fff!important;border-radius:16px!important;overflow:hidden!important;box-shadow:var(--shadow)!important;margin-bottom:18px!important;cursor:pointer!important;transition:transform .18s,box-shadow .18s!important}.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px;cursor:pointer;transition:transform .18s,box-shadow .18s}.\!card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 30px #28281e29!important}.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #28281e29}.\!card .top{padding:26px 22px!important;color:#fff!important;position:relative!important;min-height:118px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important}.card .top{padding:26px 22px;color:#fff;position:relative;min-height:118px;display:flex;flex-direction:column;justify-content:flex-end}.\!card .cat{position:absolute!important;top:14px!important;left:18px!important;font-size:11px!important;letter-spacing:1.5px!important;background:#ffffff38!important;padding:3px 10px!important;border-radius:20px!important;font-weight:700!important}.card .cat{position:absolute;top:14px;left:18px;font-size:11px;letter-spacing:1.5px;background:#ffffff38;padding:3px 10px;border-radius:20px;font-weight:700}.\!card .datebig{position:absolute!important;top:12px!important;right:16px!important;text-align:right!important;line-height:1!important}.card .datebig{position:absolute;top:12px;right:16px;text-align:right;line-height:1}.\!card .datebig .d{font-family:"Noto Serif TC",serif!important;font-weight:900!important;font-size:30px!important}.card .datebig .d{font-family:"Noto Serif TC",serif;font-weight:900;font-size:30px}.\!card .datebig .m{font-size:11px!important;opacity:.85!important;letter-spacing:1px!important}.card .datebig .m{font-size:11px;opacity:.85;letter-spacing:1px}.card .datebig .\!m{font-size:11px!important;opacity:.85!important;letter-spacing:1px!important}.\!card .top h3{font-family:"Noto Serif TC",serif!important;font-weight:900!important;font-size:22px!important;letter-spacing:1px!important;text-shadow:0 1px 8px rgba(0,0,0,.18)!important}.card .top h3{font-family:"Noto Serif TC",serif;font-weight:900;font-size:22px;letter-spacing:1px;text-shadow:0 1px 8px rgba(0,0,0,.18)}.\!card .body{padding:16px 22px 20px!important}.card .body{padding:16px 22px 20px}.card .\!body{padding:16px 22px 20px!important}.\!card .span{display:inline-block!important;font-size:12px!important;font-weight:700!important;letter-spacing:.5px!important;color:var(--green-d)!important;background:#2c4a451a!important;border:1px solid rgba(44,74,69,.18)!important;padding:3px 10px!important;border-radius:20px!important;margin-bottom:10px!important}.card .span{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;color:var(--green-d);background:#2c4a451a;border:1px solid rgba(44,74,69,.18);padding:3px 10px;border-radius:20px;margin-bottom:10px}.\!card .ttl{font-family:"Noto Serif TC",serif!important;font-weight:700!important;font-size:16px!important;color:var(--green-d)!important;margin-bottom:8px!important}.card .ttl{font-family:"Noto Serif TC",serif;font-weight:700;font-size:16px;color:var(--green-d);margin-bottom:8px}.\!card .fact{font-size:13.5px!important;color:var(--ink-soft)!important;display:flex!important;gap:7px!important;margin:3px 0!important}.card .fact{font-size:13.5px;color:var(--ink-soft);display:flex;gap:7px;margin:3px 0}.\!card .fact b{color:var(--accent)!important;font-weight:900!important}.card .fact b{color:var(--accent);font-weight:900}.empty-note{text-align:center;color:var(--ink-soft);font-size:13px;padding:30px}.foot{text-align:center;font-size:11px;color:var(--ink-soft);padding:24px;opacity:.7}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1414108c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:none;align-items:flex-end;justify-content:center}.overlay.show{display:flex}.sheet{background:var(--paper);width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:22px 22px 0 0;animation:sheet-up .28s ease}@keyframes sheet-up{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}.sheet .hero{padding:30px 26px;color:#fff;position:relative}.sheet .hero .cat{font-size:11px;letter-spacing:1.5px;background:#ffffff38;padding:3px 11px;border-radius:20px;font-weight:700;display:inline-block;margin-bottom:10px}.sheet .hero h2{font-family:"Noto Serif TC",serif;font-weight:900;font-size:26px;letter-spacing:1px;line-height:1.25}.sheet .close{position:absolute;top:16px;right:18px;background:#ffffff40;border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:18px;cursor:pointer}.sheet .content{padding:22px 26px 36px}.facts2{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);margin-bottom:20px}.facts2 .row{display:flex;gap:10px;font-size:14.5px;padding:5px 0;border-bottom:1px solid var(--paper-2)}.facts2 .row:last-child{border:0}.facts2 .row b{color:var(--accent);font-weight:900;flex:0 0 16px}.facts2 .row .k{color:var(--ink-soft);flex:0 0 72px}.facts2 .row .v{color:var(--ink);font-weight:500}.blk{margin-bottom:20px}.blk h4{font-family:"Noto Serif TC",serif;font-weight:700;font-size:16px;color:var(--green-d);margin-bottom:7px;display:flex;align-items:center;gap:8px}.blk h4:before{content:"";width:4px;height:16px;background:var(--accent);border-radius:2px}.blk p{font-size:14.5px;color:var(--ink-soft)}.sheet .hero .datebig{position:absolute;top:24px;right:56px;text-align:right;line-height:1;color:#fff}.sheet .hero .datebig .d{font-family:"Noto Serif TC",serif;font-weight:900;font-size:36px}.sheet .hero .datebig .m{font-size:12px;opacity:.85;letter-spacing:1px;margin-top:3px}.sheet .hero .datebig .\!m{font-size:12px!important;opacity:.85!important;letter-spacing:1px!important;margin-top:3px!important}.ticket-row{margin:0 0 14px}.ticket-badge{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;padding:7px 14px;border-radius:22px;text-decoration:none}.ticket-badge.free{background:#cfe0d8;color:#1f3d34;border:1px solid rgba(31,61,52,.2)}.ticket-badge.paid{background:var(--green);color:#fff}.ticket-badge.paid:hover{background:var(--green-d)}.facts2 .v .map-link{display:inline-block;margin-left:8px;font-size:12.5px;color:var(--green);font-weight:700;text-decoration:none;padding:2px 9px;border-radius:12px;background:var(--paper-2);border:1px solid var(--line)}.facts2 .v .map-link:hover{background:#fff}.sheet-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.sheet-actions-row{display:flex;gap:10px}.sheet-actions-row .btn{flex:1}.sheet-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:700;padding:12px 18px;border-radius:12px;border:0;cursor:pointer;text-decoration:none;font-family:inherit}.sheet-actions .btn.primary{background:var(--green);color:#fff;box-shadow:0 4px 14px #1f3d3438}.sheet-actions .btn.primary:hover{background:var(--green-d);transform:translateY(-1px)}.sheet-actions .btn.primary.disabled{background:var(--paper-2);color:var(--ink-soft);box-shadow:none;cursor:not-allowed;font-weight:500}.sheet-actions .btn.ghost{background:#fff;color:var(--green-d);border:1px solid var(--line)}.sheet-actions .btn.ghost:hover{background:var(--paper-2)}@media(min-width:860px){.wrap{max-width:1320px;display:grid;grid-template-columns:460px minmax(0,1fr);grid-template-areas:"header header" "panel  list" "foot   foot";-moz-column-gap:44px;column-gap:44px;align-items:start;padding:0 40px 72px}.site-header{grid-area:header;border-radius:0 0 22px 22px;padding:44px 44px 48px}.site-header h1{font-size:44px}.site-header h1 small{font-size:15px;margin-top:12px}.site-header .kicker{font-size:13px}.ribbon{font-size:13px;margin-top:20px;padding:7px 18px}.panel{grid-area:panel;position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 28px 26px;box-shadow:var(--shadow)}.month-nav{margin-bottom:16px}.month-nav h2{font-size:26px}.month-nav button{width:40px;height:40px;font-size:18px}.cal{gap:5px;padding:14px;border-radius:16px}.cal .dow{font-size:12.5px;padding:6px 0}.cal .day{font-size:16px;border-radius:11px}.cal .day .dot{width:6px;height:6px;margin-top:3px}.chips{gap:12px;margin-top:20px}.chipgroup{gap:9px}.chip{font-size:13.5px;padding:7px 16px}.chip .swatch{width:10px;height:10px;margin-right:7px}.export{margin-top:20px;padding:16px;gap:10px}.export label{font-size:13px}.export input{font-size:13.5px;padding:7px 10px}.export button{font-size:14px;padding:10px 18px}.listcol{grid-area:list;min-width:0}.listcol .seclabel{margin:6px 2px 10px;font-size:16px}.foot{grid-area:foot}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px;padding:4px 2px}.card{margin-bottom:0}.card .top{padding:30px 26px;min-height:140px}.card .cat{font-size:12px;top:16px;left:22px}.card .datebig .d{font-size:36px}.card .datebig .m{font-size:12px}.card .top h3{font-size:25px}.card .body{padding:18px 26px 22px}.card .span{font-size:13px;padding:4px 12px}.card .ttl{font-size:18px}.card .fact{font-size:15px;margin:4px 0}.overlay{align-items:center}.sheet{max-width:680px;max-height:86vh;border-radius:22px;animation:modal-pop .22s ease}.sheet .hero{padding:38px 36px 32px}.sheet .hero h2{font-size:30px}.sheet .hero .datebig{top:28px;right:68px}.sheet .hero .datebig .d{font-size:44px}.sheet .hero .datebig .m{font-size:13px;margin-top:4px}.sheet .close{width:38px;height:38px;font-size:20px}.sheet .content{padding:26px 36px 36px}.facts2{padding:18px 22px}.facts2 .row{font-size:15px;padding:7px 0}.blk h4{font-size:17px}.blk p{font-size:15px}.ticket-badge{font-size:14.5px;padding:8px 16px}.sheet-actions .btn{font-size:15px;padding:14px 20px}.card .\!body{padding:18px 26px 22px!important}.\!card{margin-bottom:0!important}.\!card .top{padding:30px 26px!important;min-height:140px!important}.\!card .cat{font-size:12px!important;top:16px!important;left:22px!important}.\!card .datebig .d{font-size:36px!important}.\!card .datebig .m{font-size:12px!important}.\!card .top h3{font-size:25px!important}.\!card .body{padding:18px 26px 22px!important}.\!card .span{font-size:13px!important;padding:4px 12px!important}.\!card .ttl{font-size:18px!important}.\!card .fact{font-size:15px!important;margin:4px 0!important}.card .datebig .\!m{font-size:12px!important}.sheet .hero .datebig .\!m{font-size:13px!important;margin-top:4px!important}}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.h-2{height:.5rem}.h-3\.5{height:.875rem}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-full{width:100%}.max-w-\[560px\]{max-width:560px}.flex-1{flex:1 1 0%}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-green{--tw-border-opacity: 1;border-color:rgb(31 61 52 / var(--tw-border-opacity, 1))}.border-ink{--tw-border-opacity: 1;border-color:rgb(28 28 26 / var(--tw-border-opacity, 1))}.border-line{--tw-border-opacity: 1;border-color:rgb(221 217 208 / var(--tw-border-opacity, 1))}.bg-green{--tw-bg-opacity: 1;background-color:rgb(31 61 52 / var(--tw-bg-opacity, 1))}.bg-green-d{--tw-bg-opacity: 1;background-color:rgb(22 48 42 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(28 28 26 / var(--tw-bg-opacity, 1))}.bg-paper-2{--tw-bg-opacity: 1;background-color:rgb(233 231 224 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.font-serif{font-family:"Noto Serif TC",serif}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\[\#8c3556\]{--tw-text-opacity: 1;color:rgb(140 53 86 / var(--tw-text-opacity, 1))}.text-green{--tw-text-opacity: 1;color:rgb(31 61 52 / var(--tw-text-opacity, 1))}.text-green-d{--tw-text-opacity: 1;color:rgb(22 48 42 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(28 28 26 / var(--tw-text-opacity, 1))}.text-ink-soft{--tw-text-opacity: 1;color:rgb(106 103 95 / var(--tw-text-opacity, 1))}.text-paper{--tw-text-opacity: 1;color:rgb(244 243 239 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.accent-green{accent-color:#1f3d34}.opacity-80{opacity:.8}.shadow-card{--tw-shadow: 0 6px 24px rgba(40,40,30,.1), 0 1px 3px rgba(40,40,30,.08);--tw-shadow-colored: 0 6px 24px var(--tw-shadow-color), 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--paper: #f4f3ef;--paper-2: #e9e7e0;--ink: #1c1c1a;--ink-soft: #6a675f;--line: #ddd9d0;--green: #1f3d34;--green-d: #16302a;--accent: #2c4a45;--shadow: 0 6px 24px rgba(40, 40, 30, .1), 0 1px 3px rgba(40, 40, 30, .08)}@keyframes modal-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.adm-header{position:relative;overflow:hidden;background:var(--green);color:#fff;padding:24px 22px 26px;border-radius:0 0 18px 18px}.adm-header .blob{position:absolute;border-radius:50%;background:#ffffff12}.adm-header .blob.b1{width:180px;height:180px;top:-70px;right:-50px}.adm-header .blob.b2{width:100px;height:100px;top:20px;right:50px;background:#ffffff0d}.adm-header .hd-inner{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.adm-header .kicker{font-size:11px;letter-spacing:2.5px;opacity:.8;font-weight:500}.adm-header h1{font-family:"Noto Serif TC",serif;font-weight:900;font-size:24px;letter-spacing:2px;margin:4px 0 0;line-height:1.2}.adm-header h1 small{display:block;font-size:12px;font-weight:500;letter-spacing:.5px;opacity:.85;margin-top:6px}.adm-header .logout{background:#ffffff2e;color:#fff;border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}.adm-header .logout:hover{background:#ffffff47}.adm-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.adm-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px #28281e21}.adm-card .top{padding:32px 16px 12px;color:#fff;position:relative;min-height:72px}.adm-card .top .cat{position:absolute;top:10px;left:14px;font-size:10.5px;letter-spacing:1px;background:#ffffff38;padding:2px 9px;border-radius:16px;font-weight:700}.adm-card .top .badge{position:absolute;top:10px;right:14px;font-size:10.5px;padding:2px 9px;border-radius:16px;font-weight:700;letter-spacing:.5px}.adm-card .top .badge.green{background:#cfe0d8;color:#1f3d34}.adm-card .top .badge.yellow{background:#f5e3b4;color:#6b4f1f}.adm-card .top .badge.red{background:#f6cfd7;color:#6b2742}.adm-card .top .datebig{position:absolute;bottom:10px;right:14px;text-align:right;line-height:1;color:#fff}.adm-card .top .datebig .d{font-family:"Noto Serif TC",serif;font-weight:900;font-size:22px}.adm-card .top .datebig .m{font-size:10.5px;opacity:.85;letter-spacing:.5px;margin-top:2px}.adm-card .top h3{font-family:"Noto Serif TC",serif;font-weight:900;font-size:16.5px;letter-spacing:.5px;line-height:1.3;margin-right:56px;text-shadow:0 1px 6px rgba(0,0,0,.18)}.adm-card .top:has(.rng-mode) h3{margin-right:110px}.adm-card .top:has(.rng-wide) h3{margin-right:150px}.adm-card .top .datebig .rng{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.3px;white-space:nowrap;padding:3px 9px;border-radius:12px;background:#ffffff38;color:#fff}.adm-card .top .datebig.rng-wide .rng{font-size:10.5px;padding:3px 8px}.adm-card .meta{padding:10px 16px 6px;font-size:12.5px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.adm-card .meta .venue{font-weight:700;color:var(--green-d)}.adm-card .meta .src a{color:var(--green);text-decoration:none;font-weight:700;border-bottom:1px dotted currentColor;transition:color .15s,border-bottom-style .15s}.adm-card .meta .src a:hover{color:var(--green-d);border-bottom-style:solid}.adm-card .meta .sep{opacity:.5}.adm-card .meta .warn{color:#8c3556;font-weight:700}.adm-card .actions{padding:6px 14px 14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.adm-card .editbox{border-top:1px solid var(--line);background:var(--paper);padding:12px 16px 14px}.adm-card .editbox.hidden{display:none}.adm-catfilter{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:12px;padding:4px 0 12px;border-bottom:1px dashed var(--line)}.adm-catfilter .label{font-size:11.5px;font-weight:700;color:var(--ink-soft);letter-spacing:1.5px;margin-right:2px}.adm-catfilter .chip{font-size:12px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);padding:4px 11px;border-radius:20px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px}.adm-catfilter .chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.adm-catfilter .chip .swatch{display:inline-block;width:8px;height:8px;border-radius:50%}.adm-catfilter .chip .count{font-size:10.5px;opacity:.8;font-weight:500}.adm-catfilter .chip.on .count{opacity:.85}.cat-head .swatch{display:inline-block;width:10px;height:10px;border-radius:50%}@media(min-width:860px){#app{max-width:1180px!important}.adm-header{padding:36px 36px 38px;border-radius:0 0 22px 22px}.adm-header h1{font-size:30px}.adm-header h1 small{font-size:13px;margin-top:9px}.adm-header .kicker{font-size:12px}.adm-header .blob.b1{width:240px;height:240px;top:-90px;right:-70px}.adm-header .blob.b2{width:130px;height:130px;top:30px;right:70px}.adm-header .logout{font-size:13px;padding:8px 18px}#adminGrid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:36px;padding:26px 36px 0;align-items:start}#adminSide{position:sticky;top:22px;align-self:start;max-height:calc(100vh - 44px);overflow-y:auto}#adminSide>section{padding:0!important}#adminSide>section+section{margin-top:16px}#adminMain{min-width:0}#adminMain>.tabrow{padding:0 0 4px!important}#adminMain>#captureForm,#adminMain>#addForm,#adminMain>#list{padding-left:0!important;padding-right:0!important}#list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}#list>*+*{margin-top:0!important}#list .month-head{grid-column:1 / -1}#list .month-head h2{font-size:15px}#adminCal .month-nav h2{font-size:17px}#adminCal .month-nav button{width:30px;height:30px;font-size:15px}#adminCal .cal{gap:3px;padding:10px}#adminCal .cal .dow{font-size:11px;padding:4px 0}#adminCal .cal .day{font-size:13px;border-radius:9px}#adminCal .cal .day .dot{width:5px;height:5px;margin-top:2px}}.first\:pt-0:first-child{padding-top:0}.disabled\:opacity-50:disabled{opacity:.5}
