:root{color-scheme:light;--paper: #fbf6f8;--ink: #4e3142;--muted: #8d6b7a;--line: #f0d4df;--card: #fffdfd;--thread: #c45b78;--rose-deep: #a84566;--gold: #c9a27a;font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% -8%,rgba(244,176,196,.55),transparent 24rem),radial-gradient(circle at 100% 0%,rgba(250,220,206,.7),transparent 22rem),var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:44px;border:0;border-radius:999px;padding:0 1rem;background:var(--thread);color:#fffdfd;cursor:pointer}button.quiet{background:transparent;color:var(--rose-deep);border:1px solid #e7b7c6}label{display:grid;gap:.35rem;font-size:.92rem}input,select{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 .8rem;background:#fff}h1,h2,.brand span,.pillar{font-family:Songti SC,"Noto Serif SC","Source Han Serif SC",serif;font-weight:560}h1{font-size:2.4rem;margin:0}h2{font-size:1.2rem;margin:0}p{line-height:1.6}.shell{min-height:100vh}.masthead{margin-bottom:1.1rem}.wordmark{margin:0;font-family:Songti SC,"Noto Serif SC","Source Han Serif SC",serif;font-size:2rem;letter-spacing:.08em;color:var(--rose-deep)}.tagline{margin:.15rem 0 0;color:var(--muted)}.side{display:none}main{padding:1.25rem 1.25rem 6.5rem;max-width:760px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fffafcf0;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a,.side a{color:inherit;text-decoration:none;min-height:48px;display:grid;place-items:center}.tabbar a.active,.side nav a.active{color:var(--thread);font-weight:600}.panel,.today,.me form,.reading,.wardrobe-preview{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:1.25rem}.me{display:grid;gap:1rem}.me form,.panel{display:grid;gap:.8rem}.prefs{display:grid;grid-template-columns:minmax(7rem,.7fr) minmax(12rem,1.4fr) auto;gap:.7rem;align-items:end}.country-field{position:relative}.country-menu{position:absolute;z-index:5;left:0;right:0;top:calc(100% + .3rem);display:grid;padding:.3rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #a845661f}.country-menu button{display:flex;justify-content:space-between;gap:.6rem;min-height:40px;border-radius:10px;background:transparent;color:var(--ink)}.country-menu button[aria-selected=true],.country-menu button:hover{background:#fdeef3}.country-menu small{color:var(--muted)}.banner{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;padding:1rem;border-radius:18px;background:#fdeef3}.banner div{display:flex;gap:.5rem}.meta,.note,.fine,.placement{color:var(--muted)}.pillar{font-size:3rem;margin:0;letter-spacing:.08em}.reading dl{display:flex;gap:1.2rem;flex-wrap:wrap}.reading dt{color:var(--muted);font-size:.8rem}.reading dd{margin:0;font-size:1.1rem}.summary{font-size:1.15rem}.colors{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.chip{display:flex;gap:.8rem;align-items:center;background:var(--card);border-radius:18px;padding:.7rem;border:1px solid var(--line)}.chip span{width:52px;height:52px;border-radius:16px;border:1px solid var(--line)}.chip em{display:block;color:var(--muted);font-style:normal}.tips{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-items:start}.tips ul{margin:.4rem 0 0;padding-left:1.1rem}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.check{grid-template-columns:auto 1fr;align-items:center}.code-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.code-row button{white-space:nowrap}.modes{display:flex;gap:.5rem}.modes button{background:transparent;color:var(--rose-deep);border:1px solid #e7b7c6}.modes button.on{background:var(--thread);color:#fffdfd;border-color:transparent}.error{color:var(--thread)}.boot,.boot-error{padding:2rem}.spinner-wrap{display:grid;place-items:center;min-height:14rem;padding:2rem}.spinner{width:1.8rem;height:1.8rem;border:2px solid var(--line);border-top-color:var(--thread);border-radius:50%;animation:spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--thread)}}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;top:1.1rem;left:50%;z-index:30;width:min(22rem,calc(100vw - 2rem));margin:0;padding:.9rem 1.1rem;border-radius:16px;background:#fff;color:var(--rose-deep);border:1px solid #f0c2d0;box-shadow:0 14px 36px #a845662e;text-align:center;transform:translate(-50%)}.today{display:grid;gap:1rem;background:transparent;border:0;padding:0}.wardrobe-preview{display:grid;gap:.8rem;justify-items:start}.preview-row{display:flex;gap:.6rem;width:100%;overflow-x:auto}.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.fitting{display:grid;gap:.55rem}.fitting p{margin:0}.fit-intro{display:grid;gap:.2rem}.tryon-list{display:grid;gap:.8rem}button.preview-card,button.fit-card{position:relative;display:grid;gap:.25rem;justify-items:start;min-height:0;padding:.4rem;border-radius:16px;background:var(--card);color:inherit;border:1px solid var(--line);text-align:left}button.preview-card{width:7.2rem;flex:0 0 auto}button.fit-card.on{border-color:var(--thread);background:#fff5f8;box-shadow:inset 0 0 0 2px var(--thread)}.tick{position:absolute;z-index:1;top:.45rem;right:.45rem;width:1.7rem;height:1.7rem;border-radius:999px;background:var(--thread);color:#fffdfd;display:grid;place-items:center;font-size:1rem;font-weight:700;line-height:1;box-shadow:0 4px 12px #a8456659}button.preview-card img,button.fit-card img,.tryon-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background-color:#fffdfd;background-image:linear-gradient(45deg,#f8e3ea 25%,transparent 25%),linear-gradient(-45deg,#f8e3ea 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8e3ea 75%),linear-gradient(-45deg,transparent 75%,#f8e3ea 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.tryon-card{display:grid;gap:.45rem;justify-items:start;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:.7rem}.tryon-card img{aspect-ratio:16 / 9}.wardrobe{display:grid;gap:1rem}.wardrobe-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;flex-wrap:wrap}.wardrobe-actions{display:flex;gap:.6rem;flex-wrap:wrap}.add-main{min-width:8.5rem}.file-input{display:none}.garment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.garment-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.garment-card img,.garment-pending{width:100%;aspect-ratio:1;display:block}.garment-card img{object-fit:contain;background-color:#fffdfd;background-image:linear-gradient(45deg,#f8e3ea 25%,transparent 25%),linear-gradient(-45deg,#f8e3ea 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8e3ea 75%),linear-gradient(-45deg,transparent 75%,#f8e3ea 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.garment-pending{display:grid;place-items:center;padding:1rem;text-align:center;color:var(--muted);background:#fdeef3}.garment-card>div{display:grid;gap:.45rem;padding:.7rem .8rem}.card-actions{display:flex;flex-wrap:wrap;gap:.4rem}.garment-card .quiet{min-height:36px;padding:0 .7rem}.swatch{display:flex;align-items:center;gap:.4rem;margin:.2rem 0 0}.swatch i{width:.9rem;height:.9rem;border-radius:99px;display:inline-block;border:1px solid var(--line)}.confirm-banner,.confirm-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.confirm-banner{justify-content:space-between;padding:.8rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--card)}.confirm-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#4e314247}.confirm-sheet{width:min(40rem,100%);max-height:min(92vh,48rem);overflow:auto;display:grid;gap:.8rem;padding:1rem;border-radius:24px;background:var(--paper);box-shadow:0 18px 48px #4e31422e}.confirm-list{display:grid;gap:.8rem}.confirm-card{display:grid;grid-template-columns:7.5rem 1fr;gap:.8rem;padding:.7rem;border:1px solid var(--line);border-radius:18px;background:var(--card)}.confirm-card img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background-color:#fffdfd;background-image:linear-gradient(45deg,#f8e3ea 25%,transparent 25%),linear-gradient(-45deg,#f8e3ea 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8e3ea 75%),linear-gradient(-45deg,transparent 75%,#f8e3ea 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.confirm-fields{display:grid;gap:.55rem;align-content:start}.filter-block{display:grid;gap:.45rem}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem}button.chip{min-height:36px;padding:0 .75rem;background:transparent;color:var(--rose-deep);border:1px solid #e7b7c6}button.chip.on{background:var(--thread);color:#fffdfd;border-color:var(--thread)}@media(max-width:640px){.confirm-card{grid-template-columns:1fr}}.gate{padding:2rem 1.5rem;gap:1rem}.gate p{margin:0;font-size:1.1rem}.gate button{min-height:52px;min-width:12rem;padding:0 1.4rem;font-size:1.05rem;justify-self:center}#birth,#account{scroll-margin-top:1.2rem}#account{display:grid;gap:1rem;padding-bottom:40vh}@media(min-width:768px){.masthead{display:none}.gate{padding:3.2rem 2.8rem;gap:1.3rem;min-height:18rem;align-content:center}.gate h1{font-size:2.8rem}.gate p{font-size:1.25rem}.gate button{min-height:64px;min-width:20rem;padding:0 2rem;font-size:1.2rem}.tabbar{display:none}.side{display:flex;justify-content:space-between;align-items:end;padding:1.2rem 2rem 0}.side nav{display:flex;gap:.4rem}.side nav a{padding:0 .8rem}.brand{display:grid;text-decoration:none;color:inherit}.brand span{color:var(--rose-deep);font-size:1.7rem;letter-spacing:.08em}.brand small{color:var(--muted)}main{max-width:960px;margin:0 auto;padding:1.5rem 2rem 3rem}.row{grid-template-columns:repeat(4,1fr)}}@media(min-width:1200px){.shell{display:grid;grid-template-columns:240px 1fr}.side{display:flex;flex-direction:column;align-items:stretch;justify-content:start;gap:2rem;position:sticky;top:0;height:100vh;padding:1.5rem;border-right:1px solid var(--line)}.side nav{display:grid}.side nav a{justify-content:start;padding:0 .4rem}main{max-width:1120px;width:100%;margin:0}}
