:root{--base:#fff7ec;--paper:#fff;--ink:#17153a;--ink-soft:#5b5885;--ink-faint:#9c99bf;--line:#17153a1f;--blue:#3b6bff;--yellow:#ffbe18;--coral:#ff5c5c;--mint:#10d6a0;--grape:#8b5cf6;--wash-amber:#ffe9b8;--wash-violet:#ede6ff;--radius:20px;--radius-sm:14px;--drop:0 5px 0 #17153a1a, 0 10px 22px #17153a1a;--drop-lift:0 8px 0 #17153a1f, 0 18px 34px #17153a24;--spring:cubic-bezier(.34, 1.56, .64, 1);--hit:54px;--gap:10px;--font:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--base);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;font-size:16px}#app{gap:var(--gap);height:100%;padding:calc(env(safe-area-inset-top,0px) + var(--gap)) calc(env(safe-area-inset-right,0px) + var(--gap)) calc(env(safe-area-inset-bottom,0px) + var(--gap)) calc(env(safe-area-inset-left,0px) + var(--gap));grid-template-rows:minmax(0,1fr);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.left-col{gap:var(--gap);grid-template-rows:auto auto minmax(0,1fr) auto auto;justify-items:center;min-height:0;display:grid}.eraser-slot{padding:2px;display:flex}.mark{-webkit-user-select:none;user-select:none;justify-items:center;gap:6px;padding:4px 0 8px;display:grid}.mark img{width:46px;height:46px;display:block}.rail{gap:var(--gap);flex-direction:column;align-items:center;min-width:0;min-height:0;display:flex}.rail--left{scrollbar-width:none;padding:4px 2px;overflow-y:auto}.rail--left::-webkit-scrollbar{display:none}.rail--right{scrollbar-width:none;padding:2px;overflow-y:auto}.rail--right::-webkit-scrollbar{display:none}.rail--left,.rail--right{padding-bottom:34px;-webkit-mask-image:linear-gradient(#000 calc(100% - 34px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 34px),#0000 100%)}.rail-spacer{flex:auto;min-height:0}.rail-split{background:var(--line);border-radius:2px;flex:none;width:30px;height:2px;margin:2px 0}.stage{place-items:center;min-width:0;min-height:0;display:grid;position:relative}.sheet{background:var(--paper);border-radius:var(--radius);width:100%;height:100%;box-shadow:var(--drop);touch-action:none;position:relative;overflow:hidden}.sheet[data-wiping] .sheet-canvas,.sheet[data-wiping] .hint{opacity:0}.sheet .sheet-canvas,.sheet .hint{transition:opacity .18s ease-out}.sheet-canvas{border-radius:var(--radius);width:100%;height:100%;display:block}.hint{pointer-events:none;color:var(--ink-faint);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.hint svg{opacity:.5;width:64px;height:64px}.hint[hidden]{display:none}.hint p{max-width:22ch;margin:0;font-size:17px;font-weight:700;line-height:1.4}.btn{width:var(--hit);height:var(--hit);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;box-shadow:var(--drop);cursor:pointer;transition:transform .14s var(--spring), box-shadow .14s;border:0;flex:none;place-items:center;display:inline-grid}.btn:hover{box-shadow:var(--drop-lift)}.btn:active{transform:translateY(3px);box-shadow:0 2px #17153a1f}.btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.btn[aria-pressed=true]{background:var(--ink);color:#fff}.btn[disabled]{cursor:default;opacity:.5}.btn[disabled]:hover{box-shadow:var(--drop);transform:none}.btn svg{width:26px;height:26px;display:block}.btn--toy svg{width:30px;height:30px}.btn--toy[aria-pressed=true]{background:var(--wash-amber)}.btn--toy[aria-pressed=true]:after{content:"";border-radius:var(--radius-sm);box-shadow:inset 0 0 0 3px var(--ink);position:absolute;inset:0}.btn{position:relative}.swatch{width:var(--hit);height:var(--hit);box-shadow:var(--drop);cursor:pointer;transition:transform .16s var(--spring);border:0;border-radius:50%;flex:none;position:relative}.swatch:hover{transform:scale(1.04)}.swatch:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.swatch[aria-pressed=true]{box-shadow:inset 0 0 0 4px var(--base), inset 0 0 0 7px var(--ink), var(--drop)}.swatch--pale{box-shadow:var(--drop), inset 0 0 0 2px var(--line)}.size-dot{place-items:center;display:inline-grid}.size-dot span{background:currentColor;border-radius:50%;display:block}.size-dot[data-size=s] span{width:8px;height:8px}.size-dot[data-size=m] span{width:17px;height:17px}.size-dot[data-size=l] span{width:28px;height:28px}.sheet-over{z-index:20;background:#17153a73;place-items:center;padding:clamp(16px,4vw,56px);display:grid;position:fixed;inset:0}.panel{background:var(--base);border-radius:var(--radius);width:100%;max-height:88vh;animation:rise .24s var(--spring) both;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 20px 60px #17153a57}.panel--fit{max-width:660px}.panel--wide{max-width:1500px}.panel--full{max-width:1500px;height:88vh}@keyframes rise{0%{opacity:0;transform:translateY(18px)scale(.98)}}.panel-bar{align-items:center;gap:var(--gap);border-bottom:1px solid var(--line);padding:14px clamp(16px,2.4vw,28px);display:flex}.panel-bar h2{margin:0;font-size:20px;font-weight:900}.panel--full .panel-body{display:block}.panel-body{padding:6px clamp(16px,2.4vw,28px) 26px;overflow-y:auto}.bar-spacer{flex:auto}.group-name{letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);margin:14px 4px 8px;font-size:13px;font-weight:800}.badge-part a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}.badge-part a:hover{color:var(--ink)}.badge-part a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.group-name:first-child{margin-top:4px}.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px;display:grid}.card{border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--drop);cursor:pointer;transition:transform .16s var(--spring);border:0;justify-items:center;gap:6px;padding:10px 8px 8px;display:grid}.card:hover{transform:translateY(-3px)}.card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.card svg{aspect-ratio:1;width:100%;height:auto}.card span{color:var(--ink-soft);text-align:center;font-size:13.5px;font-weight:700;line-height:1.25}.install{text-align:center;justify-items:center;gap:14px;padding:4px 6px 12px;display:grid}.install-art{background:var(--wash-amber,#ffe9b8);border-radius:24px;place-items:center;width:84px;height:84px;animation:3.2s ease-in-out infinite install-bob;display:grid}.install-art svg{width:52px;height:52px}@keyframes install-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.install-intro{max-width:36ch;color:var(--ink-soft);margin:0;font-size:15.5px;line-height:1.5}.install-go{cursor:pointer;font:inherit;color:#fff;box-shadow:var(--drop);transition:transform .14s var(--spring);background:#3b6bff;border:0;border-radius:16px;padding:14px 34px;font-size:17px;font-weight:900}.install-go:active{transform:translateY(2px)}.install-go:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.install-steps{text-align:left;gap:8px;width:100%;margin:4px 0 0;padding:0;list-style:none;display:grid}.install-steps li{border:2px solid var(--line);background:var(--paper);border-radius:14px;gap:2px;padding:12px 16px;display:grid}.install-steps li[data-yours]{border-color:#3b6bff}.install-steps b{font-size:15px;font-weight:900}.install-steps span{color:var(--ink-soft);font-size:14px;line-height:1.45}@media (prefers-reduced-motion:reduce){.install-art{animation:none}}.settings{gap:18px;padding:4px 6px 12px;display:grid}.setting{gap:8px;display:grid}.setting h3{margin:0;font-size:15px;font-weight:800}.setting p{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.5}.choices{gap:var(--gap);flex-wrap:wrap;display:flex}.choice{border-radius:var(--radius-sm);background:var(--paper);min-height:46px;box-shadow:var(--drop);font:inherit;color:var(--ink);cursor:pointer;border:0;padding:0 18px;font-weight:800}.choice[aria-pressed=true]{background:var(--ink);color:#fff}.choice:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.choice--big{align-content:center;justify-items:center;gap:2px;min-width:132px;min-height:86px;padding:12px 20px;display:grid}.choice--big b{font-size:17px;font-weight:900}.choice--big small{opacity:.62;font-size:12.5px;font-weight:700}.choice-art svg{width:30px;height:30px;display:block}.choice--big[aria-pressed=true]{background:var(--ink);color:#fff}.settings{gap:26px;width:min(560px,100%);margin-inline:auto;padding:18px 2px 6px}.setting{gap:10px}.setting h3{font-size:17px}.settings .choices{gap:12px}.settings .choice--big{flex:1 1 0;min-width:0}.badge{text-align:center;border-top:1px solid var(--line);justify-items:center;gap:4px;margin-top:8px;padding:24px 0 4px;display:grid}.badge img{width:76px;height:76px;display:block}.badge-name{margin-top:8px;font-size:19px;font-weight:900}.badge-what{max-width:46ch;color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.55}.badge-by{color:var(--ink);margin:8px 0 0;font-size:14px;font-weight:700}.badge-part{letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 0;font-size:11.5px;font-weight:800}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-auto-rows:min-content;align-content:start;gap:16px;padding-top:6px;display:grid}.kept{border-radius:var(--radius-sm);background:var(--paper);box-shadow:var(--drop);gap:0;display:grid;overflow:hidden}.kept[data-going]{opacity:0;pointer-events:none;transition:opacity .2s ease-in,transform .22s ease-in;transform:scale(.86)}.kept-open{cursor:pointer;background:0 0;border:0;width:100%;padding:10px;transition:background .14s}.kept-open:hover{background:var(--wash-amber)}.kept-open:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.kept-open img{border-radius:10px;width:100%;height:auto;display:block}.kept-tools{border-top:1px solid var(--line);background:var(--base);gap:0;display:flex}.kept-tools .btn{width:auto;min-width:0;height:54px;box-shadow:none;background:0 0;border-radius:0;flex:1 1 0}.kept-tools .btn+.btn{border-left:1px solid var(--line)}.kept-tools .btn:hover{background:var(--wash-amber);box-shadow:none}.kept-tools .btn:active{background:var(--wash-violet);transform:none}.kept-tools .btn svg{width:24px;height:24px}.gallery-empty{text-align:center;color:var(--ink-soft);margin:0;padding:36px 16px;font-size:16.5px;line-height:1.6}.ask{gap:18px;width:min(520px,100%);margin-inline:auto;padding:14px 2px 6px;display:grid}.ask-detail:empty{display:none}.ask-detail{color:var(--ink-soft);text-align:center;margin:0;font-size:16px;line-height:1.55}.ask-row{gap:12px;display:flex}.ask-row .choice{flex:1 1 0;min-width:0}.choice--danger[aria-pressed],.choice--danger{color:var(--coral)}.choice--danger b{color:inherit}.about{color:var(--ink-soft);padding:4px 6px 12px;font-size:15.5px;line-height:1.65}.about p{margin:0 0 10px}.about b{color:var(--ink)}.splash{z-index:100;background:var(--base);opacity:1;place-content:center;justify-items:center;gap:14px;transition:opacity .42s;display:grid;position:fixed;inset:0;overflow:hidden}.splash[data-going="1"]{opacity:0}.splash img{width:clamp(130px,28vmin,210px);height:auto;animation:land .66s var(--spring) both;display:block}@keyframes land{0%{opacity:0;transform:translateY(26px)scale(.62)rotate(-8deg)}to{opacity:1;transform:none}}.splash-name{letter-spacing:-1px;text-align:center;white-space:nowrap;margin:0;font-size:clamp(30px,7.2vmin,52px);font-weight:900;line-height:1.05}.logo-solid{color:var(--ink);animation:rise-in .5s var(--spring) .12s both;margin-right:.26em;display:inline-block}.logo-colour{display:inline-block}.logo-colour span{animation:letter-in .52s var(--spring) both;display:inline-block}.logo-colour .sp{width:.28em;animation:none}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}}@keyframes letter-in{0%{opacity:0;transform:translateY(26px)scale(.7)rotate(-10deg)}to{opacity:1;transform:none}}.splash-rule{transform-origin:0;background:linear-gradient(90deg,#d4353a,#c2571a,#a8760a,#4a7c1e,#0b8f6d,#1e7f8c,#2a4fcc,#6b3fc4,#a63c9e);border-radius:999px;width:clamp(150px,34vmin,280px);height:7px;animation:.52s cubic-bezier(.22,1,.36,1) .72s both sweep}@keyframes sweep{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.splash img,.logo-solid,.logo-colour span,.splash-rule{animation:none}}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);z-index:30;background:var(--ink);color:#fff;box-shadow:var(--drop-lift);opacity:0;pointer-events:none;transition:opacity .2s, transform .2s var(--spring);border-radius:999px;padding:12px 20px;font-weight:800;position:fixed;transform:translate(-50%,14px)}.toast[data-show="1"]{opacity:1;transform:translate(-50%)}@media (max-width:720px){:root{--hit:50px;--gap:8px}#app{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.rail{scrollbar-width:none;touch-action:pan-x;flex-direction:row;align-items:center;width:100%;padding:10px 34px 20px 2px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 34px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 34px),#0000 100%)}.rail::-webkit-scrollbar{display:none}.left-col{order:3;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:0}.mark{padding:0 4px 0 2px}.mark img{width:36px;height:36px}.rail-split{width:2px;height:30px;margin:0 6px}.left-col>.rail-split{margin-bottom:10px}.rail--right{order:1}.stage{order:2}.rail-spacer{flex:none}.btn--brand{display:none}.eraser-slot{padding:10px 2px 20px 8px}.rail--right>*{order:3}.rail--right .mark{order:1}.rail--right .mark-split{order:2}.rail--right .rail-keep-split{order:4}.rail--right .rail-keep{order:5}.rail--right .rail-undo-split{order:6}.rail--right .rail-undo{order:7}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/*$vite$:1*/