:root{--bg:#eef1f4;--surface:#fff;--ink:#1c2433;--muted:#5e6878;--line:#d5dbe3;--in:#2f6f8f;--out:#c98a06;--in-soft:#dceaf1;--out-soft:#f7eacb;--danger:#b3372f;--out-ink:#8f5f00;--field:#7f8998;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#11161d;--surface:#1a212b;--ink:#e7ecf2;--muted:#94a0b0;--line:#2b3441;--in:#5fa8c9;--out:#f0b93a;--in-soft:#1c3440;--out-soft:#3a3016;--danger:#e0776f;--out-ink:#f0b93a;--field:#667385}}:root[data-theme=dark]{--bg:#11161d;--surface:#1a212b;--ink:#e7ecf2;--muted:#94a0b0;--line:#2b3441;--in:#5fa8c9;--out:#f0b93a;--in-soft:#1c3440;--out-soft:#3a3016;--danger:#e0776f;--out-ink:#f0b93a;--field:#667385}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:IBM Plex Sans KR,system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.55}.wrap{max-width:520px;margin:0 auto;padding:20px 18px 110px}.num{font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--in);outline-offset:2px}.date{color:var(--muted);margin:0;font-size:14px}.ratio-head{align-items:baseline;gap:10px;margin:4px 0 12px;display:flex}.ratio-big{letter-spacing:-.02em;font-size:44px;font-weight:700;line-height:1}.ratio-big .i{color:var(--in)}.ratio-big .o{color:var(--out-ink)}.ratio-big .c{color:var(--line);margin:0 4px}.ratio-sub{color:var(--muted);font-size:14px}.bar{background:var(--line);border-radius:7px;height:14px;display:flex;overflow:hidden}.bar span{height:100%;transition:width .4s;display:block}.bar .bi{background:var(--in)}.bar .bo{background:var(--out)}.legend{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:14px;display:flex}h2{margin:30px 0 12px;font-size:19px;font-weight:700}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}label.field{color:var(--muted);margin-bottom:6px;font-size:14px;display:block}input[type=text],textarea,select{background:var(--bg);border:1px solid var(--field);border-radius:10px;width:100%;padding:11px 12px}textarea{resize:vertical;min-height:140px;line-height:1.6}.dlg input[type=number]{background:var(--bg);border:1px solid var(--field);border-radius:10px;padding:11px 12px}.row{align-items:center;gap:10px;display:flex}.stepper{border:1px solid var(--field);background:var(--bg);border-radius:10px;align-items:center;display:flex;overflow:hidden}.stepper button{background:0 0;border:0;width:44px;height:44px;font-size:20px}.stepper span{text-align:center;min-width:64px;font-weight:500}.stepper .numwrap{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.stepper input{text-align:right;background:0 0;border:0;width:52px;padding:0;font-size:16px;font-weight:500}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]{-moz-appearance:textfield}.skills{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.skillgroup{color:var(--muted);margin:14px 0 4px;font-size:14px}.chk{border:1px solid var(--field);background:var(--bg);-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.chk input{width:20px;height:20px;margin:0}.chk.in input{accent-color:var(--in)}.chk.out input{accent-color:var(--out)}.chk.in:has(input:checked){background:var(--in-soft);border-color:var(--in)}.chk.out:has(input:checked){background:var(--out-soft);border-color:var(--out)}.primary{background:var(--ink);width:100%;color:var(--bg);border:0;border-radius:12px;margin-top:16px;padding:14px;font-weight:700}.primary:disabled{opacity:.4}.ghost{border:1px solid var(--field);background:0 0;border-radius:10px;min-width:44px;min-height:44px;padding:8px 12px;font-size:14px}.hint{color:var(--muted);margin:8px 0 0;font-size:14px}.err{color:var(--danger)}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:0}.dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:8px}.grow{flex:1;min-width:0}.meta{color:var(--muted);font-size:14px}.x{color:var(--muted);background:0 0;border:0;min-width:44px;min-height:44px;padding:4px 8px;font-size:14px}.empty{color:var(--muted);padding:8px 0;font-size:15px}.seg{background:var(--line);border-radius:10px;gap:3px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;min-height:44px;padding:9px;font-size:15px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:500}.chart{width:100%;height:auto;display:block}.totals{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.tot{border-radius:12px;padding:12px 14px}.tot.in{background:var(--in-soft)}.tot.out{background:var(--out-soft)}.tot b{font-size:24px;display:block}.hbar{align-items:center;gap:10px;margin:8px 0;font-size:14px;display:flex}.hbar .lab{flex:none;width:48px}.hbar .track{background:var(--line);border-radius:5px;flex:1;height:10px;overflow:hidden}.hbar .fill{height:100%}.hbar .v{text-align:right;width:56px;color:var(--muted);flex:none}table.cmp{border-collapse:collapse;width:100%;margin-top:10px;font-size:15px}table.cmp th{color:var(--muted);text-align:right;padding:6px 0;font-size:14px;font-weight:500}table.cmp th:first-child,table.cmp td:first-child{text-align:left}table.cmp td{border-top:1px solid var(--line);text-align:right;padding:9px 0}.delta{color:var(--muted);font-size:13px;display:block}.rec{align-items:center;gap:16px;margin-top:14px;display:flex}.recbtn{border:4px solid var(--line);background:var(--danger);border-radius:50%;flex:none;width:72px;height:72px}.recbtn.on{border-radius:18px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 8px #b3372f2e}}@media (prefers-reduced-motion:reduce){.recbtn.on{animation:none}.bar span{transition:none}}.timer{font-size:28px;font-weight:700}audio{width:100%;margin-top:8px}.entrytext{white-space:pre-wrap;margin:8px 0 4px;font-size:15px}.anchor-tag{border:1px solid var(--ink);border-radius:6px;margin-left:6px;padding:0 6px;font-size:13px;display:inline-block}.month{color:var(--muted);margin:18px 0 2px;font-size:14px;font-weight:500}nav.tabs{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:5;position:fixed;bottom:0;left:0;right:0}nav.tabs .in{max-width:520px;margin:0 auto;display:flex}nav.tabs button{white-space:nowrap;min-height:48px;color:var(--muted);background:0 0;border:0;flex:1;padding:12px 0 14px;font-size:15px}nav.tabs button[aria-current=page]{color:var(--ink);box-shadow:inset 0 3px 0 var(--ink);font-weight:700}.rb{position:relative}.mark{background:var(--ink);border-radius:2px;width:3px;height:24px;display:none;position:absolute;top:-5px;transform:translate(-50%)}.mark:after{content:"추천";color:var(--ink);white-space:nowrap;font-size:13px;font-style:normal;position:absolute;top:26px;left:50%;transform:translate(-50%)}.lvgrid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.lvgrid button{border:1px solid var(--field);background:var(--bg);border-radius:10px;padding:12px 0;font-size:17px;font-weight:700}.lvgrid button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.plusrow{align-items:center;gap:10px;margin-top:10px;display:flex}.plustoggle{border:1px solid var(--field);background:var(--bg);border-radius:10px;min-width:52px;min-height:44px;padding:9px 16px;font-weight:700}.plustoggle[aria-pressed=true]{background:var(--out-soft);border-color:var(--out);color:var(--out-ink)}.plustoggle:disabled{opacity:.35}.lvtag{border:1px solid var(--ink);border-radius:6px;margin-right:6px;padding:1px 6px;font-size:13px;font-weight:700;display:inline-block}input[type=range]{width:100%;accent-color:var(--in);margin-top:14px}.cmprow{align-items:center;gap:10px;margin:10px 0;font-size:14px;display:flex}.cmprow .lab{width:40px;color:var(--muted);flex:none}.cmprow .bar{flex:1;height:18px}.cmprow .v{text-align:right;flex:none;width:56px}.daychips{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.daychip{border:1px solid var(--line);background:var(--surface);text-align:center;width:52px;color:var(--muted);border-radius:12px;flex:none;padding:8px 0;font-size:14px}.daychip b{color:var(--ink);margin-top:2px;font-size:17px;font-weight:700;display:block}.daychip[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}.daychip[aria-pressed=true],.daychip[aria-pressed=true] b{color:var(--bg)}.daydot{background:var(--out);border-radius:50%;width:5px;height:5px;margin:4px auto 0;display:block}.daychip[aria-pressed=true] .daydot{background:var(--bg)}.slot{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.slot:last-child{border-bottom:0}.slot .time{font-variant-numeric:tabular-nums;flex:none;width:104px;font-weight:700;line-height:1.35}.slot .who{flex:1;min-width:0}.langtag{background:var(--in-soft);color:var(--in);border-radius:6px;margin-right:4px;padding:1px 7px;font-size:13px;display:inline-block}.langpick{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.langpick button{border:1px solid var(--field);background:var(--bg);border-radius:22px;min-height:44px;padding:7px 14px;font-size:14px}.langpick button[aria-pressed=true]{background:var(--in-soft);border-color:var(--in);color:var(--in);font-weight:500}.swap{align-items:center;gap:8px;margin-top:4px;font-size:15px;font-weight:500;display:flex}.swap .arrow{color:var(--muted);font-size:18px}.kindtag{border-radius:6px;margin-bottom:6px;padding:1px 7px;font-size:13px;font-weight:700;display:inline-block}.kindtag.practice{background:var(--in-soft);color:var(--in)}.kindtag.exchange{background:var(--out-soft);color:var(--out-ink)}.filters{gap:6px;margin-top:10px;display:flex}.filters button{border:1px solid var(--field);background:var(--surface);color:var(--muted);border-radius:20px;min-height:44px;padding:6px 14px;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chkline{align-items:center;gap:8px;margin-top:12px;font-size:14px;display:flex}.chkline input{width:18px;height:18px;accent-color:var(--in)}.badge{background:var(--danger);color:#fff;vertical-align:2px;border-radius:10px;min-width:20px;height:20px;margin-left:4px;padding:0 5px;font-size:12px;font-weight:700;line-height:20px;display:inline-block}.slotcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:14px}.req{border-top:1px solid var(--line);margin-top:10px;padding:10px 0 2px}.greet{color:var(--ink);margin:4px 0 8px;font-size:14px}.mini{border:1px solid var(--field);background:var(--bg);border-radius:8px;min-height:44px;padding:7px 12px;font-size:14px}.mini.ok{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:500}.subform{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.state{color:var(--muted);flex:1;margin:0;font-size:14px}.state.ok{color:var(--in);font-weight:500}.session{background:var(--in-soft);border-radius:10px;margin-top:10px;padding:10px 12px}.session a{color:var(--in);font-weight:700;text-decoration:none}.menubox{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.notice{border-color:var(--out);background:var(--out-soft);font-size:14px}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:9;border-radius:10px;padding:10px 16px;font-size:14px;transition:opacity .2s;position:fixed;transform:translate(-50%)}.toast.show{opacity:1;pointer-events:auto}.toast button{color:var(--bg);background:0 0;border:0;min-height:44px;margin:-10px 0 -10px 10px;padding:6px 8px;font-weight:700;text-decoration:underline}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{border:1px solid var(--field);background:var(--bg);border-radius:22px;min-height:44px;padding:8px 14px;font-size:14px}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.recent{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:100%;overflow:hidden}.alloc{align-items:center;gap:10px;margin-top:8px;display:flex}.alloc span.n{flex:1}.alloc input{text-align:right;background:var(--bg);border:1px solid var(--line);border-radius:8px;width:72px;padding:9px 10px}.delbtn{color:var(--muted);background:0 0;border:0;min-width:44px;min-height:44px;font-size:14px}.daydetail{background:var(--bg);border-radius:10px;margin-top:10px;padding:10px 12px;font-size:14px}.homebtn{background:var(--ink);width:100%;color:var(--bg);border:0;border-radius:14px;margin-top:18px;padding:18px;font-size:17px;font-weight:700}.weekdots{flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-top:10px;display:flex}.weekdots div{text-align:center;color:var(--muted);flex:none;min-width:30px;font-size:14px}.weekdots i{border:2px solid var(--line);border-radius:50%;width:26px;height:26px;margin:0 auto 4px;display:block}.weekdots i.on{background:var(--in);border-color:var(--in)}.cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:96px;padding:14px}.card .t{color:var(--muted);font-size:14px}.card .v{margin-top:6px;font-size:17px;font-weight:700;line-height:1.35;display:block}.editbox{background:var(--bg);border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:12px}.editbox input[type=text]{background:var(--surface)}.libtitle{letter-spacing:-.02em;margin:2px 0 14px;font-size:26px;font-weight:700;line-height:1.25}.libhero{padding:14px 14px 16px}.libstats{color:var(--muted);justify-content:space-around;margin-top:10px;font-size:14px;display:flex}.libstats b{color:var(--ink);margin-left:2px;font-size:20px}.libguide{margin-top:10px}.libitem{align-items:flex-start;gap:10px;margin-top:10px;font-size:15px;line-height:1.5;display:flex}.libitem .ic{border-radius:2px;flex:none;width:14px;height:22px;margin-top:3px}.stagecard{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.stname{font-size:18px;font-weight:700;line-height:1.3}.favchip{border:1px solid var(--line);background:var(--bg);border-radius:18px;align-items:center;max-width:100%;display:inline-flex}.favchip .chip{background:0 0;border:0;padding-right:4px}.favx{color:var(--muted);background:0 0;border:0;min-width:36px;min-height:40px;font-size:18px}.alert{border-color:var(--out);background:var(--out-soft);font-size:15px}.footer{flex-wrap:wrap;gap:8px;margin-top:36px;display:flex}.goalline{text-align:left;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;margin:-15px 0 1px;padding:11px 0;font-size:14px;line-height:1.5;display:block}.goalline b{font-weight:700}.bk{transform-box:fill-box;transform-origin:50% 100%}.bk.sel{stroke:var(--ink);stroke-width:2px;animation:.55s cubic-bezier(.3,1.5,.5,1) both bkpop}@keyframes bkpop{0%{transform:translateY(0)rotate(0)}40%{transform:translateY(-11px)rotate(-7deg)}70%{transform:translateY(-6px)rotate(3deg)}to{transform:translateY(-8px)rotate(0)}}@media (prefers-reduced-motion:reduce){.bk.sel{animation:none;transform:translateY(-6px)}}.chart.mini{max-width:210px;margin-left:auto;margin-right:auto;display:block}.shelfstrip{scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;--u:1;align-items:flex-end;gap:5px;padding:2px 2px 0;display:flex;overflow-x:auto}.shelfstrip::-webkit-scrollbar{display:none}.shelfstrip.big{--u:1.5}.shelfstrip.has-past{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24%);mask-image:linear-gradient(90deg,#0000 0,#000 24%)}.shelfstrip .ps{scroll-snap-align:start;width:calc(var(--w)*var(--u)*1px);margin-right:calc(var(--w)*var(--u)*-.08px);flex:none}.shelfstrip .ps svg{width:100%;height:auto;display:block}.shelfstrip .pdate{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:clip;padding:0 0 3px;font-size:13px;line-height:1.3;overflow:hidden}.shelfstrip .cur{scroll-snap-align:end;flex:none;width:210px}.shelfstrip.big .cur{width:72%}.shelfstrip:focus-visible{outline-offset:2px}.bk.slot{transform-origin:50%}.bk.slot.sel{fill:var(--in-soft);stroke:var(--ink);stroke-dasharray:none;animation:.4s ease-out both slotpop}@keyframes slotpop{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.bk.slot.sel{animation:none}}.bkdetail{min-height:44px;margin-top:6px;font-size:15px;line-height:1.5}.titlerow{align-items:flex-start;gap:8px;display:flex}.titlerow .libtitle{flex:1;margin-right:0}.qbtn{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;margin-top:3px;padding:0;font-size:15px;font-weight:700;line-height:1;position:relative}.qbtn:after{content:"";border-radius:50%;position:absolute;inset:-6px}details>summary{cursor:pointer;padding:10px 0}.vrow{align-items:flex-start;gap:12px;margin-top:8px;display:flex}.vchar{flex:none;width:64px;height:80px}.vchar svg{animation:3.4s ease-in-out 3 vbreathe;display:block;overflow:visible}.vchar .wave{transform-box:fill-box;transform-origin:0 100%}.vchar.enter{animation:.8s ease-out both vwalk}.vchar.enter .wave{animation:.5s ease-in-out .85s 4 alternate vwave}.vchar.leaving{animation:.45s ease-in-out 2 vnod,.7s ease-in 1.1s forwards vleave}.vbubble{text-align:left;background:var(--bg);min-width:0;color:var(--ink);border:1px solid var(--line);border-radius:14px;flex:1;padding:10px 12px;font-size:16px;font-weight:500;line-height:1.5;position:relative}.vbubble:before{content:"";border:8px solid #0000;border-right-color:var(--line);border-left:0;position:absolute;top:22px;left:-9px}.vbubble:after{content:"";border:7px solid #0000;border-right-color:var(--bg);border-left:0;position:absolute;top:23px;left:-7px}.vbubble.pop{animation:.5s cubic-bezier(.3,1.6,.6,1) .55s both vpop}.vnote{border:1px dashed var(--line);background:var(--bg);border-radius:12px;margin-top:6px;padding:10px 12px;font-size:16px;font-weight:500;line-height:1.5}.vdots{align-items:center;gap:5px;height:24px;display:inline-flex}.vdots i{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite vdot}.vdots i:nth-child(2){animation-delay:.15s}.vdots i:nth-child(3){animation-delay:.3s}@keyframes vdot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.vdots i{opacity:.7;animation:none!important}}.vmine{justify-content:flex-end;margin-top:8px;display:flex}.vbubble.small{max-width:78%;color:var(--muted);border-style:dashed;flex:none;padding:7px 12px;font-size:14px;font-weight:400}.vbubble.small.filled{color:var(--ink);border-style:solid}.vbubble.small:disabled{opacity:1}.vbubble.mine:before{border:8px solid #0000;border-left-color:var(--line);border-right:0;top:11px;left:auto;right:-9px}.vbubble.mine:after{border:7px solid #0000;border-left-color:var(--bg);border-right:0;top:12px;left:auto;right:-7px}.vopen{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}@keyframes vwalk{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:none}}@keyframes vwave{0%{transform:rotate(-12deg)}to{transform:rotate(14deg)}}@keyframes vpop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes vbreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes vnod{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes vleave{to{opacity:0;transform:translate(44px)}}@media (prefers-reduced-motion:reduce){.vchar,.vchar svg,.vchar .wave,.vbubble{animation:none!important}}.vline{margin:6px 0 8px;font-size:17px;font-weight:500;line-height:1.5}.swtime{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.5px;margin-top:6px;font-size:46px;font-weight:700}.swpill{top:calc(8px + env(safe-area-inset-top,0px));z-index:15;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:20px;padding:8px 14px;font-size:14px;font-weight:700;position:fixed;right:12px}.moodline{align-items:center;gap:10px;margin-top:8px;font-size:16px;display:flex}.pips{gap:3px;display:inline-flex}.pips i{background:var(--line);border-radius:2px;width:10px;height:14px}.pips i.on{background:var(--in)}.rvguide{border-left:3px solid var(--in);background:var(--bg);border-radius:0 10px 10px 0;margin-top:12px;padding:10px 12px;font-size:14px;line-height:1.55}.rvguide.strong{border-left-color:var(--ink);background:var(--in-soft)}.rvbox{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.rvrow{margin:8px 0;font-size:14px;line-height:1.5}.rvrow.star{border:1px solid var(--ink);background:var(--in-soft);border-radius:10px;padding:8px 10px}.rvin{width:100%}.cmpgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cmpcard{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-width:0;padding:10px}.cmpcard audio{width:100%;height:36px;margin-top:8px}.acal{grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px;display:grid}.acal.wd span{text-align:center;color:var(--muted);font-size:13px}.acell{min-height:46px;color:var(--ink);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:5px 0 4px;font-size:14px;display:flex}.acell.today .dn{text-underline-offset:3px;font-weight:700;text-decoration:underline}.acell[aria-pressed=true]{background:var(--in-soft);box-shadow:inset 0 0 0 1px var(--ink)}.mks{align-items:center;gap:3px;height:8px;display:flex}.mk{flex:none;width:7px;height:7px;display:inline-block}.mk.in{background:var(--in);border-radius:50%}.mk.out{background:var(--out);border-radius:50%}.mk.med{background:var(--ink);border-radius:1px}.mk.tt{border:2px solid var(--ink);box-sizing:border-box;border-radius:50%;width:8px;height:8px}.alegend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:14px;display:flex}.alegend span{align-items:center;gap:5px;display:inline-flex}.ttopts{flex-direction:column;gap:6px;margin-top:8px;display:flex}.ttopt{text-align:left;border:1px solid var(--field);background:var(--bg);color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;font-size:15px;line-height:1.45;display:flex}.ttopt span{color:var(--muted);font-size:14px}.ttopt[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.goalline.empty{text-underline-offset:3px;color:var(--muted);text-decoration:underline}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.reostep{color:var(--muted);margin:0 0 6px;font-size:14px;font-weight:400;line-height:1.55}#reoPanel .vnote{border-color:var(--field)}
@media (hover:hover) and (pointer:fine){.shelfstrip{cursor:grab;scroll-snap-type:none}.shelfstrip.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}}.cards [data-go=cal]{display:none!important}.cards:has([data-go=cal]) [data-go=my]{grid-column:1/-1}html:not([data-dev]) .footer:has(#seed){display:none}.betalinks{flex-direction:column;gap:8px;margin-top:28px;display:flex}.betalinks a{color:var(--ink);text-underline-offset:3px;align-items:center;min-height:44px;font-size:14px;display:flex}.vchar{width:84px;height:110px}.vchar .vimg{object-fit:cover;object-position:top;background:var(--bg);border-radius:16px;width:84px;height:110px;animation:3.4s ease-in-out 3 vbreathe;display:block}@media (prefers-reduced-motion:reduce){.vchar .vimg{animation:none}}.pteaser .pt-soon{color:var(--out-ink);background:var(--out-soft);border-radius:999px;padding:3px 12px;font-size:14px;font-weight:700;display:inline-block}.pt-scene{background:var(--in-soft);border-radius:20px;justify-content:space-between;align-items:flex-end;gap:8px;margin:18px 0 6px;padding:16px 14px 0;display:flex;overflow:hidden}.pt-scene img{object-fit:cover;object-position:top;flex:none;width:84px;height:110px}.pt-bubbles{flex-direction:column;flex:1;gap:8px;padding-bottom:18px;display:flex}.pt-b{background:var(--surface);border-radius:14px;padding:8px 10px;font-size:14px;line-height:1.4;box-shadow:0 2px 6px #00000014}.pt-b.l{border-bottom-left-radius:4px;align-self:flex-start}.pt-b.r{border-bottom-right-radius:4px;align-self:flex-end}.pt-lead{margin:14px 0 6px;font-size:16px;line-height:1.6}.pt-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.pt-list li{background:var(--surface);border-radius:14px;padding:12px 14px}.pt-list b{font-size:15px;display:block}.pt-list span{color:var(--muted);font-size:14px}.pt-preview{opacity:.55;filter:blur(.4px);gap:8px;display:grid}.pt-slot{background:var(--surface);border:1.5px dashed var(--field);border-radius:14px;justify-content:space-between;gap:10px;padding:12px 14px;font-size:14px;display:flex}.pt-slot span{color:var(--muted)}.pteaser .pt-ask{text-align:center;color:var(--btn-ink);background:var(--in);margin-top:16px;text-decoration:none;display:block}.scenetoggle{justify-content:flex-end;margin:6px 0 2px;display:flex}.scenetoggle button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:22px;align-items:center;gap:6px;min-height:44px;padding:6px 14px 6px 11px;font-size:14px;display:inline-flex}.scenetoggle button svg{width:20px;height:20px;color:var(--out)}.scenetoggle button:hover{color:var(--ink);border-color:var(--field)}.scenetoggle button:focus-visible{outline:2px solid var(--in);outline-offset:2px}.bshop .bswitch{z-index:6;color:#2b2a33;min-height:44px;font-family:var(--hand);box-shadow:var(--paper-shadow);background:#fffdf7;border:0;border-radius:2px;align-items:center;gap:5px;padding:4px 12px 5px 9px;font-size:16px;font-weight:700;line-height:1.1;display:inline-flex;position:absolute;bottom:12px;right:12px;transform:rotate(-2deg)}.bshop .bswitch svg{color:#9c3f2a;width:18px;height:18px}.bshop .bswitch:active{transform:rotate(-2deg)translateY(1px)}.bshop .bswitch:focus-visible{outline-offset:3px;outline:3px solid #fffdf7}.bk.kf{stroke:var(--in);stroke-width:3px;stroke-dasharray:none}[data-bk]:focus,[data-bk]:focus-visible{outline:none}.bknav{gap:8px;margin-top:8px;display:flex}.bknav button{flex:1;min-height:44px;font-size:15px}.bknav button:disabled{opacity:.45;cursor:default}.pfold{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.pfold>summary{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}.pfold>summary span{color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:1px 8px;font-size:13px}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .seg button:not([aria-pressed=true]){color:#64564a}}:root[data-theme=light] .seg button:not([aria-pressed=true]){color:#64564a}.vbubble.small.mine{min-height:44px}.ltgo{min-height:44px;color:var(--in);align-items:center;margin:4px 0 8px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.list.ms-stack:after{content:"";background:var(--field);border-radius:2px;height:4px;margin:2px -4px 0;display:block}.list.ms-stack>li:last-child{padding-bottom:10px}.firstbook{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.firstbook .fb-line{color:var(--ink);margin:0;font-size:15px;line-height:1.5}.firstbook .fb-btn{min-height:48px;margin-top:10px;padding:12px;font-size:16px}.firstbook.fb-note{color:var(--ink);background:var(--surface);box-shadow:var(--paper-shadow,0 1px 3px #281e1426);border:0;border-radius:4px;margin:12px 0 0;padding:10px 14px;font-size:15px;line-height:1.5}.firstbook.fb-note+.homebtn{margin-top:10px}
:root{--bg:#f5efe4;--surface:#fffcf6;--ink:#2e2520;--muted:#6a5c50;--line:#e2d6c4;--in:#3f6b50;--out:#b7792b;--in-soft:#e1ebdd;--out-soft:#f4e4ca;--danger:#b3372f;--out-ink:#85551a;--field:#958676}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1b1713;--surface:#26201a;--ink:#f1e8db;--muted:#b5a796;--line:#3b3229;--in:#8dbe9b;--out:#e2a85a;--in-soft:#243328;--out-soft:#3b2e1b;--danger:#e0776f;--out-ink:#e2a85a;--field:#7d6f60}}:root[data-theme=dark]{--bg:#1b1713;--surface:#26201a;--ink:#f1e8db;--muted:#b5a796;--line:#3b3229;--in:#8dbe9b;--out:#e2a85a;--in-soft:#243328;--out-soft:#3b2e1b;--danger:#e0776f;--out-ink:#e2a85a;--field:#7d6f60}
:root{--btn-ink:#fffcf6}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--btn-ink:#1b1713}}:root[data-theme=dark]{--btn-ink:#1b1713}nav.tabs .in{gap:4px;padding:6px 8px}nav.tabs button{border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;font-size:14px;display:flex}nav.tabs button:before{content:"";width:24px;height:24px;-webkit-mask:var(--ic) center / contain no-repeat;-webkit-mask:var(--ic) center / contain no-repeat;mask:var(--ic) center / contain no-repeat;background:currentColor}nav.tabs button[aria-current=page]{box-shadow:none;background:var(--in-soft);color:var(--ink)}nav.tabs button[data-tab=home]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 4l9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E")}nav.tabs button[data-tab=log]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16z'/%3E%3Cpath d='M13 7l4 4'/%3E%3C/svg%3E")}nav.tabs button[data-tab=stats]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M6 20v-6h3v6M11 20V8h3v12M16 20v-9h3v9'/%3E%3C/svg%3E")}nav.tabs button[data-tab=my]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4 4-6 8-6s7 2 8 6'/%3E%3C/svg%3E")}nav.tabs button[data-tab=cal]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='8' cy='9' r='3'/%3E%3Ccircle cx='16' cy='9' r='3'/%3E%3Cpath d='M2 20c1-3 3-5 6-5s5 2 6 5M12 18c1-2 2-3 4-3 3 0 5 2 6 5'/%3E%3C/svg%3E")}.lvup{z-index:30;background:#1b17138c;justify-content:center;align-items:center;padding:24px;animation:.25s ease-out both lvfade;display:flex;position:fixed;inset:0;overflow:hidden}.lvbox{z-index:1;text-align:center;background:var(--surface);width:100%;max-width:340px;color:var(--ink);border-radius:24px;padding:30px 20px 20px;animation:.55s cubic-bezier(.3,1.6,.5,1) both lvpop;position:relative;box-shadow:0 20px 50px #00000047}.lvtag{letter-spacing:1px;color:var(--out-ink);background:var(--out-soft);white-space:nowrap;border-radius:999px;padding:4px 16px;font-size:15px;font-weight:700;position:absolute;top:-15px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000001f}.lvemblem{margin:4px auto 0;animation:1.2s ease-in-out .5s 2 lvbounce;display:inline-block;position:relative}.lvemblem:before{content:"";z-index:-1;background:repeating-conic-gradient(var(--out-soft) 0 12deg, transparent 12deg 24deg);border-radius:50%;animation:8s linear infinite lvspin;position:absolute;inset:-14px}.lvtitle{margin:8px 0 2px;font-size:24px;font-weight:700}.lvname{font-size:17px;font-weight:700}.lvnum{color:var(--btn-ink);background:var(--in);border-radius:999px;margin-right:4px;padding:1px 10px;font-size:14px;display:inline-block}.lvdesc{color:var(--muted);margin:6px 0 0;font-size:15px}.lvguest{text-align:left;background:var(--bg);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;display:flex}.lvguest .vchar,.lvguest .vchar .vimg{width:56px;height:72px}.lvguest p{margin:0;font-size:15px;line-height:1.5}.lvguest .lvsmall{color:var(--muted);font-size:14px}.lvbox .primary{margin-top:18px}.lvconfetti{pointer-events:none;position:absolute;inset:0}.lvconfetti i{width:10px;height:14px;transform:rotate(var(--r));border-radius:2px;animation:linear both lvfall;position:absolute;top:-20px}@keyframes lvfade{0%{opacity:0}}@keyframes lvpop{0%{opacity:0;transform:scale(.6)}}@keyframes lvbounce{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)scale(1.05)}}@keyframes lvspin{to{transform:rotate(360deg)}}@keyframes lvfall{to{transform:translateY(110vh) rotate(calc(var(--r) + 540deg))}}@media (prefers-reduced-motion:reduce){.lvup,.lvbox,.lvemblem,.lvemblem:before{animation:none}}html[data-calm] *,html[data-calm] :before,html[data-calm] :after{transition:none!important;animation:none!important}html[data-calm] .lvconfetti{display:none}
html[data-look=bookshop]:root{--bg:#f7f1e3;--surface:#fffdf7;--ink:#2b2a33;--muted:#5e5866;--line:#e8dec8;--field:#8a8173;--in:#3d6b55;--out:#b04a33;--out-ink:#9c3f2a;--in-soft:#e3ede3;--out-soft:#f8e3da;--danger:#a8322a;--btn-ink:#fffdf7;--navy:#2e3a55;--sky:#bfd8e6;--sage:#8fb09a;--sand:#e9d8b4;--coral:#d9644a;--mustard:#e2b54a;--paper-shadow:0 1px 1px #3c301e14, 0 6px 16px #3c301e14;--game-font:"Gowun Batang", "IBM Plex Sans KR", serif;--hand:"Gaegu", "Gowun Batang", "IBM Plex Sans KR", sans-serif}@media (prefers-color-scheme:dark){html[data-look=bookshop]:root:not([data-theme=light]){--bg:#1c2335;--surface:#273049;--ink:#f2ede1;--muted:#b8b3c2;--line:#36405a;--field:#7d8399;--in:#9cc7ae;--out:#f09a80;--out-ink:#f09a80;--in-soft:#24363a;--out-soft:#3f2e36;--danger:#f08a80;--btn-ink:#1c2335;--navy:#141a29;--paper-shadow:0 1px 1px #00000040, 0 8px 18px #00000040}}html[data-look=bookshop][data-theme=dark]:root{--bg:#1c2335;--surface:#273049;--ink:#f2ede1;--muted:#b8b3c2;--line:#36405a;--field:#7d8399;--in:#9cc7ae;--out:#f09a80;--out-ink:#f09a80;--in-soft:#24363a;--out-soft:#3f2e36;--danger:#f08a80;--btn-ink:#1c2335;--navy:#141a29;--paper-shadow:0 1px 1px #00000040, 0 8px 18px #00000040}html[data-look=bookshop] body{background-color:var(--bg);background-image:radial-gradient(#78643c0d 1px,#0000 1.2px),radial-gradient(#78643c0a 1px,#0000 1.2px);background-position:0 0,3px 5px;background-size:7px 9px,11px 13px}html[data-look=bookshop][data-tab=log] body,html[data-look=bookshop][data-tab=my] body{background:var(--navy)}html[data-look=bookshop][data-tab=log] #view,html[data-look=bookshop][data-tab=my] #view{background:var(--bg);border-radius:6px 6px 18px 18px;margin-top:4px;padding:16px 14px 22px;box-shadow:0 10px 30px #0000004d}html[data-look=bookshop] .libtitle,html[data-look=bookshop] h2,html[data-look=bookshop] .stname,html[data-look=bookshop] .lvtitle{letter-spacing:-.01em;font-weight:700}html[data-look=bookshop] nav.tabs button,html[data-look=bookshop] .primary,html[data-look=bookshop] .homebtn,html[data-look=bookshop] .tot b,html[data-look=bookshop] .card .v,html[data-look=bookshop] .libstats b{font-family:IBM Plex Sans KR,system-ui,sans-serif;font-weight:700}html[data-look=bookshop] .panel,html[data-look=bookshop] .stagecard,html[data-look=bookshop] .card,html[data-look=bookshop] .slotcard,html[data-look=bookshop] .tot,html[data-look=bookshop] .primary,html[data-look=bookshop] .homebtn,html[data-look=bookshop] .ghost,html[data-look=bookshop] .mini,html[data-look=bookshop] .chip,html[data-look=bookshop] .plustoggle,html[data-look=bookshop] .lvgrid button,html[data-look=bookshop] .langpick button,html[data-look=bookshop] .toast,html[data-look=bookshop] nav.tabs{border-color:#0000}html[data-look=bookshop] nav.tabs{border-top:0}html[data-look=bookshop] .panel,html[data-look=bookshop] .stagecard,html[data-look=bookshop] .card,html[data-look=bookshop] .slotcard,html[data-look=bookshop] .tot{background:var(--surface);box-shadow:var(--paper-shadow);border-radius:4px;position:relative}html[data-look=bookshop] .panel.libhero:before,html[data-look=bookshop] .panel.visitor:before{content:"";background:color-mix(in srgb, var(--mustard) 55%, transparent);pointer-events:none;border-radius:2px;width:74px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg);-webkit-mask:linear-gradient(90deg,#0000 0 2px,#000 2px calc(100% - 2px),#0000 0);mask:linear-gradient(90deg,#0000 0 2px,#000 2px calc(100% - 2px),#0000 0)}html[data-look=bookshop] .panel.visitor:before{background:color-mix(in srgb, var(--sky) 70%, transparent);left:18%;transform:translate(-50%)rotate(3deg)}html[data-look=bookshop] .primary,html[data-look=bookshop] .homebtn{background:var(--in);color:var(--btn-ink);box-shadow:0 2px 0 color-mix(in srgb, var(--in) 70%, #000);border-radius:10px}html[data-look=bookshop] .ghost,html[data-look=bookshop] .mini,html[data-look=bookshop] .chip,html[data-look=bookshop] .langpick button,html[data-look=bookshop] .lvgrid button{background:var(--bg);box-shadow:inset 0 0 0 1px var(--field);border-radius:8px}html[data-look=bookshop] .chip[aria-pressed=true],html[data-look=bookshop] .mini.ok,html[data-look=bookshop] .lvgrid button[aria-pressed=true]{background:var(--in);color:var(--btn-ink);box-shadow:none}html[data-look=bookshop] .favchip{background:var(--bg);box-shadow:inset 0 0 0 1px var(--field);border-color:#0000;border-radius:8px}html[data-look=bookshop] .favchip .chip{box-shadow:none;background:0 0;border-radius:8px 0 0 8px}html[data-look=bookshop] .stagecard .bar,html[data-look=bookshop] #ratioBar{background:var(--line);border-radius:99px;height:10px!important}html[data-look=bookshop] .stagecard .bar .bi,html[data-look=bookshop] #ratioBar .bi{background-image:none}html[data-look=bookshop] .panel.visitor{padding-top:22px;margin-top:22px!important}html[data-look=bookshop] .panel.visitor>.meta:first-child{font-family:var(--hand);color:var(--out-ink);background:var(--surface);box-shadow:var(--paper-shadow);border-radius:3px;padding:2px 10px;font-size:17px;font-weight:700;line-height:1.2;position:absolute;top:-12px;left:auto;right:14px;transform:rotate(2deg)}html[data-look=bookshop] .vbubble{background:var(--surface);border-radius:255px 18px 225px/18px 225px 18px 255px;border:1.5px solid var(--ink)!important}html[data-look=bookshop] .vbubble:before,html[data-look=bookshop] .vbubble:after{display:none}html[data-look=bookshop] .vchar .vimg{background:var(--sky);border-radius:50%}html[data-look=bookshop] nav.tabs{background:var(--surface);box-shadow:0 -4px 16px #281e141a}html[data-look=bookshop] nav.tabs button[aria-current=page]{color:var(--ink);box-shadow:inset 0 -4px 0 var(--mustard);background:0 0;border-radius:0}.bshop{background:#b3d6e3;margin:-20px -18px 0;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.bshop{background:#162745}}.bshop .bart,.bshop .bart img{aspect-ratio:1080/931;object-fit:cover;width:100%;height:auto;display:block}.bshop .bnote,.bshop .blabel,.bshop .bcoin{color:#2b2a33;background:#fffdf7;position:absolute;box-shadow:0 2px 6px #281e142e}.bshop .bnote{min-height:44px;font-family:var(--hand);clip-path:polygon(0 0,100% 0,100% 86%,92% 100%,82% 90%,70% 100%,58% 91%,46% 100%,34% 90%,22% 100%,10% 91%,0 100%);border-radius:2px;padding:6px 12px 12px;font-size:17px;line-height:1.15;top:12px;left:16px;transform:rotate(-3deg)}.bshop .blabel{text-align:left;border-radius:3px;width:150px;padding:7px 10px 9px;top:12px;right:16px;transform:rotate(1.5deg)}.bshop .bnote small{color:#9c3f2a;margin-top:2px;font-size:15px;display:block}.bshop .blabel .blv{font-family:var(--hand);color:#fffdf7;background:#9c3f2a;border-radius:3px;padding:0 7px;font-size:15px;font-weight:700;line-height:1.2;display:inline-block;transform:rotate(-4deg)}.bshop .blabel .bname{margin:3px 0 5px;font-family:Gowun Batang,serif;font-size:15px;font-weight:700;display:block}.bshop .blabel .bbar{background:#e8dec8;border-radius:99px;height:8px;display:block;overflow:hidden}.bshop .blabel .bbar span{background:#3d6b55;border-radius:99px;height:100%;display:block}.bshop .bcoins{gap:8px;display:flex;position:absolute;top:108px;left:16px}.bshop .bcoin{border-radius:999px;align-items:center;gap:5px;padding:4px 11px 4px 4px;font-size:14px;display:flex;position:static}.bshop .bcoin i{color:#2b2a33;background:#e2b54a;border-radius:50%;place-items:center;width:26px;height:26px;font-style:normal;display:grid}.bshop .bcoin i svg{width:16px;height:16px}.bshop .bcoin b{font-weight:700}.btabs{gap:4px;margin:0 -18px 16px;padding:0 10px;display:flex}.btabs button{color:#2b2a33;text-align:center;cursor:pointer;border:0;border-radius:0 0 10px 10px;flex:1;justify-content:center;min-height:52px;padding:6px 4px 8px;font-size:13px;line-height:1.2;display:flex;box-shadow:0 3px 6px #281e1424}.btabs button b{font-size:14px;display:block}.btabs .t-take{background:#d7e7db}.btabs .t-firm{background:#f3e1b4}.btabs .t-echo{background:#d8e6f0}.btabs .t-out{background:#f6d5c8}.bshop .bspot{color:#2b2a33;cursor:pointer;font:inherit;text-align:left;border:0;position:absolute}.bshop .bspot:focus-visible,.btabs button:focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #2e3a55}.bshop .btag{white-space:nowrap;font-family:var(--hand);color:#2b2a33;background:#fffdf7;border-radius:3px;padding:2px 10px;font-size:16px;font-weight:700;line-height:1.2;position:absolute;bottom:0;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #281e1433}.bshop .bspot:active .btag{transform:translate(-50%)rotate(-2deg)translateY(1px)}.bshop .bdot{vertical-align:2px;background:#9c3f2a;border-radius:50%;width:8px;height:8px;margin-left:4px;display:inline-block}.bshop .hs-shelf,.bshop .hs-guest,.bshop .hs-mail{background:0 0;padding:0}.bshop .hs-shelf{width:30%;height:50%;top:26%;left:64%}.bshop .hs-guest{width:34%;height:57%;top:40%;left:16%}.bshop .hs-guest img{filter:drop-shadow(0 4px 3px #281e1440);width:auto;height:calc(100% - 26px);position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.bshop .hs-guest .bbub{color:#2b2a33;z-index:1;background:#fffdf7;border:1.5px solid #2b2a33;border-radius:255px 14px 225px/14px 225px 14px 255px;width:128px;padding:5px 8px;font-size:13px;line-height:1.35;position:absolute;top:-6px;left:62%}.bshop .hs-mail{width:11.5%;min-width:44px;height:12.5%;min-height:44px;top:64%;left:54%}.bshop .hs-mail .btag{padding:1px 8px;font-size:14px;left:32%}.bshop .hs-box{aspect-ratio:145/360;background:0 0;border:0;min-width:44px;height:31%;padding:0;position:absolute;bottom:13%;left:3%}.bshop span.hs-box{pointer-events:none}.bshop .hs-box img{filter:drop-shadow(0 4px 3px #281e1438);clip-path:polygon(0 0,80% 0,80% 27%,100% 27%,100% 100%,0 100%);width:auto;height:100%;display:block}.bshop .hs-box.up img{clip-path:none}.bshop .hs-box .benv{filter:drop-shadow(0 2px 2px #281e1440);width:44%;animation:2.6s ease-in-out infinite benv;position:absolute;top:6%;left:20%;transform:rotate(-8deg)}@keyframes benv{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(-5deg)translateY(-6%)}}@media (prefers-reduced-motion:reduce){.bshop .hs-box .benv{animation:none}}.bsheet-wrap{z-index:8;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.bsheet-back{background:#14192861;position:absolute;inset:0}.bsheet{background:var(--bg);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-width:520px;max-height:84vh;margin:0 auto;animation:.22s ease-out bsheetUp;display:flex;position:relative;box-shadow:0 -10px 30px #00000040}.bsheet:before{content:"";background:var(--field);border-radius:99px;width:40px;height:4px;margin-left:-20px;position:absolute;top:7px;left:50%}.bsheet-head{justify-content:space-between;align-items:center;gap:10px;padding:16px 16px 6px;display:flex}.bsheet-head h2{margin:0;font-size:20px}.bsheet-x{background:var(--surface);min-width:64px;min-height:44px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--field);cursor:pointer;border:0;border-radius:10px;padding:0 14px;font-size:15px}.bsheet-body{overscroll-behavior:contain;padding:8px 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}.bsheet-body>h2:first-child{margin-top:6px}.bsheet-body .panel.visitor{margin-top:18px!important}@keyframes bsheetUp{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bsheet{animation:none}}html[data-look=bookshop] .bsheet .panel.visitor .vchar{display:none}html[data-look=bookshop] #view>.btabs+.homebtn{margin-top:0}.bsheet{--sh-bg:var(--bg);--sh-sub:var(--muted);background:var(--sh-bg)}.bsheet-head{align-items:flex-start}.bsheet-tt{flex:1;min-width:0}.bsheet-sub{font-family:var(--hand);color:var(--sh-sub);margin:2px 0 0;font-size:17px;line-height:1.25}.bsheet-face{object-fit:cover;object-position:50% 10%;background:#bfd8e6;border-radius:50%;flex:none;width:56px;height:56px;box-shadow:0 2px 6px #281e1433}.bsheet.bs-shelf{--sh-bg:#e8cfa6;--sh-sub:#5a4a3a;background:repeating-linear-gradient(#0000 0 62px,#6e48241a 62px 64px),linear-gradient(90deg,#ffffff1f,#0000 30%,#6e48240f 70%,#0000),#e8cfa6}.bs-shelf .bsheet-body .panel{margin-bottom:18px;box-shadow:0 2px #6e482440,0 10px 0 -4px #b98b5e,0 12px 14px -6px #3c281459}.bs-shelf .bsheet-body h2{color:#2b2a33}.bs-shelf .bsheet-body h2+.panel{background:repeating-linear-gradient(180deg, transparent 0 27px, #466e9624 27px 28px), linear-gradient(90deg, transparent 0 22px, #b04a3359 22px 23.5px, transparent 23.5px), var(--surface);padding-left:34px}.bsheet.bs-mail{--sh-bg:#d9bf93;--sh-sub:#584632;background:radial-gradient(#5a3c1e14 1px,#0000 1.3px) 0 0/6px 6px,#d9bf93}.bs-mail .bsheet-body h2{color:#2b2a33}.bs-mail #reoPanel{background:repeating-linear-gradient(180deg, transparent 0 27px, #466e961f 27px 28px), var(--surface);border-radius:2px;transform:rotate(-.6deg)}.bs-mail #reoPanel:after{content:"그때의 나";font-family:var(--hand);color:#9c3f2a;pointer-events:none;border-radius:4px;padding:0 8px;font-size:15px;font-weight:700;position:absolute;top:10px;right:12px;transform:rotate(8deg);box-shadow:inset 0 0 0 2px #9c3f2a}.bs-mail #reoPanel>:first-child{padding-right:86px}.bs-mail .cards .card{box-shadow:var(--paper-shadow);background:linear-gradient(164deg, transparent 0 46%, #785a3238 46% 48%, transparent 48%) top / 100% 26px no-repeat, linear-gradient(196deg, transparent 0 46%, #785a3238 46% 48%, transparent 48%) top / 100% 26px no-repeat, var(--surface);border-radius:3px;padding-top:30px;position:relative;overflow:hidden}.bs-mail .cards .card:after{content:"";opacity:.8;background:repeating-linear-gradient(45deg,#d9644a 0 3px,#e2b54a 3px 6px);border-radius:2px;width:18px;height:22px;position:absolute;top:8px;right:8px}.bs-mail .homebtn[data-speak]{border-radius:4px}.bsheet.bs-stage{--sh-bg:#f3e8cc;background:linear-gradient(#78643c12 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#78643c12 1px,#0000 1px) 0 0/22px 22px,#f3e8cc}.bmap{grid-template-columns:repeat(4,1fr);row-gap:14px;margin:4px 0 16px;padding:4px 0 0;list-style:none;display:grid;position:relative}.bmap li{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:13px;line-height:1.25;display:flex;position:relative}.bmap li:before{content:"";z-index:0;border-top:2px dashed #8a8173;width:100%;position:absolute;top:15px;left:-50%}.bmap li:nth-child(4n+1):before{display:none}.bmap li.past:before,.bmap li.now:before{border-top-style:solid;border-color:var(--in)}.bmap i{z-index:1;background:var(--surface);width:32px;height:32px;color:var(--muted);border-radius:50%;place-items:center;font-size:14px;font-style:normal;font-weight:700;display:grid;position:relative;box-shadow:inset 0 0 0 2px #8a8173}.bmap li.past i{background:var(--in);color:var(--btn-ink);box-shadow:none}.bmap li.now i{color:#2b2a33;background:#e2b54a;box-shadow:0 0 0 4px #e2b54a59}.bmap li.now span{color:var(--ink);font-weight:700}.bs-stage .stagecard{border-radius:4px}.bsheet.bs-mood{--sh-bg:#f7e7a6;background:#f7e7a6}.bs-mood .panel.mood{box-shadow:none;background:#fffdf7b3;border-radius:2px}.bs-mood .bsheet-body:before{content:"";background:#8fb09a99;border-radius:2px;width:80px;height:18px;margin:-4px auto 10px;display:block;transform:rotate(-2deg)}.bsheet.bs-guest{--sh-bg:#f2e6cc;background:linear-gradient(#dcebf1 0,#eaf0e8 90px,#f2e6cc 200px)}.bs-guest .panel.visitor{margin-top:12px!important}@media (prefers-color-scheme:dark){.bsheet.bs-shelf{--sh-sub:#d8ccba;background:repeating-linear-gradient(#0000 0 62px,#00000040 62px 64px),#3b2c21}.bs-shelf .bsheet-body h2,.bs-mail .bsheet-body h2{color:#f2ede1}.bsheet.bs-mail{--sh-sub:#d8ccba;background:radial-gradient(#ffffff0d 1px,#0000 1.3px) 0 0/6px 6px,#3a3226}.bsheet.bs-stage{background:linear-gradient(#ffffff0d 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#ffffff0d 1px,#0000 1px) 0 0/22px 22px,#2a2f3f}.bsheet.bs-mood{--sh-sub:#d8ccba;background:#3c3622}.bs-mood .panel.mood{background:var(--surface)}.bsheet.bs-guest{background:linear-gradient(#1f2a44 0,#232c42 120px,#2a2a33 220px)}.bs-mail #reoPanel:after{color:#f09a80;box-shadow:inset 0 0 0 2px #f09a80}.bmap li:before{border-color:#7d8399}}.bshop .bwalk{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bshop .bwalker{visibility:hidden;height:10.5%;position:absolute;bottom:37%;left:-10%}.bshop .bwalker img{width:auto;height:100%;display:block}.bshop .bwalker.go{visibility:visible;animation:bwalkR var(--dur,26s) linear 1 both}.bshop .bwalker.go.l{animation-name:bwalkL}.bshop .bwalker.go img{animation:.42s ease-in-out infinite alternate bhop}.bshop .bwalker.go.l img{animation-name:bhopL;transform:scaleX(-1)}.bshop .bwalker.still{visibility:visible;left:20%}@keyframes bwalkR{0%{left:-10%}to{left:62%}}@keyframes bwalkL{0%{left:62%}to{left:-10%}}@keyframes bhop{0%{transform:translateY(0)}to{transform:translateY(-5%)}}@keyframes bhopL{0%{transform:scaleX(-1)translateY(0)}to{transform:scaleX(-1)translateY(-5%)}}.bshop .bfront{pointer-events:none;position:absolute;inset:0}.bshop .bfront img{aspect-ratio:1080/931;width:100%;height:auto;display:block}.bshop .bgull{color:#4a5560;width:20px;height:9px;animation:40s linear -12s infinite bgullFly,.55s ease-in-out infinite alternate bflap;position:absolute;top:15%}@keyframes bgullFly{0%{left:-8%}to{left:108%}}@keyframes bflap{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}@media (prefers-color-scheme:dark){.bshop .bgull{display:none}}@media (prefers-reduced-motion:reduce){.bshop .bgull{animation:none;left:24%}}.bshop .bwaves{pointer-events:none;position:absolute;inset:0}.bshop .bwave{aspect-ratio:1080/931;opacity:0;width:100%;height:auto;position:absolute;inset:0}.bshop .bwave.w1{animation:10s ease-in-out infinite bwave1}@keyframes bwave1{0%,to{opacity:0}50%{opacity:1}}@media (prefers-color-scheme:dark){.bshop .bwaves{display:none}}@media (prefers-reduced-motion:reduce){.bshop .bwave{opacity:0;animation:none}}
