.th-admin-header{background:var(--th-sunset-500);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px -4px var(--th-shadow)}.th-admin-main{max-width:56rem;margin:0 auto;padding:2rem 1.25rem}.th-badge{padding:.25rem .75rem;font-size:.85rem;background:hsla(0,0%,100%,.2)}.th-badge,.th-tabs{border-radius:var(--th-radius-pill)}.th-tabs{display:flex;gap:.5rem;margin-top:1rem;padding:.4rem;background:var(--th-bark-50);border:1px solid var(--th-bark-100);flex-wrap:wrap}.th-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--th-radius-pill);color:var(--th-bark-600);text-decoration:none;font-size:.92rem;transition:background .2s var(--th-ease-cozy),color .2s var(--th-ease-cozy)}.th-tab:hover{background:var(--th-bark-100);color:var(--th-bark-800)}.th-tab--active{box-shadow:0 4px 10px -4px var(--th-sunset-600)}.th-tab--active,.th-tab--active:hover{background:var(--th-sunset-500);color:#fff}.th-tab__count{background:hsla(0,0%,100%,.3);color:inherit;padding:.1rem .55rem;border-radius:var(--th-radius-pill);font-size:.82rem;font-weight:500}.th-tab:not(.th-tab--active) .th-tab__count{background:var(--th-bark-200);color:var(--th-bark-700)}.th-qr-toolbar{background:#fff;border:1px solid var(--th-bark-200);border-radius:var(--th-radius-lg);padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.th-qr-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.th-qr-form label{display:inline-flex;align-items:center;font-size:.9rem;color:var(--th-bark-700)}.th-qr-printable{display:flex;justify-content:center}.th-poster{background:var(--th-paper);border:3px dashed var(--th-sunset-400);border-radius:var(--th-radius-lg);padding:3rem 2rem;width:21cm;min-height:29.7cm;text-align:center;position:relative;box-shadow:0 20px 60px -20px var(--th-shadow)}.th-poster__header{font-size:3rem;margin-bottom:1rem}.th-poster__leaf--2{margin-left:.5rem}.th-poster__title{font-size:3.5rem;color:var(--th-bark-700);margin:1rem 0 .5rem;letter-spacing:.1em}.th-poster__sub{font-size:1.5rem;color:var(--th-bark-600);margin:0 0 2.5rem}.th-poster__qr{width:12cm;height:12cm;margin:0 auto;background:#fff;padding:1rem;border-radius:var(--th-radius-lg);box-shadow:0 10px 30px -10px var(--th-shadow)}.th-poster__qr svg{width:100%;height:100%}.th-poster__cta{font-size:1.75rem;color:var(--th-sunset-600);font-weight:600;margin:2rem 0 2.5rem}.th-poster__promises{display:flex;justify-content:center;gap:1rem;list-style:none;padding:0;margin:0 0 2.5rem;flex-wrap:wrap}.th-poster__promises li{background:#fff;padding:.5rem 1.1rem;border-radius:var(--th-radius-pill);border:1px solid var(--th-bark-200);color:var(--th-bark-700);font-size:1rem}.th-poster__footer{color:var(--th-bark-600);font-size:1.1rem;margin:0}.th-sticker{background:var(--th-paper);border:2px solid var(--th-sunset-400);border-radius:var(--th-radius-lg);padding:1rem;width:10cm;display:flex;flex-direction:column;align-items:center;gap:.5rem}.th-sticker__qr{width:8cm;height:8cm;background:#fff;padding:.5rem;border-radius:var(--th-radius-md)}.th-sticker__qr svg{width:100%;height:100%}.th-sticker__text{color:var(--th-bark-700);font-size:1rem;margin:0;letter-spacing:.1em}@media print{@page{size:A4;margin:0}body{background:#fff}.th-admin-header,.th-qr-toolbar,.th-watermark{display:none!important}.th-admin-main{padding:0;max-width:none}.th-poster{box-shadow:none;border:none;page-break-after:always}}.th-watermark{position:fixed;inset:0;pointer-events:none;z-index:1}.th-watermark__text{position:absolute;font-size:1.1rem;color:rgba(74,50,40,.04);transform:rotate(-20deg);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;font-weight:400;letter-spacing:.05em}:root{--th-bark-50:#faf3e7;--th-bark-100:#f2e5ce;--th-bark-200:#e6d0ae;--th-bark-300:#d4b896;--th-bark-400:#b89673;--th-bark-500:#8b5e3c;--th-bark-600:#6e4a30;--th-bark-700:#4a3228;--th-bark-800:#3d2b1f;--th-bark-900:#2a1e17;--th-sunset-300:#f4c87a;--th-sunset-400:#efb25f;--th-sunset-500:#e89b6c;--th-sunset-600:#c96f4a;--th-sand-400:#9b8978;--th-paper:#fbf6ec;--th-shadow:rgba(74,50,40,.12);--th-glow:hsla(38,85%,72%,.45);--th-radius-sm:8px;--th-radius-md:16px;--th-radius-lg:24px;--th-radius-pill:9999px;--th-font-sans:"jf-openhuninn-2.0","Noto Sans TC Round","Quicksand","PingFang TC",-apple-system,sans-serif;--th-ease-cozy:cubic-bezier(0.22,1,0.36,1);--th-duration-breath:2s;--th-bg:var(--th-bark-50);--th-fg:var(--th-bark-800);--th-card:var(--th-paper)}body,html{background:var(--th-bg);color:var(--th-fg);font-family:var(--th-font-sans);-webkit-font-smoothing:antialiased;margin:0}*,:after,:before{box-sizing:border-box}button,input,select,textarea{font-family:inherit;border-radius:var(--th-radius-md)}.th-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.75rem;border:none;border-radius:var(--th-radius-pill);font-size:1rem;font-weight:500;cursor:pointer;transition:transform .3s var(--th-ease-cozy),box-shadow .3s var(--th-ease-cozy);will-change:transform}.th-btn:active{transform:scale(.97)}.th-btn:focus-visible{outline:3px solid var(--th-sunset-300);outline-offset:3px}.th-btn--primary{background:var(--th-sunset-500);color:#fff;box-shadow:0 8px 20px -8px var(--th-sunset-600)}.th-btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px var(--th-sunset-600)}.th-btn--secondary{background:var(--th-bark-200);color:var(--th-bark-800)}.th-btn--secondary:hover{background:var(--th-bark-300)}.th-btn--ghost{background:transparent;color:var(--th-bark-600)}.th-btn--ghost:hover{background:var(--th-bark-100)}.th-btn--full{width:100%}.th-card{background:var(--th-card);border-radius:var(--th-radius-lg);padding:1.75rem;box-shadow:0 12px 30px -12px var(--th-shadow);border:1px solid var(--th-bark-100)}.th-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.th-field__label{font-size:.95rem;color:var(--th-bark-700);font-weight:500}.th-field__hint{font-size:.85rem;color:var(--th-sand-400);padding:.6rem .85rem;margin:0;line-height:1.6}.th-field__hint,.th-field__hint--list{background:var(--th-bark-50);border-radius:var(--th-radius-md);border-left:3px solid var(--th-sunset-300)}.th-field__hint--list{padding:.9rem 1.15rem .95rem;margin:.5rem 0 0}.th-field__hint--list__title{display:flex;align-items:center;gap:.5rem;color:var(--th-bark-700);font-weight:500;font-size:.92rem;margin-bottom:.5rem}.th-field__hint--list ol{margin:0;padding-left:1.4rem;color:var(--th-bark-800);line-height:1.85;font-size:.92rem}.th-field__hint--list li{margin-bottom:.25rem}.th-field__hint--list li::marker{color:var(--th-sunset-500);font-weight:500}.th-input,.th-textarea{background:#fff;border:2px solid var(--th-bark-200);padding:.85rem 1rem;font-size:1rem;color:var(--th-bark-800);transition:border-color .25s var(--th-ease-cozy),box-shadow .25s var(--th-ease-cozy);width:100%}.th-input:focus,.th-textarea:focus{outline:none;border-color:var(--th-sunset-400);box-shadow:0 0 0 4px var(--th-glow)}.th-textarea{resize:vertical;min-height:10rem;line-height:1.75;border-radius:var(--th-radius-md)}.th-acorn-progress{display:flex;gap:.75rem;list-style:none;padding:0;margin:0 0 2rem;justify-content:center;flex-wrap:wrap}.th-acorn{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:4rem;transition:transform .3s var(--th-ease-cozy)}.th-acorn__icon{font-size:1.75rem;filter:grayscale(1) opacity(.35);transition:filter .3s var(--th-ease-cozy),transform .3s var(--th-ease-cozy)}.th-acorn--active .th-acorn__icon{filter:none;transform:translateY(-4px);animation:th-acorn-bounce 1.2s var(--th-ease-cozy) infinite}.th-acorn--done .th-acorn__icon{filter:none;opacity:.7}.th-acorn__label{font-size:.8rem;color:var(--th-sand-400)}.th-acorn--active .th-acorn__label{color:var(--th-bark-800);font-weight:500}@keyframes th-acorn-bounce{0%,to{transform:translateY(-4px)}50%{transform:translateY(0)}}.th-leaves{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.th-leaf{position:absolute;font-size:1.5rem;top:0;display:inline-block;filter:hue-rotate(-5deg) saturate(1.1)}.th-tree-hole{display:block;margin:0 auto;filter:drop-shadow(0 20px 40px var(--th-shadow))}@font-face{font-family:jf-openhuninn-2\.0;src:url(/fonts/jf-openhuninn-2.0.woff2) format("woff2");font-display:swap;font-weight:400}