.sketchbook{--font-headline:"Gaegu", "Pretendard Variable", system-ui, sans-serif;--font-accent:"Nanum Pen Script", "Gaegu", cursive;--wobble-a:255px 18px 225px 16px / 16px 225px 18px 255px;--wobble-b:18px 225px 16px 255px / 255px 16px 225px 18px;--wobble-pill:40px 34px 42px 30px / 30px 42px 34px 40px}.graph-paper{background-color:var(--background);background-image:linear-gradient(var(--paper-grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--paper-grid-major) 1px, transparent 1px), linear-gradient(var(--paper-grid) 1px, transparent 1px), linear-gradient(90deg, var(--paper-grid) 1px, transparent 1px);background-position:-1px -1px;background-size:100px 100px,100px 100px,20px 20px,20px 20px}.dot-paper{background-image:radial-gradient(var(--paper-grid-major) 1.1px, transparent 1.3px);background-size:18px 18px}.ruled-paper{background-image:linear-gradient(transparent calc(100% - 1px), var(--paper-grid-major) 1px);background-size:100% 2.5rem}.wordmark{font-family:var(--font-headline);letter-spacing:-.01em;font-weight:700}.hand{font-family:var(--font-accent);font-weight:400;line-height:1.1}.marker{font-family:var(--font-headline);letter-spacing:-.01em;font-weight:700}.pen-ink{color:var(--pen)}.sk-box{isolation:isolate;position:relative}.sk-frame{pointer-events:none;z-index:0;width:calc(100% + 6px);height:calc(100% + 6px);position:absolute;inset:-3px;overflow:visible}.sk-box>:not(.sk-frame){z-index:1;position:relative}.sk-frame path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.sk-frame .sk-stroke{stroke:var(--foreground);stroke-width:1.7px}.sk-pencil .sk-stroke{stroke:var(--pencil);stroke-width:1.3px}.sk-pen .sk-stroke{stroke:var(--pen);stroke-width:1.6px}.sk-frame .sk-hatch{stroke:var(--highlighter);stroke-width:6px}.sk-frame .sk-solid{fill:var(--primary);stroke:none}.sk-mark{isolation:isolate;display:inline-block;position:relative}.sk-mark>svg{pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sk-mark path{vector-effect:non-scaling-stroke;stroke-linecap:round;fill:none}.sk-mark-highlight>svg{width:calc(100% + .24em);inset:0 -.12em}.sk-mark-highlight path{fill:var(--highlighter);stroke:none}.sk-mark-underline path{stroke:var(--pen);stroke-width:2.4px}.sk-mark-underline>svg{top:.18em}.sk-mark-loop>svg{width:calc(100% + .56em);height:calc(100% + .24em);inset:-.12em -.28em}.sk-mark-loop path{stroke:var(--pen);stroke-width:2.6px}.sk-mark-strike>svg{z-index:1}.sk-mark-strike path{stroke:var(--pen);stroke-width:2.2px}.sk-arrow{pointer-events:none;overflow:visible}.sk-arrow path{fill:none;stroke:var(--pen);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sticky-note{background:var(--sticky);color:var(--sticky-foreground);box-shadow:0 1px 0 var(--sketch-shadow), 6px 10px 18px -10px var(--sketch-shadow);border-radius:2px 2px 14px/2px 2px 26px}.sk-btn{cursor:pointer;border:2px solid var(--foreground);border-radius:var(--wobble-a);box-shadow:3px 4px 0 -1px var(--foreground);justify-content:center;align-items:center;gap:.5rem;font-weight:700;transition:transform .16s ease-out,box-shadow .16s ease-out,background-color .16s ease-out;display:inline-flex;position:relative}.sk-btn:hover{box-shadow:5px 6px 0 -1px var(--foreground);transform:translate(-1px,-2px)rotate(-.6deg)}.sk-btn:active{box-shadow:0 0 0 0 var(--foreground);transform:translate(2px,3px)}.sk-btn:focus-visible{outline:2.5px dashed var(--pen);outline-offset:5px}.sk-btn-ink{background:var(--primary);color:var(--primary-foreground)}.sk-btn-paper{background:var(--card);color:var(--foreground)}.sk-btn:disabled{cursor:not-allowed;color:var(--muted-foreground);border-style:dashed;border-color:var(--pencil);box-shadow:none;background:0 0;transform:none}.sk-chip{cursor:pointer;border:1.6px solid var(--pencil);border-radius:var(--wobble-pill);background:var(--card);color:var(--foreground);transition:background-color .14s ease-out,border-color .14s ease-out,transform .14s ease-out}.sk-chip:nth-child(2n){border-radius:var(--wobble-b)}.sk-chip:hover{border-color:var(--foreground);transform:rotate(-1deg)}.sk-chip[aria-pressed=true],.sk-chip[aria-checked=true]{border-color:var(--foreground);background:linear-gradient(-6deg, transparent 12%, var(--highlighter) 14%, var(--highlighter) 84%, transparent 86%);border-width:2px;font-weight:700}.sk-chip:focus-visible,.sk-link:focus-visible,.room:focus-visible{outline:2.5px dashed var(--pen);outline-offset:3px}.sk-link{background-image:linear-gradient(var(--highlighter), var(--highlighter));background-position:0 88%;background-repeat:no-repeat;background-size:0% 42%;transition:background-size .26s ease-out;position:relative}.sk-link:hover,.sk-link[aria-current=true]{background-size:100% 42%}.sk-range{appearance:none;background:0 0;height:28px}.sk-range::-webkit-slider-runnable-track{background:repeating-linear-gradient(90deg, var(--foreground) 0 14px, transparent 14px 16px);border-radius:3px;height:3px}.sk-range::-moz-range-track{background:var(--foreground);height:3px}.sk-range::-webkit-slider-thumb{appearance:none;border:2.5px solid var(--foreground);background:var(--accent);cursor:grab;border-radius:48% 52% 46% 54%/54% 46% 52% 48%;width:24px;height:24px;margin-top:-10.5px}.sk-range::-moz-range-thumb{border:2.5px solid var(--foreground);background:var(--accent);cursor:grab;border-radius:50%;width:20px;height:20px}.sk-range:focus-visible{outline:2.5px dashed var(--pen);outline-offset:4px}.sk-check{flex:none;width:1.4rem;height:1.4rem;overflow:visible}.sk-check path{fill:none;stroke-linecap:round;stroke-linejoin:round}.sk-check-box{stroke:var(--foreground);stroke-width:1.5px}.sk-check-tick{stroke:var(--pen);stroke-width:2.6px;stroke-dasharray:1}.room-sketch path{fill:none;stroke-linecap:round;stroke-linejoin:round}.room-sketch .pencil-strokes path{stroke:var(--foreground)}.room-sketch .pencil-strokes path.soft{stroke:var(--pencil)}.room-sketch .pencil-strokes path.faint{stroke:var(--pencil);opacity:.75}.room-sketch .pencil-strokes path.dashed{stroke-dasharray:4 5}.room-sketch .hatch-strokes path{stroke:var(--foreground);stroke-width:1.2px;opacity:.55}.room-sketch .hl-strokes path{stroke:var(--highlighter);stroke-width:9px}.room-sketch .pen-strokes path{stroke:var(--pen);stroke-width:2px}.room-sketch .pen-notes text{fill:var(--pen);font-family:var(--font-accent);font-size:25px}.room-sketch .pen-notes text.small{font-size:19px}.room-sketch .pen-notes text.strike{text-decoration:line-through;text-decoration-thickness:2px}.tape-measure path{fill:none;stroke-linecap:round;stroke-linejoin:round}.tape-measure .pencil-strokes path{stroke:var(--foreground);stroke-width:2px}.tape-measure .pencil-strokes .ticks{stroke-width:1.3px}.tape-measure .hl-strokes path{stroke:var(--highlighter);stroke-width:10px}.tape-num{fill:var(--foreground);font-family:var(--font-accent);font-size:17px}.hero-tabs{z-index:2;margin-bottom:-2px;position:relative}.hero-tab{cursor:pointer;color:var(--muted-foreground);background:var(--muted);border:1.6px solid var(--pencil);border-bottom:none;border-radius:14px 10px 0 0/12px 14px 0 0;transition:transform .16s ease-out,background-color .16s ease-out,color .16s ease-out;transform:translateY(5px)}.hero-tab:nth-child(2){border-radius:10px 16px 0 0/14px 10px 0 0}.hero-tab:hover{color:var(--foreground);transform:translateY(2px)rotate(-1deg)}.hero-tab[aria-selected=true]{color:var(--accent-foreground);background:var(--accent);border-color:var(--foreground);border-width:2px;transform:translateY(0)rotate(-1.5deg)}.hero-tab:focus-visible{outline:2.5px dashed var(--pen);outline-offset:3px}.sk-dim{fill:var(--pencil);font-family:var(--font-accent);font-size:19px}.plan-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.plan-svg .wall{stroke:var(--plan-wall);stroke-width:2.2px}.plan-svg .outer{stroke:var(--plan-wall);stroke-width:4.2px}.plan-svg .soft{stroke:var(--pencil);stroke-width:1.3px}.plan-svg .pen{stroke:var(--pen);stroke-width:2px}.plan-pick{cursor:pointer;color:var(--foreground);background:var(--card);border:1.6px solid var(--pencil);border-radius:var(--wobble-a);transition:transform .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.plan-pick:nth-child(2){border-radius:var(--wobble-b)}.plan-pick:hover{border-color:var(--foreground);transform:rotate(-.8deg)}.plan-pick[aria-checked=true]{border:2px solid var(--foreground);box-shadow:3px 4px 0 -1px var(--foreground);background:linear-gradient(-4deg, transparent 8%, var(--highlighter-soft) 10%, var(--highlighter-soft) 90%, transparent 92%), var(--card)}.plan-pick:focus-visible{outline:2.5px dashed var(--pen);outline-offset:3px}.plan-thumb path{fill:none;stroke:var(--foreground);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.plan-svg .room-hit{fill:#0000;stroke:none}.room{cursor:pointer;outline:none}.room:hover .room-hit{fill:var(--plan-hover)}.room:focus-visible .room-hit{stroke:var(--pen);stroke-width:3px;stroke-dasharray:6 6}.room .room-hatch{stroke:var(--highlighter);stroke-width:9px;stroke-linecap:round;stroke-dasharray:1}.room .room-loop{stroke:var(--pen);stroke-width:2.4px}.room-name{fill:var(--foreground);font-family:var(--font-headline);pointer-events:none;font-size:26px;font-weight:700}.room-code{fill:var(--pencil);font-family:var(--font-accent);pointer-events:none;font-size:19px}.plan-note{fill:var(--pen);font-family:var(--font-accent);pointer-events:none;font-size:23px}.plan-dim{fill:var(--pencil);font-family:var(--font-accent);font-size:22px}.sign-ink{fill:none;stroke:var(--pen);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}.photo-slot path{fill:none;stroke:var(--pencil);stroke-width:1.4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.sk-art path{fill:none;stroke-linecap:round;stroke-linejoin:round}.sk-art .ts-ink{stroke:var(--foreground);stroke-width:2px}.sk-art .ts-soft{stroke:var(--pencil);stroke-width:1.3px}.sk-art .ts-faint{stroke:var(--pencil);stroke-width:1px;opacity:.6}.sk-art .ts-hatch{stroke:var(--foreground);stroke-width:1.1px;opacity:.55}.sk-art .ts-hl{stroke:var(--highlighter);stroke-width:10px}.sk-art .ts-pen{stroke:var(--pen);stroke-width:2px}.sk-art .ts-pipe{stroke:var(--foreground);stroke-width:12px}.sk-art .ts-pipe-core{stroke:var(--card);stroke-width:7px}.sk-art .ts-note{font-family:var(--font-accent);font-size:23px}.sk-art .ts-note-pen{fill:var(--pen)}.sk-art .ts-note-dim{fill:var(--pencil)}.sk-art .ts-note-strike{fill:var(--pencil);text-decoration:line-through;text-decoration-thickness:2px}.mat-card{cursor:pointer;border-radius:6px;transition:transform .16s ease-out}.mat-card:hover{transform:translateY(-2px)rotate(-.6deg)}.mat-card:nth-child(2n):hover{transform:translateY(-2px)rotate(.6deg)}.mat-card:focus-visible{outline:2.5px dashed var(--pen);outline-offset:4px}.mat-card .mat-tile{transition:opacity .2s ease-out}.mat-card.is-out .mat-tile{opacity:.5}.mat-card.is-out:hover .mat-tile{opacity:.85}.mat-card.is-on .sk-frame .sk-hatch{stroke-width:9px;opacity:.6}.mat-x{pointer-events:none;overflow:visible}.mat-x path{fill:none;stroke:var(--foreground);stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.7}.gantt-stroke{background:repeating-linear-gradient(-55deg, var(--foreground) 0 1.5px, transparent 1.5px 6px), var(--highlighter);transform-origin:0;border-radius:3px 10px 4px 12px/8px 4px 10px 3px;height:14px;display:block}.amount-blank{border-bottom:1.5px dashed var(--pencil);text-align:right;min-width:7rem;padding-bottom:2px;display:inline-block}.photo-sketch img{filter:grayscale()contrast(1.08)brightness(1.04);mix-blend-mode:multiply}.photo-taped .photo-sketch{box-shadow:0 1px 0 var(--sketch-shadow), 8px 14px 22px -14px var(--sketch-shadow)}.tape{z-index:2;background:color-mix(in oklch, var(--muted) 72%, transparent);border-left:1px dashed var(--pencil-faint);border-right:1px dashed var(--pencil-faint);pointer-events:none;width:92px;height:26px;position:absolute;top:-12px}.tape-l{left:-18px;transform:rotate(-24deg)}.tape-r{right:-6px;transform:rotate(18deg)}.dark .photo-sketch img{mix-blend-mode:normal;filter:grayscale()contrast(1.05)brightness(.85)}.tilt-l{transform:rotate(-1.4deg)}.tilt-r{transform:rotate(1.2deg)}@media (prefers-reduced-motion:no-preference){.sk-anim .draw path{stroke-dasharray:1}.sk-anim .draw:not(.in) path,.sk-anim .draw:not(.in) .hl-strokes path,.sk-anim .draw:not(.in) .sk-hatch{stroke-dashoffset:1px}.sk-anim .draw.in path{animation:sk-draw .9s cubic-bezier(.55, .1, .35, 1) var(--d,0s) both}.sk-anim .draw.in .hatch-strokes path,.sk-anim .draw.in .hl-strokes path{animation-duration:1.3s}.sk-anim .draw:not(.in) text,.sk-anim .draw:not(.in) .write{clip-path:inset(0 100% 0 0)}.sk-anim .draw.in text,.sk-anim .draw.in .write{animation:sk-write .8s steps(14, end) var(--d,0s) both}.sk-anim .draw.in .sk-dim{animation:none}.room .room-hatch{animation:.56s ease-out both sk-draw}.sk-check-tick{animation:.32s ease-out both sk-draw}.sign-ink{animation:.9s cubic-bezier(.6,0,.4,1) both sk-draw}.gantt-stroke{animation:.42s cubic-bezier(.5,0,.3,1) both sk-swipe}.rev-tick{animation:.42s steps(6,end) both sk-write}.stage-in{animation:.3s ease-out both stage-enter}.mat-x path,.mat-card.is-on .sk-hatch{stroke-dasharray:1;animation:.42s ease-out both sk-draw}.trade-sketch path{stroke-dasharray:1;animation:sk-draw .65s cubic-bezier(.55, .1, .35, 1) var(--d,0s) both}.trade-sketch text{animation:sk-write .65s steps(12, end) var(--d,0s) both}.write-in{animation:.7s steps(16,end) both sk-write}.sk-mark-highlight path{animation:.6s ease-out .3s both sk-fade-swipe}}@keyframes sk-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes sk-write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes sk-swipe{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sk-fade-swipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes stage-enter{0%{opacity:0;transform:translateY(6px)rotate(-.5deg)}to{opacity:1;transform:translateY(0)rotate(0)}}
