@import url("vendor/sand.css");
@import url("vendor/mauve.css");
@import url("vendor/mint.css");
@import url("vendor/amber.css");
@import url("vendor/tomato.css");
@import url("vendor/blue.css");
@import url("vendor/black-alpha.css");
@font-face{font-family:Fredoka;src:url("fonts/fredoka-variable.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --canvas:var(--amber-2);--surface:var(--sand-1);--subtle:var(--sand-2);--ink:var(--mauve-12);--muted:var(--mauve-11);
  --divider:var(--sand-6);--border:var(--sand-7);--hover-border:var(--sand-8);
  --control:var(--sand-3);--control-hover:var(--sand-4);--selected:var(--amber-5);--selected-ink:var(--amber-12);
  --accent:var(--tomato-11);--accent-hover:var(--tomato-12);--accent-ink:var(--tomato-11);--on-accent:var(--sand-1);
  --mint-surface:var(--mint-3);--mint-ink:var(--mint-12);--warning:var(--amber-3);--warning-ink:var(--amber-12);--focus:var(--blue-8);
  --text-small:12px;--text-body:16px;--text-heading:28px;--text-display:44px;
  --radius-control:6px;--radius-card:12px;
}
*{box-sizing:border-box;min-width:0}body{margin:0;min-height:100dvh;background:var(--canvas);color:var(--ink);font:var(--text-body)/1.65 Fredoka,ui-rounded,'PingFang SC','Microsoft YaHei',sans-serif;font-synthesis:none}
button,input,select,textarea{font:inherit;color:inherit}button,a,summary,.import{-webkit-tap-highlight-color:transparent}button,summary,.import{cursor:pointer}
a{color:var(--accent-ink);text-underline-offset:3px}p{margin:10px 0}h1,h2,h3,h4{color:var(--ink);font-weight:650;line-height:1.35;overflow-wrap:anywhere}h1,h2{font-size:var(--text-heading)}h1{margin:0 0 24px}h2{margin:0}h3,h4{font-size:var(--text-body);margin:12px 0}small,.tiny,.eyebrow{font-size:var(--text-small)}.muted,.tiny{color:var(--muted)}
button,.import{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 14px;border:.5px solid var(--border);border-radius:var(--radius-control);background:var(--surface);text-align:center;text-decoration:none;line-height:1.45}
button:hover,.import:hover{background:var(--control-hover);border-color:var(--hover-border)}button:active{background:var(--sand-5)}button:disabled{color:var(--muted);background:var(--sand-3);border-color:var(--divider);cursor:not-allowed}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:650}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button.quiet{border-color:transparent;background:transparent;color:var(--muted)}button.quiet:hover{background:var(--control-hover);color:var(--ink)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,.import:focus-visible{outline:.5px solid var(--blue-11);outline-offset:3px;background-color:var(--blue-3);color:var(--blue-12)}button.primary:focus-visible{background:var(--tomato-11);color:var(--surface)}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:44px;border:.5px solid var(--border);border-radius:var(--radius-control);background:var(--surface);padding:9px 12px;font-size:var(--text-body)}input::placeholder{color:var(--muted)}input[type=checkbox],input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin:2px 6px 0 0;accent-color:var(--accent-ink)}
.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;max-width:1120px;margin:auto;padding:16px 24px;border-bottom:.5px solid var(--divider)}.brand{display:inline-flex;gap:9px;align-items:center;min-height:44px;text-decoration:none;color:var(--ink);font-weight:650;white-space:nowrap}.brand small{color:var(--muted);letter-spacing:.06em}.seal{display:grid;place-items:center;width:32px;height:32px;background:var(--amber-9);color:var(--amber-12);border-radius:var(--radius-control)}
nav{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}nav button{border-color:transparent;background:transparent;font-size:var(--text-small);color:var(--muted);padding:8px 10px}nav button.active{background:var(--selected);color:var(--selected-ink);font-weight:650}#favorites{font-size:var(--text-small);white-space:nowrap}
main{max-width:1080px;margin:auto;padding:40px 24px 56px;min-height:60vh}.eyebrow{color:var(--muted);letter-spacing:.08em;font-weight:600}.page-heading{margin-bottom:24px}.home-heading{max-width:640px;margin:4px auto 28px;text-align:center}.home-heading h1{margin:10px 0 0;font-size:var(--text-display);line-height:1.2;letter-spacing:-.035em}.home-heading h1 span{color:var(--accent-ink)}
.home-stage{display:grid;justify-items:center;gap:18px;max-width:560px;margin:auto}.hero{width:100%;padding:24px;border:.5px solid var(--border);border-radius:var(--radius-card);background:var(--surface)}.hero h2{text-align:center;margin:24px 0 12px;font-size:var(--text-heading);line-height:1.4}.hero p{text-align:center;color:var(--muted);margin:0}.feature-top,.feature-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-top .tag{background:var(--selected);color:var(--selected-ink)}.feature-foot{margin-top:24px;padding-top:12px;border-top:.5px solid var(--divider);font-size:var(--text-small);color:var(--muted)}.feature-foot button{font-size:var(--text-small);padding:8px 0;color:var(--accent-ink)}.home-action{min-width:196px;padding:12px 24px}.home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.home-links button{font-size:var(--text-small)}
.home-finder{margin:24px auto 0;max-width:760px;border-top:.5px solid var(--divider)}summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'＋';color:var(--muted)}details[open]>summary::after{content:'−'}.home-finder>summary{color:var(--accent-ink);font-size:var(--text-body)}
.panel{padding:24px;background:var(--surface);border:.5px solid var(--divider);border-radius:var(--radius-card)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 16px}.section-head h2{font-size:var(--text-body);font-weight:650}.two{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px}.actions,.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions{margin:22px 0}.toolbar{margin:18px 0}.toolbar>input.search{flex:1;min-width:180px}.toolbar label:not(.check){display:grid;gap:4px;font-size:var(--text-small);color:var(--muted)}.search{display:block;width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip{background:var(--control);font-size:var(--text-body)}.chip:hover{background:var(--control-hover)}.chip.on,.zodiac-grid .on,.type-grid .on{background:var(--selected);color:var(--selected-ink);border-color:var(--amber-8)}.tag{display:inline-block;margin:3px 4px 3px 0;padding:3px 8px;border-radius:4px;background:var(--control);color:var(--muted);font-size:var(--text-small)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{position:relative;display:flex;flex-direction:column;padding:20px;background:var(--surface);border:.5px solid var(--divider);border-radius:var(--radius-card);overflow-wrap:anywhere}.card .number{color:var(--accent-ink);font-size:var(--text-small);padding-right:40px}.card h3{font-size:var(--text-body);margin:18px 30px 10px 0}.card p{color:var(--muted)}.card-foot{display:flex;gap:8px;align-items:center;justify-content:space-between;border-top:.5px solid var(--divider);margin-top:auto;padding-top:12px;font-size:var(--text-small);color:var(--muted)}.card-foot button{padding:8px 0;border-color:transparent;background:transparent;font-size:var(--text-small);color:var(--accent-ink)}.fav{position:absolute;right:10px;top:10px;min-width:44px;padding:8px;border-color:transparent;background:transparent;color:var(--accent-ink)}.note{padding:14px 16px;border-radius:var(--radius-control);margin:16px 0;background:var(--warning);color:var(--warning-ink);font-size:var(--text-small)}.note button{margin:8px 0 0 10px;font-size:var(--text-small)}.empty{padding:28px 12px;color:var(--muted);text-align:center}
.day{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:.5px solid var(--divider)}.day:last-of-type{border-bottom:0}.day h3{margin:0}.day .quiet{padding:0;justify-content:flex-start;color:var(--ink);text-align:left}.day p{font-size:var(--text-small);margin:4px 0}.date{font-size:var(--text-body);font-weight:650}.day small{color:var(--muted)}.shopping{margin:16px 0;padding:0;list-style:none}.shopping li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:.5px solid var(--divider)}.shopping b{white-space:nowrap;font-weight:600}.shopping small{color:var(--muted)}
.question{display:grid;gap:8px;margin-bottom:20px}.question>label:first-child{font-weight:600}.question p{font-size:var(--text-small);margin:0}.check{display:flex;align-items:flex-start;gap:4px;min-height:44px;padding:10px 0;cursor:pointer;font-size:var(--text-body);line-height:1.5}.choice{padding:10px;background:var(--control);border-radius:var(--radius-control)}.choice:has(input:checked){background:var(--selected);color:var(--selected-ink)}.choice input{margin-top:2px}.question .chips{margin:0}.quiz-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-bottom:.5px solid var(--divider);margin-bottom:24px}.quiz-progress span{padding:8px 0;color:var(--muted);font-size:var(--text-small)}.quiz-progress .on{color:var(--accent-ink);border-bottom:.5px solid var(--accent-ink);font-weight:650}.quiz-controls{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.quiz-controls span{font-size:var(--text-small)}.quiz-controls .primary{margin-left:auto}.portrait{padding:24px;background:var(--mint-surface);color:var(--mint-ink);border-radius:var(--radius-card)}.portrait p{font-size:var(--text-body)}.portrait-stamp{display:none}
.play-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.play-tabs button{font-size:var(--text-small)}.play-tabs button.primary{background:var(--selected);border-color:var(--amber-8);color:var(--selected-ink)}.zodiac-grid,.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 20px}.zodiac-grid button,.type-grid button{display:grid;gap:3px;justify-items:center;padding:10px 6px}.zodiac-grid span,.type-grid b{font-size:var(--text-body)}.type-grid small{color:inherit;font-size:var(--text-small)}.fun-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;border-top:.5px solid var(--divider);margin-top:20px;padding-top:24px}.fun-result h2{margin:12px 0}.fun-result .muted,.reason{font-size:var(--text-small)}.fortune-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--text-small);color:var(--muted)}.tea-token{display:grid;place-items:center;gap:12px;min-height:220px;padding:24px;background:var(--mint-surface);color:var(--mint-ink);border-radius:var(--radius-control)}.tea-token span{text-align:center;font-size:var(--text-heading)}.personality-form{margin-top:20px}fieldset{min-width:0;border:.5px solid var(--divider);border-radius:var(--radius-control);padding:12px;margin:16px 0}legend{padding:0 5px;font-size:var(--text-body)}.recent{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px}.recent button{font-size:var(--text-small)}.sources h3{margin-top:24px}.sources h3:first-child{margin-top:0}
footer{max-width:1080px;margin:auto;padding:18px 24px 28px;border-top:.5px solid var(--divider);color:var(--muted);font-size:var(--text-small)}.footer-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.footer-row>span{letter-spacing:.08em}.footer-row button,.data-tools summary,.import{font-size:var(--text-small)}.data-tools{min-width:100px}.data-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.import{border-color:transparent;background:transparent}footer p{margin:8px 0 0}
#detail{width:min(680px,calc(100% - 32px));max-width:none;max-height:88dvh;padding:44px 24px 24px;background:var(--surface);color:var(--ink);border:.5px solid var(--border);border-radius:var(--radius-card)}#detail::backdrop{background:var(--black-a8)}#detailBody{max-height:calc(88dvh - 92px);overflow:auto;padding-right:4px}#detailBody h2{margin:8px 44px 12px 0}.close{position:absolute;right:10px;top:8px;border-color:transparent;background:var(--surface);min-width:44px;z-index:2}.ingredient-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:.5px solid var(--divider)}.ingredient-row b{white-space:nowrap}#timer{position:fixed;right:16px;bottom:16px;z-index:30;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-card);font-size:var(--text-small)}#timer button{font-size:var(--text-small)}#toast{display:none;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:12px 16px;border-radius:var(--radius-control);background:var(--ink);color:var(--surface);font-size:var(--text-small);z-index:40}#toast.show{display:block}[hidden]{display:none!important}
@media(max-width:900px){.site-header{gap:12px}nav button{padding:8px 6px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}
@media(max-width:700px){.site-header{grid-template-columns:1fr auto;grid-template-areas:'brand favorites' 'nav nav';gap:8px;padding:10px 16px}.brand{grid-area:brand}#favorites{grid-area:favorites}nav{grid-area:nav;display:grid;grid-template-columns:repeat(6,1fr);gap:2px}nav button{padding:8px 4px}main{padding:28px 16px 40px}.home-heading{margin:0 auto 22px}.home-heading h1{font-size:var(--text-heading);letter-spacing:-.02em}.hero{padding:20px}.hero h2{margin:22px 0 12px}.home-links{width:100%}.home-links button{padding:8px 10px}.grid{grid-template-columns:1fr}.panel{padding:18px}.section-head{align-items:flex-start}.toolbar{align-items:stretch}.toolbar>label,.toolbar>input,.toolbar>.search{width:100%}.toolbar>button{flex:1}.card{padding:18px}.feature-foot{align-items:center;flex-wrap:wrap;gap:4px}.feature-foot button{padding:8px 0}.quiz-progress{gap:4px}.quiz-progress span{letter-spacing:-.03em}.zodiac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fun-result{grid-template-columns:1fr}.day{grid-template-columns:54px minmax(0,1fr)}.day>button{grid-column:2;justify-self:start}.portrait{padding:20px}.actions button{flex:1}.quiz-controls{gap:8px}.quiz-controls button{padding:8px 12px}.quiz-controls .primary{margin-left:0}.section-head h2{max-width:80%}footer{padding:18px 16px 24px}.footer-row{gap:12px}#detail{padding:48px 18px 20px}#timer{align-items:flex-start;flex-wrap:wrap}}
@media print{.site-header,footer,.toolbar,.actions,.fav,.close,#timer,#toast{display:none!important}body{background:var(--surface)}main{padding:0}.two{display:block}.panel{border:0;padding:0}.day{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
