:root{--paper:#f3f0e6;--ink:#25372d;--muted:#657465;--green:#d4e3bc;--accent:#365c3c;--line:#d9ddcf;--safe-top:max(env(safe-area-inset-top),var(--tg-safe-area-inset-top,0px));--safe-bottom:max(env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px));font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:var(--tg-viewport-stable-height,100dvh)}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #a47831;outline-offset:4px}[hidden]{display:none!important}main{max-width:760px;margin:auto;padding:calc(24px + var(--safe-top) + var(--tg-content-safe-area-inset-top,0px)) 22px calc(115px + var(--safe-bottom))}.profile{display:flex;align-items:center;gap:12px}.avatar{flex:none;display:grid;place-items:center;border:1px solid #a2b39a;border-radius:50%;width:48px;height:48px;font:27px Georgia;background:#e0e9d3}.profile h1{font-size:21px;margin:5px 0;font-weight:600}.profile p{margin:0;font-size:12px}.eyebrow{font-size:10px!important;font-weight:600;letter-spacing:1.7px;color:var(--muted)}.round{margin-left:auto;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;background:transparent;font-size:23px;flex:none}.experience{border-bottom:1px solid var(--line);padding:22px 0}.experience>div{display:flex;justify-content:space-between;font-size:12px;gap:8px}.experience small{font-size:11px;color:var(--muted)}progress{appearance:none;width:100%;height:7px;border:0;border-radius:9px;overflow:hidden;background:var(--line);margin:10px 0}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}#notice{font-size:12px;line-height:1.5;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:25px 0}h2{font-size:clamp(40px,9vw,66px);line-height:1.02;letter-spacing:-2px;font-weight:500;margin:12px 0 22px}h2 em{font-family:Georgia,serif;font-weight:400}.badge{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:10px;margin-bottom:24px;white-space:nowrap}.search{display:flex;align-items:center;gap:12px;border-bottom:1px solid #aab4a3;padding:10px 0;font-size:25px}.search input{background:transparent;border:0;min-width:0;width:100%;color:var(--ink);font-size:14px;padding:8px}.filters{display:flex;gap:7px;overflow:auto;padding:20px 0;scrollbar-width:none}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 15px;white-space:nowrap;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tea-card{min-height:240px;border-radius:26px;padding:20px 16px;background:#e0e7d2;display:flex;flex-direction:column;position:relative;overflow:hidden}.tea-card:nth-child(3n+2){background:#e8dcc6}.tea-card:nth-child(3n){background:#dbe4dc}.tea-card .symbol{font:64px Georgia;opacity:.22;align-self:end;line-height:1;margin:0 0 10px}.tea-card h3{font:24px/1.05 Georgia,serif;overflow-wrap:anywhere;margin:9px 0}.tea-card p{font-size:11px;color:#4c5e4d;margin:0}.tea-card .stock{font-size:15px;margin:auto 0 14px;padding-top:18px}.tea-card button{background:var(--ink);color:var(--paper);padding:12px;border-radius:20px;font-size:12px;width:100%}.empty{grid-column:1/-1;padding:35px 12px;color:var(--muted)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:flex;background:#25372df5;color:#c3cdbb;border-radius:26px 26px 0 0;padding:12px 15px calc(12px + var(--safe-bottom));box-shadow:0 -5px 30px #25372d12;z-index:3}nav button{flex:1;background:transparent;color:inherit;font-size:11px;padding:4px;min-height:48px}nav span{display:block;font-size:26px;line-height:30px}nav [aria-current]{color:#e0edab}.timer-dial{width:min(280px,90%);aspect-ratio:1;border:2px solid #a7bb8d;border-radius:50%;box-shadow:inset 0 0 0 12px var(--paper),inset 0 0 0 13px var(--line);display:flex;align-items:center;justify-content:center;flex-direction:column;margin:30px auto;gap:16px;background:#e7ecdc}.timer-dial strong{font-size:66px;font-weight:400;letter-spacing:-4px;font-variant-numeric:tabular-nums}.timer-dial span{font-size:11px;letter-spacing:1px}.duration{display:flex;justify-content:space-between;align-items:center;font-size:13px}.duration input{width:85px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:12px;padding:12px}.actions{display:flex;gap:10px;margin:22px 0 10px}.actions button{flex:1}.primary,.secondary{padding:17px;border-radius:20px}.primary{background:var(--accent);color:white}.secondary{background:#e3e7d9}.wide{width:100%}.footnote{font-size:12px;color:var(--muted);line-height:1.6;text-align:center;margin-top:24px}#selected{font:18px Georgia}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:#e1e8d6;padding:24px 18px;border-radius:25px}.stat strong{display:block;font:36px Georgia;margin-bottom:12px}.stat span{font-size:12px;color:var(--muted)}@media(min-width:600px){.tea-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:350px){main{padding-left:14px;padding-right:14px}.tea-card{padding:16px 12px}.tea-card h3{font-size:21px}.profile h1{font-size:18px}}@media(prefers-reduced-motion:no-preference){button{transition:background .18s,transform .18s}button:active{transform:scale(.97)}}

/* Category colors apply to the whole card; dark categories use light text. */
.tea-card[data-kind="Puerh"]{background:#6D4C41;color:#fff}
.tea-card[data-kind="Red"]{background:#B74040;color:#fff}
.tea-card[data-kind="Black"]{background:#37474F;color:#fff}
.tea-card[data-kind="Green"]{background:#8BCE8E;color:#203226}
.tea-card[data-kind="Yellow"]{background:#FBC02D;color:#283323}
.tea-card[data-kind="White"]{background:#BFCFD8;color:#25343d}
.tea-card[data-kind="Oolong"]{background:#e0e7d2;color:#25372d}
.tea-card p{color:inherit}.tea-card[data-kind="Puerh"] button,.tea-card[data-kind="Red"] button,.tea-card[data-kind="Black"] button{background:#fff4e7;color:#25372d}
.shelf-tools{display:flex;flex-direction:column;align-items:flex-end;gap:12px;margin-bottom:24px}.shelf-tools .badge{margin:0}.shelf-tools button{font-size:12px;padding:13px;white-space:nowrap}.section-heading{gap:10px}
.award-list{display:grid;gap:12px}.award{border:1px solid var(--line);background:#e6e9dd;padding:20px;border-radius:22px}.award.earned{background:#d4e3bc;border-color:#a6ba8c}.award h3{font:22px Georgia;margin:0 0 10px}.award p{font-size:14px;line-height:1.5;margin:8px 0}.award-status{font-weight:bold;color:#36513b}
dialog{border:0;border-radius:26px;background:var(--paper);color:var(--ink);width:min(450px,calc(100% - 28px));max-height:85dvh;padding:24px}dialog::backdrop{background:#17251db3}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-heading h3{font:26px Georgia}.form-heading button{padding:10px}#add-form label{display:grid;gap:8px;margin:16px 0;font-size:14px}#add-form input,#add-form select{font:16px Arial;padding:14px;background:#fffdf7;border:1px solid #a9b49e;border-radius:12px;width:100%;color:var(--ink)}#form-error{font-size:14px;color:#963434;line-height:1.5}
