:root{font-family:Inter,Noto Sans TC,system-ui,sans-serif;color:#291f1d;background:#f7f1e8;--color-background:#f7f1e8;--color-surface:#fffdf8;--color-surface-muted:#f0e7da;--color-primary:#7b2335;--color-primary-hover:#611a29;--color-text:#291f1d;--color-text-muted:#75645e;--color-border:#dfd1c2;--color-success:#397154;--color-warning:#9a681c;--color-danger:#a33a36;--radius-small:8px;--radius-medium:14px;--radius-large:24px;--shadow-soft:0 10px 30px rgba(70,42,31,.06);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}a{color:var(--color-primary)}button,.button,input,select{font:inherit;font-size:16px}button,.button{min-height:44px;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:#fff;padding:.65rem 1.05rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:var(--color-primary-hover)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c68c98;outline-offset:2px}.secondary{background:transparent;color:var(--color-primary)}.ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.warning{background:var(--color-warning);border-color:var(--color-warning)}.danger{background:var(--color-danger);border-color:var(--color-danger)}.siteHeader{max-width:1160px;margin:auto;padding:1rem;display:flex;align-items:center;justify-content:space-between}.siteHeader nav{display:flex;gap:.9rem}.siteHeader nav a{text-decoration:none;color:var(--color-text-muted)}.siteHeader nav a.active{color:var(--color-primary);font-weight:700}.brand{font-family:Georgia,serif;font-weight:700;text-decoration:none;color:var(--color-text)}.container{width:min(100% - 2rem,1160px);margin:1rem auto 4rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);padding:1rem;box-shadow:var(--shadow-soft);min-width:0}.hero{padding:clamp(1.5rem,6vw,5rem);min-height:65vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 85% 15%,#eadbd0 0 8%,transparent 32%),var(--color-surface)}h1,h2{font-family:Georgia,"Noto Serif TC",serif;margin:.2em 0}h1{font-size:clamp(2.4rem,10vw,5.5rem);line-height:.95;letter-spacing:-.04em}h2{font-size:1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--color-primary);font-weight:700;font-size:.78rem}.tagline{font-size:clamp(1.2rem,4vw,1.7rem);color:var(--color-primary)}.actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.pageTitle,.sectionHeader{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.pageTitle h1{font-size:clamp(2rem,7vw,4rem)}.grid{display:grid;gap:.7rem}.diagnostic{display:flex;justify-content:space-between;gap:1rem}.diagnostic p{margin:.25rem 0;color:var(--color-text-muted)}code,pre{overflow-wrap:anywhere;word-break:break-word}.badge{height:min-content;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.badge-pass{background:#dceadf;color:var(--color-success)}.badge-warn{background:#f4e7cb;color:var(--color-warning)}.badge-fail{background:#f3dcda;color:var(--color-danger)}.summary{display:flex;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}.summary span{background:var(--color-surface-muted);border-radius:99px;padding:.5rem .8rem}.twoCol{display:grid;gap:1rem;margin-bottom:1rem}.twoCol+.card,.card+.card{margin-top:1rem}dl div{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--color-border)}dt{color:var(--color-text-muted)}dd{margin:0;overflow-wrap:anywhere}.supportList{display:flex;flex-wrap:wrap;gap:.5rem}.supportList span{background:var(--color-surface-muted);padding:.45rem .65rem;border-radius:8px}.filters{display:grid;gap:.6rem;margin:1rem 0}.filters input,.filters select{min-height:44px;width:100%;border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:.6rem}.logs{display:grid;gap:.6rem;max-height:700px;overflow:auto}.log{border-top:1px solid var(--color-border);padding:.8rem 0;min-width:0}.log time{font-size:.75rem;color:var(--color-text-muted)}.log p{margin:.35rem 0}.log pre{background:#2b2422;color:#f7eee5;padding:.8rem;border-radius:8px;max-width:100%;overflow:auto;white-space:pre-wrap}.level-ERROR{color:var(--color-danger)}.level-WARN{color:var(--color-warning)}.level-INFO{color:var(--color-success)}footer{text-align:center;color:var(--color-text-muted);padding:2rem}@media(min-width:760px){.grid,.twoCol{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(4,minmax(0,1fr))}.card{padding:1.5rem}}@media(max-width:520px){.pageTitle,.sectionHeader{align-items:flex-start;flex-direction:column}.siteHeader{align-items:flex-start}.siteHeader nav{font-size:.9rem}.actions>*{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.installCard{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.installCard p{margin:.35rem 0;color:var(--color-text-muted)}.installMessage{font-weight:700}@media(max-width:520px){.installCard{align-items:stretch;flex-direction:column}.installCard button{width:100%}}.installComplete{border-color:#bfd8c7}.installedBadge{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:999px;background:#dceadf;color:var(--color-success);font-weight:800;white-space:nowrap}.authCard{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:260px}.authCard p{color:var(--color-text-muted);max-width:720px}.privacyNote,.configNotice,.errorNotice{padding:.8rem;border-radius:var(--radius-small);background:var(--color-surface-muted)}.configNotice{border-left:4px solid var(--color-warning)}.errorNotice{border-left:4px solid var(--color-danger)}.account{display:flex;align-items:center;gap:1rem}.account h2,.account p{margin:.2rem 0}.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;font:700 1.5rem Georgia,serif}.googleButton{min-width:280px;min-height:44px}@media(max-width:680px){.authCard{align-items:stretch;flex-direction:column}.googleButton{min-width:0;width:100%}.siteHeader nav{flex-wrap:wrap;justify-content:flex-end}}.driveCard,.dataHero{display:flex;align-items:center;justify-content:space-between;gap:2rem}.driveCard>div:first-child,.dataHero>div:first-child{max-width:720px}.driveAction{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.connectionState{padding:.45rem .7rem;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:700}.connectionState.connected{background:#dceadf;color:var(--color-success)}.driveDetails{margin-top:1rem}.driveDetails code{font-size:.85rem}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.driveCard,.dataHero{align-items:stretch;flex-direction:column}.driveAction{justify-content:flex-start}}.simplifiedDriveCard{align-items:center}.technicalDetails{margin-top:1rem;color:var(--color-text-muted)}.technicalDetails summary{cursor:pointer;color:var(--color-primary);font-weight:700}.technicalDetails p{margin:.5rem 0}.setupStatus{display:grid;gap:.55rem;margin:1rem 0}.setupStatus>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .85rem;background:var(--color-surface-muted);border-radius:10px}.setupStatus strong{color:var(--color-text-muted)}.setupStatus .readyText{color:var(--color-success)}.accountPrimaryAction{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.accountPrimaryAction p{margin:0}.successPanel{background:#edf5ef;border:0;border-radius:12px;padding:1rem}.accountSecondaryActions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:700px){.accountPrimaryAction{align-items:stretch;flex-direction:column}.accountPrimaryAction .button,.accountPrimaryAction button{width:100%}.setupStatus>div{align-items:center}}.recordGrid{display:grid;gap:1rem}.recordCard{text-decoration:none;color:var(--color-text);transition:transform .15s ease,box-shadow .15s ease}.recordCard:hover{transform:translateY(-2px);box-shadow:0 14px 34px #462a1f1c}.recordCard>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.recordCard time,.recordCard p{color:var(--color-text-muted)}.recordCard p{margin-bottom:0}.categoryPill{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:var(--color-surface-muted);color:var(--color-primary);font-size:.8rem;font-weight:700}.emptyState{text-align:center;padding:clamp(2rem,8vw,5rem)}.tastingForm{display:grid;gap:1.2rem;max-width:820px;margin:auto}.tastingForm label{display:grid;gap:.4rem;font-weight:700}.tastingForm input,.tastingForm select,.tastingForm textarea{width:100%;border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:.75rem;color:var(--color-text);font:inherit}.tastingForm textarea{resize:vertical}.tastingForm small{color:var(--color-danger)}.formRow{display:grid;gap:1rem}.charCount{text-align:right;color:var(--color-text-muted);font-size:.8rem;font-weight:400}.recordDetail{max-width:820px;margin:auto}.recordDetail dd{white-space:pre-wrap}@media(min-width:680px){.recordGrid,.formRow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.recordGrid{grid-template-columns:1fr}.recordCard,.tastingForm{padding:1.1rem}}.homeTitle{max-width:100%;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,10vw,6.7rem);line-height:.96;letter-spacing:.025em;overflow-wrap:anywhere}.homeSubtitle{display:flex;flex-wrap:wrap;gap:.18em;font-size:clamp(1rem,2.4vw,1.35rem);line-height:1.6;color:var(--color-primary)}.pageTitle h1{line-height:1.12;letter-spacing:.01em;overflow-wrap:anywhere}.recordCard h2{line-height:1.25;letter-spacing:.01em;overflow-wrap:anywhere}.brand{display:inline-flex;flex-wrap:wrap;gap:.25em;line-height:1.3;letter-spacing:.01em}@media(max-width:520px){.homeTitle{font-size:clamp(2.6rem,14vw,4.1rem)}.homeSubtitle{display:block}.homeSubtitle span:last-child{display:block}.homeSubtitle>span[aria-hidden=true]{display:none}.siteHeader{gap:.75rem}.brand{max-width:42%}}.homeHero{min-height:auto;justify-content:flex-start;padding:clamp(1.4rem,5vw,2.4rem)}.homeHero .eyebrow{margin:0 0 .25rem}.homeTitle{font-size:clamp(2.25rem,8vw,4.4rem);line-height:1.05;letter-spacing:.01em}.homeSubtitle{font-size:clamp(1.05rem,3vw,1.3rem);margin:.65rem 0 .35rem;max-width:34rem}.homeDescription{max-width:42rem;line-height:1.7;color:var(--color-text-muted);margin:.35rem 0}.homeActions{margin-top:1.1rem}@media(max-width:520px){.homeHero{padding:1.35rem;min-height:0}.homeTitle{font-size:2.55rem}.homeSubtitle{font-size:1.05rem;line-height:1.55}.homeDescription{font-size:.96rem;line-height:1.65}.homeActions{display:grid;grid-template-columns:1fr 1fr;width:100%}.homeActions>*{width:100%}}.imageIntro{display:grid;gap:.7rem}.imageIntro p,.imageIntro h2{margin:0}.privacyNotice{padding:1rem;border-left:4px solid var(--color-warning);border-radius:8px;background:var(--color-surface-muted)}.fileButton{width:max-content;min-height:44px;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-primary);color:#fff;padding:.65rem 1.05rem;display:inline-flex;align-items:center;cursor:pointer}.fileButton:hover{background:var(--color-primary-hover)}.fileButton input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.imageMessage,.imageError{padding:1rem;border-radius:10px;background:var(--color-surface-muted)}.imageError{border-left:4px solid var(--color-danger);color:var(--color-danger)}.imageResult{margin-top:1rem}.imagePreviewGrid{display:grid;gap:1rem}.imagePreviewGrid figure{margin:0;min-width:0}.imagePreviewGrid img{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:10px;background:var(--color-surface-muted)}.imagePreviewGrid figcaption{padding:.7rem 0;color:var(--color-text-muted);line-height:1.5}.imageStats{margin:0}@media(min-width:760px){.imagePreviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.recordCard{overflow:hidden}.recordCardPhoto{display:block;width:calc(100% + 3rem);height:220px;object-fit:cover;margin:-1.5rem -1.5rem 1rem}.recordPhotoField{display:grid;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.recordPhotoField p{margin:.2rem 0;color:var(--color-text-muted)}.recordPhotoPreview,.recordDetailPhoto img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:10px;background:var(--color-surface-muted)}.recordDetailPhoto{margin:0 0 1.2rem}.recordDetailPhoto figcaption,.photoStats{padding-top:.5rem;color:var(--color-text-muted)}.imageRemovedNotice{padding:.75rem;border-left:4px solid var(--color-warning);background:var(--color-surface-muted);border-radius:8px}.imageLoading,.imageLoadError{padding:2rem;text-align:center;background:var(--color-surface-muted);border-radius:10px}.imageLoadError{color:var(--color-danger)}@media(max-width:520px){.recordCardPhoto{width:calc(100% + 2.2rem);margin:-1.1rem -1.1rem 1rem}}.geminiPanel{margin-top:1.5rem;padding:1.5rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--paper)}.geminiPanel h2{margin:.25rem 0}.aiConsent{display:flex!important;align-items:flex-start;gap:.65rem;margin:1rem 0}.aiConsent input{width:auto!important;margin-top:.25rem}.geminiDraft{display:grid;gap:1rem;margin-top:1.5rem}.geminiDraft .formRow{grid-template-columns:repeat(2,minmax(0,1fr))}.geminiDraft pre{white-space:pre-wrap;max-height:14rem;overflow:auto;background:#2c2421;color:#fff;padding:1rem;border-radius:.75rem}.confidence{font-weight:700}.confidence.high{color:#287353}.confidence.medium{color:#9c6500}.confidence.low{color:#a93632}@media(max-width:700px){.geminiDraft .formRow{grid-template-columns:1fr}}.calendarCard{padding:clamp(1rem,3vw,2rem)}.calendarToolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.calendarPicker{display:flex;gap:.65rem}.calendarPicker select{min-height:44px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text);padding:.55rem 2.4rem .55rem 1rem;font-weight:700}.calendarToolbar .button{min-width:0;padding:.65rem 1.1rem}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendarWeekdays{color:var(--color-text-muted);text-align:center;font-weight:700;margin-bottom:.35rem}.calendarDay{min-height:112px;border:1px solid var(--color-border);border-radius:0;background:var(--color-surface);color:var(--color-text);padding:.55rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left}.calendarDay:hover{background:var(--color-surface-muted)}.calendarDay.isOutside{opacity:.38}.calendarDay.isToday>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--color-primary);color:#fff}.calendarDay.isSelected{outline:3px solid color-mix(in srgb,var(--color-primary) 32%,transparent);outline-offset:-3px}.calendarDay strong{margin-top:auto;color:var(--color-primary);font-size:.85rem}.calendarDay small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.calendarSelection{margin-top:1rem}.calendarListHeader{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.calendarListHeader h2{margin-right:auto}.calendarListHeader>span{color:var(--color-text-muted);font-weight:700}.calendarListHeader .button{padding:.5rem .9rem}.calendarRecordList{display:grid;gap:.75rem}.calendarRecordList>a,.calendarRecordList>.calendarRecordButton{display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;min-height:88px;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--color-text)}.calendarRecordList>a:hover,.calendarRecordList>.calendarRecordButton:hover{background:var(--color-surface-muted)}.calendarThumbnail{width:88px;height:100%;min-height:88px;background:var(--color-surface-muted);display:grid;place-items:center;overflow:hidden}.calendarThumbnail img{width:100%;height:100%;object-fit:cover}.calendarThumbnail p{font-size:.7rem;padding:.4rem;margin:0;text-align:center}.calendarThumbnail span{font-size:1.8rem}.calendarRecordBody{display:grid;align-content:center;gap:.35rem;padding:.75rem 1rem .75rem 0;min-width:0}.calendarRecordBody>div{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.calendarRecordBody time,.calendarRecordBody small{color:var(--color-text-muted)}.calendarRecordBody strong,.calendarRecordBody small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:680px){.calendarToolbar{align-items:stretch}.calendarPicker,.calendarPicker label{flex:1}.calendarPicker select{width:100%;padding-left:.7rem}.calendarDay{min-height:72px;padding:.35rem}.calendarDay small{display:none}.calendarDay strong{font-size:.7rem}.calendarSelection{padding:1rem}.calendarListHeader{align-items:flex-start;flex-wrap:wrap}.calendarListHeader h2{width:100%;margin:0}.calendarRecordList>a,.calendarRecordList>.calendarRecordButton{grid-template-columns:72px minmax(0,1fr);min-height:78px}.calendarThumbnail{width:72px;min-height:78px}.calendarRecordBody{padding:.6rem .7rem .6rem 0}.calendarRecordBody>div{align-items:flex-start;flex-direction:column;gap:.3rem}}.calendarRecordButton{width:100%;padding:0;background:var(--color-surface);border-color:var(--color-border);border-radius:12px;color:var(--color-text);text-align:left;display:grid;grid-template-columns:88px minmax(0,1fr);gap:1rem;min-height:88px;overflow:hidden}.calendarRecordButton:hover{background:var(--color-surface-muted)}.recordFilters{display:grid;gap:.75rem;margin-bottom:1rem}.recordFilters label{display:grid;gap:.35rem;font-size:.85rem;font-weight:700}.recordFilters input,.recordFilters select{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:10px;background:#fff;padding:.6rem;color:var(--color-text)}.filterSummary{display:flex;align-items:end;justify-content:space-between;gap:.5rem}.filterSummary span{padding:.65rem 0;color:var(--color-text-muted)}.recordPlaceholder{height:180px;border-radius:10px;background:var(--color-surface-muted);display:grid!important;place-items:center;font-size:3rem}.mobileNav{display:none}@media(min-width:680px){.recordFilters{grid-template-columns:2fr repeat(3,minmax(130px,1fr));align-items:end}.filterSummary{grid-column:1/-1}}@media(max-width:680px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.container{width:min(100% - 1rem,1160px);margin-top:.5rem}.siteHeader{padding:.8rem 1rem}.desktopNav{display:none!important}footer{display:none}.mobileNav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:#fffdf8f5;border-top:1px solid var(--color-border);padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobileNav a{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;text-decoration:none;color:var(--color-text-muted);font-size:1.25rem}.mobileNav a span{font-size:.72rem}.mobileNav a.active{color:var(--color-primary);font-weight:800}.mobileNav .mobileAdd{width:58px;height:58px;min-height:58px;margin:0 auto 11px;border-radius:50%;background:var(--color-primary);color:#fff;box-shadow:0 8px 22px #7b233547}.mobileNav .mobileAdd span{color:#fff}.hero{min-height:auto;padding:2rem 1.25rem}.recordPhotoField .actions{display:grid}.recordPhotoField .actions>*{width:100%}}.welcomeGate{min-height:calc(100dvh - 150px);display:grid;place-items:center;padding:1rem}.welcomeGateInner{width:min(100%,520px);text-align:center}.welcomeGate h1{font-size:clamp(2.6rem,12vw,4.6rem);margin:.15em 0}.welcomeGate p{color:var(--color-text-muted)}.welcomeActions{display:grid;gap:.75rem;margin-top:1.5rem}.welcomeActions button{width:100%}.welcomeMessage{margin-top:1rem}.modalBackdrop{position:fixed;inset:0;z-index:100;background:#1f19168c;display:grid;place-items:end center;padding:1rem}.modalCard{position:relative;width:min(100%,680px);max-height:min(86dvh,900px);overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:28px;padding:1.25rem;box-shadow:0 24px 70px #23181447}.modalClose{position:absolute;right:1rem;top:1rem}.iconButton{width:46px;height:46px;min-height:46px;border-radius:50%;padding:0;background:transparent;color:var(--color-text);border-color:var(--color-border);font-size:1.7rem}.iconButton:hover{background:var(--color-surface-muted)}.modalActions{display:grid;grid-template-columns:1fr 1.2fr;gap:.7rem;margin-top:1rem}.installHelp ol{text-align:left;line-height:1.9}.recordsTop{display:grid;gap:.7rem;margin-bottom:1rem}.gallerySearch{height:58px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);display:flex;align-items:center;gap:.65rem;padding:0 1rem;box-shadow:var(--shadow-soft)}.gallerySearch span{font-size:1.4rem}.gallerySearch input{flex:1;border:0;background:transparent;outline:0;min-width:0}.galleryControls{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem}.galleryControls select{min-height:46px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);padding:.5rem .9rem;color:var(--color-text)}.filterButton{white-space:nowrap}.galleryMeta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--color-text-muted);margin:.6rem 0 1rem}.filterChips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.filterChips span{background:var(--color-surface-muted);border-radius:999px;padding:.35rem .6rem;color:var(--color-text);font-size:.8rem}.miniButton{min-height:32px;padding:.25rem .55rem}.recordGallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.galleryCard{display:block;min-height:0;padding:0;overflow:hidden;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-soft)}.galleryCard:hover{background:var(--color-surface)}.galleryPhoto{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:0;background:var(--color-surface-muted)}.galleryCardBody{padding:.75rem}.galleryCardBody h2{font-family:inherit;font-size:.95rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.5rem 0}.galleryCardBody small{color:var(--color-text-muted)}.filterModal{display:grid;gap:.85rem}.filterModal label{display:grid;gap:.35rem;font-weight:700}.filterModal select{min-height:48px;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:.65rem}.recordModal{padding-top:4.5rem}.modalTopActions{position:absolute;right:1rem;top:1rem;display:flex;gap:.55rem}.recordModalPhoto{width:100%;max-height:38dvh;object-fit:contain;background:var(--color-surface-muted);border-radius:16px;margin-bottom:1rem}.recordModal h2{font-size:clamp(1.8rem,7vw,3.6rem);line-height:1.05}.recordModal time{color:var(--color-text-muted)}.recordFactGrid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.recordFactGrid>div{background:var(--color-surface-muted);padding:.85rem;border-radius:14px;display:grid;gap:.25rem}.recordFactGrid small{color:var(--color-text-muted)}.recordNote{margin-top:1.2rem}.recordNote p{white-space:pre-wrap}.compactPageTitle{margin-bottom:.7rem}.compactTastingForm{position:relative}.tastingHint{text-align:center;color:var(--color-text-muted)}.manualGrid{display:grid;gap:.8rem}.manualEntry{width:100%}.inlineLoading{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.savingOverlay{position:fixed;inset:0;z-index:140;background:#f7f1e8e0;display:grid;place-content:center;justify-items:center;gap:1rem;font-size:1.1rem;font-weight:700}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(123,35,53,.18);border-top-color:var(--color-primary);animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:3px;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.aiBackdrop{z-index:120}.aiConfirmCard{display:grid;gap:1rem;padding-top:3.8rem}.aiLoading{min-height:220px;display:grid;place-items:center;text-align:center;align-content:center;gap:.7rem}.aiSummaryGrid{display:flex;flex-wrap:wrap;gap:.4rem}.aiSummaryGrid span{background:var(--color-surface-muted);padding:.45rem .65rem;border-radius:999px}.aiUncertain{color:var(--color-warning);font-weight:700}.quickNoteCompact{display:grid;gap:.4rem;font-weight:700}.quickNoteCompact input,.aiEditFields input,.aiEditFields select{width:100%;min-height:46px;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:.65rem}.textButton{width:max-content;min-height:auto;border:0;background:transparent;color:var(--color-primary);padding:.2rem 0}.textButton:hover{background:transparent;text-decoration:underline}.aiEditFields{display:grid;gap:.7rem}.aiEditFields label{display:grid;gap:.3rem}.aiSaveRow{display:flex;justify-content:flex-end}.aiSaveRow button{min-width:132px}.imageSkeleton{background:linear-gradient(100deg,var(--color-surface-muted),#faf6ef,var(--color-surface-muted));background-size:200% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:760px){.welcomeActions{grid-template-columns:1fr 1fr}.modalBackdrop{place-items:center}.recordGallery{grid-template-columns:repeat(3,minmax(0,1fr))}.manualGrid{grid-template-columns:2fr 1fr}.aiEditFields{grid-template-columns:1fr 1fr}.recordsTop{grid-template-columns:minmax(260px,1.6fr) minmax(360px,1fr);align-items:center}}@media(max-width:680px){.siteHeader{padding:.72rem 1rem}.brand{font-size:1rem}.container{margin-top:.25rem}.mobileNav{grid-template-columns:repeat(4,1fr)}.mobileNav .mobileAdd{order:0}.galleryControls{grid-template-columns:1fr 1fr}.galleryControls .filterButton{grid-column:1/-1;width:100%;min-height:42px}.galleryMeta{align-items:flex-start;flex-direction:column}.filterChips{justify-content:flex-start}.modalCard{border-radius:26px 26px 18px 18px}.recordFactGrid{grid-template-columns:1fr 1fr}.pageTitle h1{font-size:2.35rem}.recordPhotoField{padding-top:.4rem}.recordPhotoField>div:first-child p{font-size:.9rem}.recordPhotoPreview{max-height:42dvh}.calendarRecordButton{grid-template-columns:72px minmax(0,1fr)!important}}.mobileNav .navGridIcon{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;width:19px;height:19px}.navGridIcon i{border:1.7px solid currentColor;border-radius:2px}.mobileNav .navPlus{font-size:1.8rem;line-height:1}.mobileNav .navCalendar{font-size:1.45rem}.mobileNav .navAccount{font-size:1.65rem}.accountPhoto{object-fit:cover}.sponsorAccountCard,.appInfoCard{margin-top:1rem}.sponsorAccountCard{display:grid;gap:1rem}.sponsorAccountCopy h2{margin:.2rem 0 .45rem}.sponsorAccountCopy p:last-child{color:var(--color-text-muted);line-height:1.7}.sponsorAccountImage{display:block;width:min(100%,440px);margin:auto;border-radius:18px;border:1px solid var(--color-border)}.sponsorButton{width:100%;text-align:center}.appInfoCard dl{display:grid;gap:0;margin:0}.appInfoCard dl div{display:grid;grid-template-columns:minmax(110px,.7fr) 1.4fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.appInfoCard dl div:last-child{border-bottom:0}.appInfoCard dt{color:var(--color-text-muted)}.appInfoCard dd{margin:0;font-weight:700}.supportBackdrop{z-index:170;place-items:center}.supportPrompt{text-align:center;max-width:520px;padding:2rem 1.4rem}.supportPaw{font-size:2rem}.supportPrompt h2{color:var(--color-primary);margin:.35rem 0 1rem}.supportPrompt p{line-height:1.75}.supportPrompt small{display:block;color:var(--color-text-muted);margin-top:.6rem}.supportActions{display:grid;gap:.7rem;margin-top:1.3rem}.supportActions .button,.supportActions button{width:100%;text-align:center}.aiTastePreview{background:var(--color-surface-muted);border-radius:14px;padding:.75rem .9rem}.aiTastePreview p{margin:.35rem 0}.aiEditFields textarea{width:100%;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:.65rem;resize:vertical}.aiEditFields .aiWide{grid-column:1/-1}.richRecordModal{padding-top:5rem}.richRecordModal>h2{max-width:calc(100% - 110px);margin-top:0}.richFacts>div{min-height:92px}.richFacts strong{font-weight:500;line-height:1.45}.recordLongText{margin-top:1.35rem}.recordLongText h3{font-size:1.05rem;margin-bottom:.45rem}.recordLongText p{white-space:pre-wrap;line-height:1.85;color:var(--color-text-muted);margin:0}.recordMinorFacts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;color:var(--color-text-muted)}.recordMinorFacts span{background:var(--color-surface-muted);padding:.4rem .65rem;border-radius:999px}.recordModalPhotoBottom{margin:1.2rem 0 0;max-height:none;object-fit:contain}.calendarCompactHeader{margin:.15rem 0 .55rem}.calendarCompactHeader .eyebrow{margin:0}.calendarCompactHeader h1{font-size:clamp(1.9rem,7vw,3rem);margin:.05rem 0}.compactCalendarCard{padding:1rem}.compactCalendarCard .calendarToolbar{margin-bottom:.75rem}.calendarDateModal{padding-top:4rem}.calendarDateModal h2{margin:0}.calendarDateCount{color:var(--color-text-muted);margin:.25rem 0 1rem}.modalRecordList{display:grid;gap:.7rem}.compactEmpty{padding:1rem 0}.calendarDay small{display:none!important}@media(max-width:680px){.mobileNav{grid-template-columns:repeat(4,1fr);align-items:center;padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom))}.mobileNav a{min-height:58px;margin:0!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--color-text-muted)!important}.mobileNav a.active{color:var(--color-primary)!important}.mobileNav a span:last-child{color:inherit!important}.accountPageTitle{margin-bottom:.65rem}.accountPageTitle h1{font-size:2.1rem}.authCard.accountSetupCard,.sponsorAccountCard{padding:1rem}.sponsorAccountImage{max-height:50dvh;object-fit:contain}.appInfoCard{padding:1rem}.calendarCompactHeader .eyebrow{display:none}.calendarCompactHeader h1{font-size:1.65rem}.compactCalendarCard{padding:.8rem}.calendarToolbar,.calendarPicker{gap:.45rem}.calendarPicker label{min-width:0}.calendarPicker select{min-height:44px;padding:.5rem .65rem}.todayButton{min-width:68px;padding:.55rem .7rem}.calendarWeekdays{font-size:.82rem}.calendarDay{min-height:72px;padding:.45rem .3rem}.calendarDay strong{font-size:.7rem}.calendarDateModal{max-height:78dvh}.richRecordModal{max-height:90dvh;border-radius:26px 26px 18px 18px}.richRecordModal>h2{font-size:2rem}.richFacts{grid-template-columns:1fr 1fr}.richFacts>div{padding:.75rem;min-height:84px}.recordLongText p{font-size:.95rem;line-height:1.75}}.manualDetailGrid{display:grid;gap:.75rem}.manualDetailGrid label{display:grid;gap:.35rem;font-weight:700}.manualDetailGrid input,.manualDetailGrid textarea{width:100%;border:1px solid var(--color-border);border-radius:12px;background:#fff;padding:.65rem;resize:vertical}@media(min-width:760px){.manualDetailGrid{grid-template-columns:1fr 1fr}.manualDetailGrid .detailWide{grid-column:1/-1}}.welcomeContainer{margin-top:0;min-height:100dvh}.siteHeader .brand{color:var(--color-primary);font-size:1.16rem;letter-spacing:.035em}.mobileNav .navIconBox{width:26px;height:26px;display:grid;place-items:center;line-height:1;flex:0 0 26px}.mobileNav .navIconBox>*{display:grid;place-items:center;margin:0!important;transform:none!important}.mobileNav .navGridIcon{grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:3px;width:17px;height:17px}.mobileNav .navPlus{font-size:1.72rem}.mobileNav .navCalendar{font-size:1.4rem}.mobileNav .navAccount{font-size:1.58rem}.mobileNav a{gap:.18rem!important}.mobileNav a>span:last-child{line-height:1.1}.newAppIntro{margin:.1rem 0 .8rem;padding:.15rem .2rem;color:var(--color-text-muted);line-height:1.65}.newAppIntro strong{display:block;color:var(--color-primary);font-family:Georgia,"Noto Serif TC",serif;font-size:1.05rem;margin-bottom:.2rem}.newAppIntro p{margin:0;font-size:.92rem}.dynamicFilterModal{max-width:560px}.dynamicFilterModal .filterHint{margin:.15rem 0 .3rem;color:var(--color-text-muted);font-size:.9rem}.dynamicFilterModal .eyebrow{margin:0 0 .1rem}.dynamicFilterModal h2{margin:0}.accountInstallCard{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.accountInstallCard h2{margin:.15rem 0}.accountInstallCard p:last-child{margin-bottom:0;color:var(--color-text-muted)}.richRecordModal>h2{font-size:clamp(1.55rem,5.6vw,2.6rem)!important;line-height:1.08;letter-spacing:-.02em;overflow-wrap:anywhere}.recordModal .modalTopActions{z-index:2}@media(max-width:680px){.siteHeader .brand{font-size:1.14rem;max-width:none}.accountInstallCard{align-items:stretch;flex-direction:column}.accountInstallCard button{width:100%}.richRecordModal>h2{font-size:clamp(1.55rem,7vw,2.15rem)!important;max-width:calc(100% - 108px)}.dynamicFilterModal{max-height:76dvh}}.siteHeader .brand{display:flex;align-items:center;gap:.45rem;font-family:Georgia,"Noto Serif TC",serif;font-size:1.28rem}.brandMark{width:32px;height:32px;flex:0 0 32px}.photoManager{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem}.photoThumbCard{border:1px solid var(--color-border);border-radius:14px;padding:.45rem;display:grid;gap:.35rem}.photoThumbCard.isCover{outline:2px solid var(--color-primary)}.photoThumbCard img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.photoThumbCard>div{display:flex;flex-wrap:wrap;gap:.25rem}.photoStrip{display:flex;gap:.5rem;overflow-x:auto}.photoStrip .recordPhotoPreview{width:120px;height:120px;object-fit:cover;flex:0 0 120px}.moreWriting{display:grid;gap:1rem;margin-top:1rem}.fieldPrivacyHint{color:var(--color-text-muted);font-size:.9rem}.professionalSection{border-top:1px solid var(--color-border);padding-top:.8rem}.recordSection{margin-top:1.25rem}.recordSection>h3,.recordSection summary{font-size:1.05rem;font-weight:800}.recordSourceNote{white-space:pre-wrap;color:var(--color-text-muted);line-height:1.7}.conflictNotice{padding:.7rem;border-radius:10px;background:#fff5d8;color:#765400}.carouselFrame{position:relative}.carouselPrev,.carouselNext{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;padding:0}.carouselPrev{left:.6rem}.carouselNext{right:.6rem}.carouselCount{position:absolute;right:.7rem;bottom:.7rem;padding:.3rem .55rem;border-radius:999px;background:#000000a8;color:#fff}.quotaCard{margin-top:1rem}.quotaCard label{display:grid;grid-template-columns:1fr auto;gap:.35rem;margin:.8rem 0}.quotaCard progress{grid-column:1/-1;width:100%;accent-color:var(--color-primary)}.installPlatformButtons{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.richRecordModal>h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.chipButton{min-height:32px;border:0;border-radius:999px;padding:.35rem .6rem;background:var(--color-surface-muted);color:var(--color-text);font-size:.8rem}
