:root {
 --petdori-bg:#F4F7F9; --petdori-surface:#fff; --petdori-text:#17191C;
 --petdori-text-sub:#5F6673; --petdori-border:#E0E4EB;
 --petdori-primary: #2563EB; --petdori-secondary: #F7F8FA;
 --petdori-third: #EEF5FF;  --petdori-third-border: #C9DCFF; --petdori-third-text: #2262D3;
 --petdori-on-primary:#fff;
 --petdori-radius-sm:8px; --petdori-radius-md:14px; --petdori-radius-lg:20px;
 --petdori-max-width:480px; --petdori-font-base:16px;
 --petdori-font-xs:.75rem; --petdori-font-sm:.875rem; --petdori-font-md:14px;
 --petdori-font-lg:19.5px; --petdori-font-xl:1.375rem;
 --petdori-space-1:4px; --petdori-space-2:8px; --petdori-space-3:12px;
 --petdori-space-4:8px; --petdori-space-5:8px; --petdori-space-6:24px;
 --petdori-nav-height:72px;
--petdori-nav-gap:12px;
--petdori-nav-clearance:12px;
 /* Native wrapper may override these to 0px only if it owns system insets. */
 --petdori-safe-top:env(safe-area-inset-top,0px);
 --petdori-safe-bottom:env(safe-area-inset-bottom,0px);
 color-scheme:light;
}
html[data-theme="dark"] {
 --petdori-bg:#121619; --petdori-surface:#1C2227; --petdori-text:#F0F3F5;
 --petdori-text-sub:#B0BBC4; --petdori-border:#36414A;
 --petdori-primary:#8DD6BD; --petdori-secondary:#233C34; --petdori-on-primary:#102B21;
 color-scheme:dark;
}
html[data-font-size="large"] { --petdori-font-base:18px; }
* { box-sizing:border-box; }
html { font-size:var(--petdori-font-base); scroll-padding-top:5rem; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--petdori-bg); color:var(--petdori-text); font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif; font-size:var(--petdori-font-md); line-height:1.6; overflow-wrap:anywhere; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--petdori-primary); outline-offset:3px; }
img,video,svg { max-width:100%; }
img,video { height:auto; }
h1,h2,h3,p { margin:0 0 var(--petdori-space-3); }
h1 { font-size:var(--petdori-font-xl); line-height:1.4; }
h2 { font-size:var(--petdori-font-lg); line-height:1.5; }
h3 { font-size:var(--petdori-font-md); }

.pd-shell {
    max-width: var(--petdori-max-width);

    min-height: 100vh;
    min-height: 100dvh;

    margin-inline: auto;

    padding-bottom: calc(
        var(--petdori-nav-height) +
        var(--petdori-nav-gap) +
        var(--petdori-safe-bottom) +
        var(--petdori-nav-clearance)
    );
}

.pd-main { padding:var(--petdori-space-5) var(--petdori-space-4); }
.pd-main > * + * { margin-top:var(--petdori-space-4); }
.pd-muted { color:var(--petdori-text-sub); font-size:var(--petdori-font-sm); }
.pd-skip { position:fixed; left:var(--petdori-space-4); top:-100px; z-index:99999; background:var(--petdori-surface); padding:var(--petdori-space-3); }
.pd-skip:focus { top:var(--petdori-space-3); }
.pd-content a:not(.pd-button) { color:var(--petdori-primary); text-decoration:underline; }
.pd-content table { display:block; max-width:100%; overflow-x:auto; }
.pd-content pre { overflow-x:auto; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
