:root { --pw-blue:#0066cc; --pw-ink:#1d1d1f; --pw-muted:#6e6e73; --pw-surface:#f5f5f7; --pw-line:#d2d2d7; --pw-danger:#b42318; }
.pw-page { margin:0; color:var(--pw-ink); background:#fff; font:400 17px/1.47 "SF Pro Text",system-ui,-apple-system,"Apple SD Gothic Neo",sans-serif; letter-spacing:-.022em; }
.pw-page *, .pw-card *, .pw-dialog *, .pw-profile-grid * { box-sizing:border-box; }
.pw-page a, .pw-card a, .pw-dialog a { color:var(--pw-blue); }
.pw-topbar { min-height:52px; display:flex; align-items:center; gap:24px; padding:8px max(20px,calc((100vw - 980px)/2)); border-bottom:1px solid var(--pw-line); font-size:14px; }
.pw-topbar>a { font-weight:600; color:var(--pw-ink); text-decoration:none; }
.pw-topbar nav { display:flex; gap:20px; margin-left:auto; }
.pw-topbar a { display:inline-flex; align-items:center; min-height:44px; }
.pw-shell { max-width:980px; margin:auto; padding:0 20px 64px; }
.pw-intro { padding:64px 0 40px; text-align:center; }
.pw-eyebrow { color:var(--pw-blue); font-weight:600; font-size:14px; margin:0 0 12px; }
.pw-intro h1 { font-family:"SF Pro Display",system-ui,sans-serif; font-size:clamp(36px,6vw,56px); line-height:1.08; letter-spacing:-.045em; font-weight:600; margin:0 0 20px; }
.pw-intro>p:last-child { font-size:21px; color:var(--pw-muted); }
.pw-card { min-width:0; margin:20px 0; padding:28px; border:1px solid var(--pw-line); border-radius:18px; background:#fff; color:var(--pw-ink); font:400 17px/1.47 "SF Pro Text",system-ui,-apple-system,sans-serif; overflow-wrap:anywhere; text-align:left; }
.pw-card h2, .pw-card h3, .pw-card h4, .pw-dialog h2, .pw-dialog h3 { font-weight:600; letter-spacing:-.025em; line-height:1.25; }
.pw-card h2 { margin:0 0 18px; font-size:28px; }
.pw-card h3 { margin:24px 0 12px; font-size:21px; }
.pw-card h4 { margin:20px 0 8px; font-size:18px; }
.pw-card p { margin:12px 0; }
.pw-modes { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:5px; border-radius:12px; background:var(--pw-surface); margin-bottom:28px; }
.pw-modes button { min-height:48px; border:0; border-radius:8px; background:transparent; color:var(--pw-muted); font:inherit; font-size:15px; cursor:pointer; }
.pw-modes button[aria-pressed="true"] { color:var(--pw-blue); background:white; font-weight:600; }
.pw-card label { display:block; font-size:15px; font-weight:600; }
.pw-card textarea, .pw-card input:not([type="checkbox"]), .pw-card select { width:100%; min-height:44px; margin:8px 0 14px; padding:12px; color:var(--pw-ink); background:white; border:1px solid #86868b; border-radius:8px; font:inherit; font-weight:400; font-size:17px; }
.pw-card textarea { resize:vertical; }
.pw-card .pw-check { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:400; }
.pw-check input { width:20px; height:20px; accent-color:var(--pw-blue); }
.pw-context { margin:14px 0 24px; }
.pw-context-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; padding-top:12px; }
.pw-context-grid>label:first-child { grid-column:1/-1; }
.pw-actions { display:flex; gap:12px; flex-wrap:wrap; }
.pw-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border-radius:999px; border:1px solid var(--pw-blue); background:var(--pw-blue); color:#fff!important; font:inherit; font-size:15px; text-decoration:none; cursor:pointer; }
.pw-secondary { color:var(--pw-blue)!important; background:#fff; }
.pw-card button:disabled { opacity:.5; cursor:wait; }
.pw-page :focus-visible, .pw-card :focus-visible, .pw-dialog :focus-visible { outline:3px solid #0071e3; outline-offset:3px; }
.pw-muted { color:var(--pw-muted); }
.pw-small { font-size:13px!important; }
.pw-empty { text-align:center; padding:36px 20px; color:var(--pw-muted); line-height:1.65; }
.pw-notice { padding:16px 18px; border-left:3px solid var(--pw-blue); background:var(--pw-surface); border-radius:0 8px 8px 0; }
.pw-error { border-color:var(--pw-danger); }
.pw-tag { display:inline-block; padding:4px 10px; margin:0 6px 6px 0; background:var(--pw-surface); border-radius:999px; font-size:12px; color:var(--pw-muted); }
.pw-card details, .pw-dialog details { border-top:1px solid var(--pw-line); padding:10px 0; }
.pw-card summary, .pw-dialog summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:15px; font-weight:600; }
.pw-card blockquote, .pw-dialog blockquote { margin:12px 0; padding:10px 16px; border-left:3px solid var(--pw-line); background:var(--pw-surface); white-space:pre-wrap; }
.pw-card pre, .pw-dialog pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.6 ui-monospace,monospace; background:var(--pw-surface); padding:16px; border-radius:8px; }
.pw-card code, .pw-dialog code { font:13px/1.6 ui-monospace,monospace; }
.pw-card dl { margin:8px 0; }
.pw-card dt { font-weight:600; margin-top:14px; }
.pw-card dd { margin:4px 0 0; }
.pw-card ul, .pw-card ol, .pw-dialog ul, .pw-dialog ol { padding-left:24px; }
.pw-card li, .pw-dialog li { margin:8px 0; }
.pw-prose { line-height:1.7; }
.pw-prose>h1 { font-size:28px; }
.pw-prose table { border-collapse:collapse; width:100%; font-size:14px; }
.pw-prose th, .pw-prose td { border-bottom:1px solid var(--pw-line); padding:10px; vertical-align:top; text-align:left; min-width:100px; }
.pw-table-scroll { overflow-x:auto; }
.pw-prose a, .pw-link { overflow-wrap:anywhere; }
.pw-link { display:inline; border:0; padding:0; background:none; color:var(--pw-blue); text-decoration:underline; font:inherit; cursor:pointer; }
.pw-unavailable-link { border-bottom:1px dotted var(--pw-muted); color:var(--pw-muted); }
.pw-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pw-profile-grid>.pw-card { margin:20px 0 0; }
.pw-profile-grid .pw-card h2 { font-size:24px; }
.pw-example { margin-top:12px; }
.pw-dialog { width:min(880px,calc(100vw - 28px)); max-height:88vh; padding:28px; border:1px solid var(--pw-line); border-radius:18px; color:var(--pw-ink); background:#fff; font:17px/1.6 system-ui,sans-serif; overflow-wrap:anywhere; }
.pw-dialog::backdrop { background:rgba(0,0,0,.35); }
.pw-dialog-bar { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; position:sticky; top:-28px; background:#fff; padding:12px 0; z-index:1; }
.pw-dialog-bar h2 { margin:8px 0; font-size:22px; }
.pw-dialog-bar button { flex-shrink:0; }
.pw-footer { padding:28px 20px; text-align:center; font-size:12px; color:var(--pw-muted); border-top:1px solid var(--pw-line); }
.pw-person-nav { margin-bottom:20px; display:flex; gap:12px; flex-wrap:wrap; }
.pw-status-line { white-space:pre-wrap; }
@media(max-width:650px) { .pw-intro { padding:40px 0 24px; } .pw-intro>p:last-child { font-size:18px; } .pw-card { padding:20px; } .pw-shell { padding-left:16px; padding-right:16px; } .pw-profile-grid,.pw-context-grid { grid-template-columns:1fr; } .pw-modes { grid-template-columns:1fr 1fr; } .pw-card h2 { font-size:24px; } .pw-topbar { gap:12px; padding:4px 16px; } .pw-topbar nav { gap:12px; } .pw-topbar>.pw-muted { display:none; } .pw-dialog { padding:20px; } .pw-dialog-bar { top:-20px; } .pw-desktop-break { display:none; } }
@media(prefers-reduced-motion:reduce) { .pw-page *, .pw-card * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .pw-topbar, #pw-form, .pw-person-nav, .pw-footer { display:none; } .pw-card { break-inside:avoid; } }
