:root{color-scheme:light;--paper: #e8eeef;--paper-raised: #f5f8f8;--ink: #12181a;--ink-muted: #3c4a50;--rule: #c5d0d4;--accent: #c4312e;--font-display: "Schibsted Grotesk", "Noto Sans TC", "PingFang TC", sans-serif;--font-text: "Noto Sans TC", "PingFang TC", "Schibsted Grotesk", sans-serif;--text-kicker: .78rem;--text-body: 1rem;--text-small: .875rem;--text-mast: clamp(3.1rem, 8vw, 6.4rem);--leading-mast: .88;--leading-body: 1.65;--track-mast: -.045em;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2.5rem;--space-7: 4rem;--poster-ratio: 2 / 3;--sheet: 72rem;--ease-out: cubic-bezier(.2, .8, .2, 1);--motion-rule: .64s}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--text-body);line-height:var(--leading-body);text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--paper-raised)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,input,select,textarea{font:inherit;color:inherit}.skip{position:absolute;left:var(--space-4);top:-4rem;background:var(--ink);color:var(--paper-raised);padding:.4rem .7rem;text-decoration:none}.skip:focus{top:var(--space-4);z-index:2}.sheet{min-height:100dvh;width:min(var(--sheet),100%);margin-inline:auto;padding:var(--space-5) var(--space-4) var(--space-4);display:flex;flex-direction:column}.kicker,.edition,.hint,.empty-copy,.colophon,.list-head p{color:var(--ink-muted)}.kicker{margin:0 0 var(--space-2);font-size:var(--text-kicker)}.mast-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.mast-row h1{margin:0;font-family:var(--font-display);font-size:var(--text-mast);font-weight:700;letter-spacing:var(--track-mast);line-height:var(--leading-mast)}.edition{margin:0;font-size:.95rem;font-weight:500;white-space:nowrap}.accent-rule{height:3px;margin-top:var(--space-4);background:var(--accent);transform-origin:left center;animation:draw-rule var(--motion-rule) var(--ease-out) both}h2{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}.stage{display:grid;gap:var(--space-6);padding-top:var(--space-6);min-width:0}.stage>*{min-width:0}.add label{display:block;margin-bottom:var(--space-3);font-size:var(--text-small)}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--ink);background:var(--paper-raised)}.search-row:focus-within{outline:2px solid var(--accent);outline-offset:3px}.search-row input{width:100%;min-width:0;border:0;background:transparent;padding:.85rem .9rem}.search-row input:focus-visible{outline:none}.search-row input::placeholder{color:var(--ink-muted)}.search-row button{border:0;border-left:1px solid var(--accent);background:var(--accent);color:var(--paper-raised);padding:0 1.25rem;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;cursor:pointer}.search-row button:hover{background:var(--ink);border-left-color:var(--ink)}.hint{margin:var(--space-3) 0 0;font-size:var(--text-small)}.list-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--rule);padding-bottom:var(--space-2);margin-bottom:var(--space-4)}.list-head p{margin:0;font-size:var(--text-small)}.nudge{margin:0 0 var(--space-4);padding:.15rem 0 .15rem .8rem;border-left:3px solid var(--accent);font-size:var(--text-small)}.empty-title{margin:var(--space-4) 0 0;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}.empty-copy{margin:.2rem 0 0;max-width:28rem;font-size:var(--text-small)}.results h3,.stars p{margin:var(--space-4) 0 var(--space-3);font-family:var(--font-text);font-size:var(--text-kicker);font-weight:500;letter-spacing:.08em;color:var(--ink-muted)}.poster-row{display:grid;grid-auto-flow:column;grid-auto-columns:7.1rem;gap:.9rem;overflow-x:auto;max-width:100%;min-width:0;padding-bottom:.2rem}.poster{display:grid;gap:.45rem;align-content:start;border:0;background:none;padding:0 0 .2rem;text-align:left;text-decoration:none;color:inherit;cursor:pointer}.poster span,.entry-title{font-size:var(--text-small);line-height:1.35}.poster>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.poster img,.poster-fallback,.entry>img,.entry>.poster-fallback{width:100%;aspect-ratio:var(--poster-ratio);object-fit:cover;background:#d5dee1;border:0;animation:poster-in .42s var(--ease-out) both}.entry>img,.entry>.poster-fallback{width:4.8rem}.poster[aria-pressed=true] img,.poster[aria-pressed=true] .poster-fallback{outline:2px solid var(--accent);outline-offset:2px}.draft,.entry-edit{display:grid;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--ink)}.draft h3{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.draft input:not([type=radio]):not([type=date]),.entry-edit input:not([type=radio]):not([type=date]),.entry-edit textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:.45rem 0}.status-picker,.date-field{border:0;margin:0;padding:0}.status-picker{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem}.status-picker legend,.date-field{font-size:var(--text-kicker);color:var(--ink-muted)}.status-picker legend{width:100%;margin-bottom:.15rem;padding:0}.status-picker button{border:0;border-bottom:2px solid transparent;background:none;padding:.1rem 0 .2rem;font-family:var(--font-display);font-weight:700;color:var(--ink-muted);cursor:pointer}.status-picker button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.date-field{display:grid;justify-items:start;gap:.35rem}.date-parts{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.date-parts label{display:grid;gap:.2rem;color:var(--ink-muted);font-size:var(--text-kicker)}.date-parts input{width:4.5rem;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.35rem 0;color:var(--ink)}.choice{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.choice legend{padding:0;margin-bottom:var(--space-2);font-size:var(--text-small)}.choice label{display:flex;align-items:center;gap:.4rem}.choice input{accent-color:var(--accent);width:1rem;height:1rem}.stars{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem var(--space-3);border:0;margin:0;padding:0}.stars legend{padding:0;margin:0 var(--space-3) 0 0;font-size:var(--text-kicker);color:var(--ink-muted)}.stars button[aria-pressed]{border:0;background:none;padding:0;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--rule)}.stars button[aria-pressed=true]{color:var(--accent)}.entries{list-style:none;margin:0;padding:0}.entry{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--rule)}.entry .hint{margin:.15rem 0 0}.entry-edit{grid-column:1 / -1}.entry-title{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;text-decoration:none}.entry-title:hover{color:var(--accent)}.colophon{margin-top:auto;display:flex;justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--rule);padding-top:var(--space-3);font-size:var(--text-kicker)}.colophon a,.text-button,.backup-actions a,.empty-copy a{color:inherit;text-underline-offset:.18em}.text-button{display:inline;border:0;background:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.text-button input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.backup-layout,.recover{display:grid;gap:var(--space-5);padding-top:var(--space-6)}.backup-card{background:var(--ink);color:var(--paper-raised);padding:var(--space-5)}.backup-kicker,.backup-note{margin:0;color:var(--paper-raised)}.backup-card h2{margin:var(--space-2) 0 var(--space-4)}.backup-code{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,4vw,2.1rem);font-weight:700;letter-spacing:.04em;line-height:1.2;-webkit-user-select:all;user-select:all}.backup-qr{display:block;width:min(12rem,70%);margin-top:var(--space-4);background:var(--paper-raised);padding:.6rem}.backup-note{margin-top:var(--space-4);max-width:28rem;font-size:var(--text-small)}.shot{width:fit-content;min-width:6.5rem;margin-top:0;border:0;background:var(--accent);color:var(--paper-raised);padding:.8rem 1.15rem;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;cursor:pointer}.shot:hover{background:var(--ink)}.share-page,.share-box{display:grid;gap:var(--space-4);margin-bottom:var(--space-5)}.share-link{overflow-wrap:anywhere;font-size:var(--text-small)}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-5)}.recover label{display:block;margin-bottom:var(--space-3)}@media(min-width:880px){.sheet{padding:var(--space-7) var(--space-6) var(--space-5)}.stage{grid-template-columns:minmax(0,26rem) minmax(0,1fr);gap:var(--space-6) var(--space-7);align-items:start;padding-top:var(--space-7)}}@media(prefers-reduced-motion:reduce){.accent-rule,.poster img,.poster-fallback,.entry>img{animation:none}}@media print{.masthead,.colophon,.backup-actions,.skip,.shot{display:none}body,.sheet{background:#fff}.backup-card{color:#000;background:#fff}}@keyframes draw-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes poster-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
