@font-face{font-family:Pretendard;src:url('/assets/fonts/pretendard.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Nanum Pen';src:url('/assets/fonts/nanum-pen.ttf') format('truetype');font-weight:400;font-display:swap}
:root{
  color-scheme:light;
  --paper:#f7f6f2;--ink:#242d32;--muted:#626b70;--blue:#315a73;--line:#d9deda;--error:#9c3d33;
  --kakao:#fee500;--kakao-ink:#191919;--white:#fff;--wash:#ebf0f1;--desk:#eceeea;--photo-desk:#ddd9ce;--sheet:#fffdf6;--rule:#c6ccc3;--leaf:#747e68;--highlight:#e9e4cb;
  --font:Pretendard,system-ui,sans-serif;--hand:'Nanum Pen',cursive;
  --text-xs:.72rem;--text-sm:.82rem;--text-base:.94rem;--text-lg:1.12rem;--text-xl:1.45rem;--hand-title:2.6rem;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --radius:8px;--photo-radius:3px;--control-height:48px;--review-photo-height:220px;--preview-strip-height:60px;--source-dialog-width:560px;--source-line-width:900px;--source-page-height:300px;--shadow:0 14px 28px #242d3212;--frame-shadow:0 20px 70px #242d3214;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23242d32' opacity='.035' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--desk);font-family:var(--font);font-size:var(--text-base);line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,h3,p{margin:0}svg{display:block}button svg,a svg{flex-shrink:0}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius)}.hand{font-family:var(--hand);font-weight:400}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.eyebrow{font-size:var(--text-xs);letter-spacing:.1em;font-weight:600;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-button{min-height:44px;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--blue);font-weight:550;padding:var(--space-2) 0}.button{min-height:var(--control-height);display:flex;justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--blue);border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-weight:550;width:100%;background:var(--blue);color:var(--white)}.button.secondary{background:transparent;color:var(--blue)}.button.quiet{border-color:var(--line);background:var(--white);color:var(--ink)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:550;color:var(--blue)}.badge .icon{width:13px;height:13px}.badge.warning{color:var(--error)}.field{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);font-weight:550}.field input,.field textarea,.field select{border:1px solid var(--muted);border-radius:var(--radius);background:var(--white);padding:var(--space-3);width:100%;color:var(--ink);font-weight:400}.field textarea{line-height:1.8;resize:vertical;min-height:160px}.button-row{display:flex;gap:var(--space-2)}.button-row>*{flex:1}.stack{display:grid;gap:var(--space-4)}.separator{height:1px;background:var(--line);margin:var(--space-6) 0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
