:root{--bg:#0e0e10;--on-bg:#fff;--on-bg-muted:#9a9aa8;--card:#f5f5f7;--card-dark:#1e1e22;--card-dark-border:#2e2e34;--yellow:#f3e07a;--mint:#beedea;--ink:#111;--muted:#62688a;--line-light:color-mix(in srgb, var(--muted) 22%, transparent);--on-yellow-muted:color-mix(in srgb, var(--ink) 72%, var(--yellow));--line-yellow:color-mix(in srgb, var(--ink) 14%, transparent);--on-glass-muted:color-mix(in srgb, var(--ink) 85%, var(--on-bg));--type-환경:#beedea;--type-이웃:#ffd9b8;--type-몸:#f3e07a;--type-마음:#fbd0da;--type-배움:#dcd6fa;--radius-card:28px;--radius-pill:999px;--gap:10px;--circle:44px;--tabbar:70px;--font:"Pretendard Variable", Pretendard, -apple-system, system-ui, sans-serif;--title:800 30px/1.28 var(--font);--tracking:-.015em;--body:500 16px/1.45 var(--font);--small:500 13px/1.4 var(--font)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--on-bg);font:var(--body);letter-spacing:var(--tracking);-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.screen{max-width:430px;padding:16px 16px calc(var(--tabbar) + 40px + env(safe-area-inset-bottom));gap:var(--gap);flex-direction:column;margin:0 auto;display:flex}.hello{justify-content:space-between;align-items:center;padding:8px 4px 6px;display:flex}.hello h1{font:600 18px/1.3 var(--font);overflow-wrap:anywhere;margin:0}.hello p{font:var(--small);color:var(--on-bg-muted);margin:2px 0 0}.card{border-radius:var(--radius-card);padding:22px}.card-light{background:var(--card);color:var(--ink)}.card-dark{background:var(--card-dark);border:1px solid var(--card-dark-border);color:var(--on-bg)}.card-mint{background:var(--mint);color:var(--ink)}.circle{width:var(--circle);height:var(--circle);color:var(--ink);background:#fff;border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.circle-ink{background:var(--ink);color:#fff}.circle svg{width:20px;height:20px}.meta{font:var(--small);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.meta-actions{gap:8px;display:flex}.subtitle{font:var(--small);color:var(--muted);margin:22px 0 6px}.title{font:var(--title);letter-spacing:var(--tracking);word-break:keep-all;margin:0}.chip{vertical-align:middle;border-radius:var(--radius-pill);font:600 13px/1.4 var(--font);color:var(--ink);margin-left:6px;padding:3px 10px;display:inline-block}.tags{border-top:1px solid var(--line-light);font:var(--small);color:var(--muted);gap:12px;margin:18px 0 0;padding-top:14px;display:flex}.quest-card{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.done-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.done-row strong{font:800 26px/1.2 var(--font)}.done-row p{font:var(--small);color:var(--on-bg-muted);margin:0 0 4px}.pill{border-radius:var(--radius-pill);min-height:44px;color:var(--ink);background:#fff;justify-content:center;align-items:center;padding:0 20px;font-weight:600;display:inline-flex}.pill-ink{background:var(--ink);color:#fff}.pill-row{gap:8px;display:flex}.toggle{background:var(--ink);border-radius:var(--radius-pill);padding:2px;display:inline-flex}.toggle button{border-radius:var(--radius-pill);color:#fff;min-height:44px;font:600 13px/1 var(--font);padding:0 14px}.toggle button[aria-pressed=true]{color:var(--ink);background:#fff}.progress-head{justify-content:flex-end;display:flex}.band{justify-content:space-between;align-items:center;padding:18px 22px;font-weight:600;display:flex}.tabbar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));width:min(398px,100% - 32px);height:var(--tabbar);background:var(--card-dark);border:1px solid var(--card-dark-border);border-radius:var(--radius-pill);justify-content:space-between;padding:8px;display:flex;position:fixed;transform:translate(-50%)}.tabbar button{border-radius:var(--radius-pill);color:var(--on-bg-muted);font:600 14px/1 var(--font);flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.tabbar button[aria-current=page]{color:var(--ink);background:#fff}.tabbar svg{width:20px;height:20px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.backdrop{z-index:10;background:color-mix(in srgb, var(--bg) 70%, transparent);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:430px;max-height:85vh;color:var(--ink);border-radius:var(--radius-card) var(--radius-card) 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom));overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sheet-head h2{font:800 22px/1.3 var(--font);margin:0}.sheet-head .pill{background:var(--ink);color:#fff}.tiles{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.tile{border-radius:var(--radius-card);background:var(--card-dark);border:1px solid var(--card-dark-border);min-height:120px;color:var(--on-bg);font:800 22px/1 var(--font);cursor:pointer;place-items:center;display:grid;position:relative}.tile:focus-within{outline:2px solid var(--ink);outline-offset:2px}.tile[aria-pressed=true]{background:var(--yellow);color:var(--ink)}.write{gap:var(--gap);flex-direction:column;display:flex}.write textarea{border:1px solid var(--line-light);width:100%;font:var(--body);color:var(--ink);resize:vertical;background:#fff;border-radius:20px;padding:14px}.pill:disabled{opacity:.4;cursor:default}.checklist{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.checklist label{cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.checklist input{width:22px;height:22px;accent-color:var(--ink);flex:none}.thumb{object-fit:cover;background:var(--line-light);border-radius:14px;flex:none;width:56px;height:56px}.empty{color:var(--muted);margin:8px 0 16px}.error{margin:0 0 12px;font-weight:600}.wide{width:100%}.skeleton{background:var(--card-dark);border:1px solid var(--card-dark-border)}.ranks,.posts{margin:0;padding:0;list-style:none}.rank-head{justify-content:space-between;align-items:center;display:flex}.rank-head h2{font:800 22px/1.3 var(--font);margin:0}.chips{scrollbar-width:none;gap:8px;margin:16px -22px 8px;padding:0 22px;display:flex;overflow-x:auto}.chip-btn{border-radius:var(--radius-pill);border:1px solid var(--line-yellow);min-height:44px;color:var(--ink);flex:none;padding:0 18px;font-weight:600}.chip-btn[aria-pressed=true]{background:var(--ink);color:#fff}.ranks li{align-items:center;gap:14px;min-height:52px;display:flex}.ranks li+li{border-top:1px solid var(--line-yellow)}.rank-no{min-width:22px;color:var(--on-yellow-muted);font-weight:700}.rank-alias{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.rank-nums small{color:var(--on-yellow-muted);font:var(--small)}.empty-yellow{color:var(--on-yellow-muted);margin:12px 0 4px}.posts{gap:var(--gap);flex-direction:column;display:flex}.posts li{background:#fff;border-radius:20px;padding:14px}.posts p{margin:0}.post-meta{font:var(--small);color:var(--muted);margin-bottom:6px!important}.posts img{border-radius:14px;width:100%;display:block}.alias-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.alias-card p{font:var(--small);color:var(--on-bg-muted);margin:0 0 4px}.alias-card h1{font:800 28px/1.25 var(--font);word-break:keep-all;overflow-wrap:anywhere;margin:0}.alias-card>div{min-width:0}.alias-edit{flex:1;gap:8px;display:flex}.alias-edit input{border-radius:var(--radius-pill);border:1px solid var(--card-dark-border);background:var(--bg);min-width:0;min-height:48px;color:var(--on-bg);font:700 18px/1 var(--font);flex:1;padding:0 16px}.empty-dark{color:var(--on-bg-muted);margin:12px 4px}.day-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.day-head p{margin:0}.day-head small{font:var(--small);color:var(--muted)}.day-head .pill{border:1px solid var(--line-light)}.recs{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.rec{background:#fff;border-radius:20px;position:relative;overflow:hidden}.rec-text{grid-column:span 2;min-height:64px;padding:14px}.rec-text p{white-space:pre-wrap;margin:0}.rec-photo{aspect-ratio:1}.rec-photo img{object-fit:cover;width:100%;height:100%;display:block}.rec-media{grid-column:span 2;padding:10px}.rec-media audio,.rec-media video{border-radius:14px;width:100%;display:block}.badge{border-radius:var(--radius-pill);background:var(--ink);color:#fff;font:700 12px/1.4 var(--font);padding:3px 10px;position:absolute;bottom:10px;right:10px}.rec-text .badge{margin-top:8px;display:inline-block;position:static}.notice{font:var(--small);color:var(--muted);margin:-6px 0 14px}.quest-card.done{transition:transform .6s cubic-bezier(.16,1,.3,1);animation:.42s cubic-bezier(.16,1,.3,1) flip-in}.quest-card.done.pressing{transform:scale(.96)}@keyframes flip-in{0%{opacity:.4;transform:perspective(800px)rotateX(-70deg)}}@media (prefers-reduced-motion:reduce){.quest-card.done{transition:none;animation:none}}.quest-card.back{flex-direction:column;justify-content:center;gap:6px;min-height:200px;display:flex}.quest-card.back p{font:var(--small);color:var(--on-bg-muted);margin:0}.quest-card.back strong{font:var(--title);letter-spacing:var(--tracking)}.type-dots{gap:8px;margin-top:14px;display:flex}.type-dots span{border-radius:50%;width:14px;height:14px}.quest-card.flip{animation:.42s cubic-bezier(.16,1,.3,1) flip-in}.type-picks{flex-wrap:wrap;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.quest-card.flip{animation:none}}.glass-wrap{isolation:isolate;border-radius:var(--radius-card);position:relative;overflow:hidden}.glow{filter:blur(40px);pointer-events:none;border-radius:50%;position:absolute}.glass{color:var(--ink);background:color-mix(in srgb, var(--yellow) 40%, #ffffffe6);-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);border:1px solid #fff;position:relative}.glass .toggle{background:#11111114}.glass .toggle button{color:var(--ink)}.glass .toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.glass-top{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:6px;display:flex}.glass-num{font:800 88px/.9 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.glass-side{text-align:right}.glass-side p{font:var(--small);color:var(--on-glass-muted);margin:0 0 2px}.glass-side strong{font:800 20px/1.3 var(--font);word-break:keep-all}.glass-period{font:600 15px/1.4 var(--font);margin:14px 0 0}.glass-period span{color:var(--on-glass-muted);font-weight:500}.dots{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px;display:grid}.dots-head{text-align:center;font:500 12px/1.4 var(--font);color:var(--on-glass-muted)}.dot{aspect-ratio:1;font:500 13px/1 var(--font);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--on-glass-muted);border-radius:50%;place-items:center;transition:background-color .4s ease-out .15s;display:grid}.dot.done{border:1.5px solid var(--ink);color:var(--ink);font-weight:600}.dot.miss{background:#1111111a}.dot.future{border:1.5px solid #1111116b}.dot.today{outline:2px solid var(--ink);outline-offset:2px;color:var(--ink);font-weight:800}.glass-sum{font:500 12px/1.5 var(--font);letter-spacing:.08em;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:18px 0 0;display:flex}.glass-sum span{align-items:center;gap:5px;display:inline-flex}.glass-sum i{border-radius:50%;width:10px;height:10px}@media (prefers-reduced-motion:reduce){.dot{transition:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:var(--yellow)}.glow{display:none}}@media (prefers-reduced-transparency:reduce){.glass{background:var(--yellow);-webkit-backdrop-filter:none;backdrop-filter:none}.glow{display:none}}.sec-title{font:800 22px/1.3 var(--font);margin:14px 4px 4px}.wallet{perspective:900px;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:24px;position:relative;overflow:clip}.wcard{text-align:left;height:220px;color:var(--ink);transform-origin:50% 0;will-change:transform;background-image:linear-gradient(#ffffff2e,#0000 40%);border-top:1px solid #ffffffbf;border-radius:24px;flex-direction:column;justify-content:flex-start;padding:15px 18px;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s;display:flex;position:absolute;top:0;left:0;right:0;overflow:clip}.wcard:after{content:"";background:var(--ink);opacity:var(--dim,0);pointer-events:none;transition:opacity .55s;position:absolute;inset:0}.wallet.dragging .wcard,.wallet.dragging .wcard:after{transition:none}.wstrip{align-items:center;gap:10px;height:28px;display:flex}.wicon{flex:none;place-items:center;width:26px;height:26px;display:grid}.wicon svg{width:22px;height:22px}.wstrip strong{min-width:0;font:700 15px/1.3 var(--font);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.wn{font:800 15px/1 var(--font)}.wbody{margin-top:14px;transition:opacity .3s;display:block}.wcard:not([aria-current=true]) .wbody{opacity:0}.wbody small{font:var(--small);color:var(--on-glass-muted);display:block}.mine{border-radius:var(--radius-pill);background:var(--ink);color:#fff;font:700 11px/1.4 var(--font);margin-left:6px;padding:2px 8px;font-style:normal}.wbig{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.wbig b{font:800 52px/.9 var(--font);letter-spacing:-.03em}.wbig b span{font:600 16px/1 var(--font);margin-left:2px}.ppl{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:60%;display:flex}.ppl i{border:1.5px solid var(--ink);border-radius:50%;width:11px;height:11px}.ppl i.on{background:var(--ink)}.whint{font:600 13px/1.4 var(--font);margin-top:18px;display:block}@media (prefers-reduced-motion:reduce){.wcard,.wcard:after,.wbody{transition:none}}.pages{touch-action:pan-y}.chips{touch-action:pan-x}.pages.slide-next{animation:.32s cubic-bezier(.22,1,.36,1) slide-from-right}.pages.slide-prev{animation:.32s cubic-bezier(.22,1,.36,1) slide-from-left}@keyframes slide-from-right{0%{opacity:.4;transform:translate(28px)}}@keyframes slide-from-left{0%{opacity:.4;transform:translate(-28px)}}@media (prefers-reduced-motion:reduce){.pages.slide-next,.pages.slide-prev{animation:none}}
