html{scroll-behavior:smooth}body{margin:0}*{box-sizing:border-box}
#peter-magicpath .ps-site {
  --ps-bg:#fafaf8;--ps-surface:#fff;--ps-ink:#201e20;--ps-secondary:#686169;--ps-line:#dedbdd;
  --ps-blue:#b91635;--ps-tint:#f5e9ec;--ps-radius:20px;--ps-spacing:84px;--ps-body:17px;--ps-nav-height:58px;
  color-scheme:light;background:var(--ps-bg);color:var(--ps-ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;
  font-size:var(--ps-body);line-height:1.75;letter-spacing:-.02em;word-break:keep-all;overflow-wrap:break-word;min-width:0;text-align:left;
}
#peter-magicpath .ps-site[lang="ja"] {font-family:"Pretendard JP Variable","Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:0;word-break:normal}
#peter-magicpath .ps-site[lang="zh-Hans"] {font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;word-break:normal}
#peter-magicpath .ps-site * {box-sizing:border-box}
#peter-magicpath .ps-site h1,#peter-magicpath .ps-site h2,#peter-magicpath .ps-site h3,#peter-magicpath .ps-site h4,#peter-magicpath .ps-site p {margin:0;font-family:inherit;color:inherit}
#peter-magicpath .ps-site h1 {font-size:clamp(46px,7.6vw,80px);font-weight:760;line-height:1.13;letter-spacing:-.04em;text-wrap:balance}
#peter-magicpath .ps-site h2 {font-size:38px;font-weight:720;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
#peter-magicpath .ps-site h3 {font-size:23px;font-weight:670;line-height:1.45;letter-spacing:-.025em}
#peter-magicpath .ps-site h4 {font-size:18px;font-weight:620;line-height:1.5}
#peter-magicpath .ps-site a {color:inherit;text-decoration:none}
#peter-magicpath .ps-site a:hover {color:var(--ps-blue)}
#peter-magicpath .ps-site button,#peter-magicpath .ps-site select,#peter-magicpath .ps-site input {font:inherit;color:inherit;letter-spacing:inherit}
#peter-magicpath .ps-site button {appearance:none;background:none;border:0;border-radius:0;padding:0;text-align:left;line-height:1.5;white-space:normal}
#peter-magicpath .ps-site svg {flex-shrink:0}
#peter-magicpath .ps-shell {width:100%;max-width:1180px;margin:0 auto;padding-left:44px;padding-right:44px}
#peter-magicpath .ps-header {padding-top:20px;padding-bottom:12px}
#peter-magicpath .ps-top {display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:52px;padding-right:0}
#peter-magicpath .ps-brand {display:flex;align-items:baseline;gap:17px;min-width:0}
#peter-magicpath .ps-wordmark {font-size:37px;font-weight:810;line-height:1;letter-spacing:-.04em}
#peter-magicpath .ps-wordmark span {color:var(--ps-blue)}
#peter-magicpath .ps-brand-name {font-size:13px;color:var(--ps-secondary);font-weight:500}
#peter-magicpath .ps-language {display:flex;align-items:center;gap:6px;flex-shrink:0}
#peter-magicpath .ps-language select {font-size:13px;border:0;background:var(--ps-bg);padding:4px;min-height:40px;max-width:120px}
#peter-magicpath .ps-toc {position:sticky;top:0;z-index:10;background:var(--ps-bg)}
#peter-magicpath .ps-toc-inner {display:flex;align-items:center;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;border-bottom:1px solid var(--ps-line);padding:4px 0 12px}
#peter-magicpath .ps-toc a {font-size:14px;line-height:1.4;min-height:40px;display:flex;align-items:center;color:var(--ps-secondary)}
#peter-magicpath .ps-toc a[aria-current="location"] {color:var(--ps-blue);font-weight:650}
#peter-magicpath .ps-toc a:hover {text-decoration:underline;text-underline-offset:5px}
#peter-magicpath .ps-toc-short {display:none}
#peter-magicpath .ps-anchor {scroll-margin-top:calc(var(--ps-nav-height) + 18px)}
#peter-magicpath .ps-hero {padding:28px 0 0}
#peter-magicpath .ps-hero-plate {background:var(--ps-blue);color:#fff;border-radius:var(--ps-radius);padding:38px 40px 36px}
#peter-magicpath .ps-identity {font-size:15px;line-height:1.6;margin-bottom:40px!important;display:flex;flex-wrap:wrap;gap:6px 14px}
#peter-magicpath .ps-hero h1 {max-width:850px}
#peter-magicpath .ps-hero-bottom {display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:end;margin-top:40px;padding-top:25px;border-top:1px solid #ffffff59}
#peter-magicpath .ps-intro {font-size:16px;line-height:1.85;max-width:530px}
#peter-magicpath .ps-actions {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}
#peter-magicpath .ps-hero .ps-actions {justify-content:flex-end;margin-top:0;gap:10px 16px}
#peter-magicpath .ps-site .ps-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 17px;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:7px;color:var(--ps-ink);font-size:14px;line-height:1.5;font-weight:580;text-align:center}
#peter-magicpath .ps-site .ps-button:hover {border-color:var(--ps-blue);color:var(--ps-blue)}
#peter-magicpath .ps-site .ps-button-primary {background:var(--ps-ink);border-color:var(--ps-ink);color:#fff}
#peter-magicpath .ps-site .ps-button-primary:hover {background:var(--ps-blue);border-color:var(--ps-blue);color:#fff}
#peter-magicpath .ps-hero .ps-button-primary {background:#fff;color:var(--ps-blue);border-color:#fff}
#peter-magicpath .ps-hero .ps-button-primary:hover {background:var(--ps-tint);border-color:var(--ps-tint)}
#peter-magicpath .ps-site .ps-text-link {display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:14px;font-weight:550;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b9adb1}
#peter-magicpath .ps-hero .ps-text-link {color:#fff;text-decoration-color:#ffffff8c}
#peter-magicpath .ps-topics {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:22px 2px;font-size:13px;color:var(--ps-secondary)}
#peter-magicpath .ps-topics span {display:inline-flex;align-items:center;gap:7px}
#peter-magicpath .ps-topics svg {color:var(--ps-blue)}
#peter-magicpath .ps-block {padding-top:var(--ps-spacing);padding-bottom:var(--ps-spacing);border-bottom:1px solid var(--ps-line)}
#peter-magicpath .ps-section-head {display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}
#peter-magicpath .ps-section-head h2 {max-width:640px}
#peter-magicpath .ps-section-head p {font-size:15px;color:var(--ps-secondary);line-height:1.75;max-width:610px;margin-top:14px}
#peter-magicpath #peter-services {padding-top:52px}
#peter-magicpath .ps-service {display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:var(--ps-radius);padding:34px}
#peter-magicpath .ps-service h3 {font-size:46px;font-weight:720;letter-spacing:-.04em;line-height:1.15;margin-bottom:10px}
#peter-magicpath .ps-service-subtitle {font-size:16px;font-weight:550;margin-bottom:18px!important}
#peter-magicpath .ps-service p {font-size:15px;line-height:1.8;color:var(--ps-secondary)}
#peter-magicpath .ps-service-aside {min-width:0}
#peter-magicpath .ps-flow {display:grid;grid-template-columns:1fr 25px 1fr;align-items:center;gap:12px;padding:23px 20px;margin-bottom:20px;background:var(--ps-tint);border-radius:12px;font-size:16px;text-align:center;line-height:1.5}
#peter-magicpath .ps-flow strong {display:block;font-size:29px;color:var(--ps-blue);letter-spacing:-.03em}
#peter-magicpath .ps-flow small {font-size:12px;color:var(--ps-secondary);display:block;margin-top:4px}
#peter-magicpath .ps-flow-bridge {display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ps-blue);font-size:11px}
#peter-magicpath .ps-service-aside h4 {margin-bottom:8px}
#peter-magicpath .ps-project-feature {background:var(--ps-ink);color:#fff;padding:36px;border-radius:var(--ps-radius);margin-bottom:24px}
#peter-magicpath .ps-feature-top {display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:28px;border-bottom:1px solid #5c565d;margin-bottom:27px}
#peter-magicpath .ps-project-feature h3 {font-size:32px;font-weight:650}
#peter-magicpath .ps-project-meta {display:flex;flex-wrap:wrap;gap:5px 12px;font-size:12px;color:var(--ps-secondary);margin-top:8px}
#peter-magicpath .ps-project-feature .ps-project-meta,#peter-magicpath .ps-project-feature .ps-project-summary {color:#d4cfd4}
#peter-magicpath .ps-project-summary {font-size:16px;line-height:1.8}
#peter-magicpath .ps-contributions {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 36px}
#peter-magicpath .ps-contributions strong {display:block;font-size:16px;font-weight:600;margin-bottom:8px}
#peter-magicpath .ps-contributions p {font-size:15px;color:#d4cfd4;line-height:1.8}
#peter-magicpath .ps-projects {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}
#peter-magicpath .ps-project {padding:25px 0 27px;border-bottom:1px solid var(--ps-line);min-width:0}
#peter-magicpath .ps-project h3 {font-size:21px}
#peter-magicpath .ps-project-work {font-size:16px;line-height:1.85;color:var(--ps-secondary);margin-top:13px!important}
#peter-magicpath .ps-careers {list-style:none;margin:0;padding:0}
#peter-magicpath .ps-career-row {display:grid;grid-template-columns:165px 125px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--ps-line);align-items:baseline;min-width:0}
#peter-magicpath .ps-career-time {font-size:12px;white-space:nowrap;color:var(--ps-secondary);font-variant-numeric:tabular-nums}
#peter-magicpath .ps-career-row h3 {font-size:18px}
#peter-magicpath .ps-career-copy {font-size:15px;color:var(--ps-secondary);line-height:1.75}
#peter-magicpath .ps-story {display:grid;grid-template-columns:160px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--ps-line)}
#peter-magicpath .ps-story-label {font-size:12px;color:var(--ps-secondary);line-height:1.9;padding-top:4px}
#peter-magicpath .ps-story p {font-size:16px;color:var(--ps-secondary);line-height:1.85;margin-top:12px}
#peter-magicpath .ps-courses {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:24px}
#peter-magicpath .ps-course {padding:20px;background:var(--ps-tint);border-radius:10px}
#peter-magicpath .ps-course p {font-size:14px;margin:8px 0}
#peter-magicpath .ps-community-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
#peter-magicpath .ps-community-story {padding-top:22px;border-top:2px solid var(--ps-ink);min-width:0}
#peter-magicpath .ps-community-story h3 {font-size:21px}
#peter-magicpath .ps-community-story .ps-story-label {margin-top:8px;margin-bottom:16px}
#peter-magicpath .ps-community-story p {font-size:16px;color:var(--ps-secondary);line-height:1.8}
#peter-magicpath .ps-journal-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
#peter-magicpath .ps-journal-link {display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--ps-line);padding:23px 0;font-size:20px;font-weight:600}
#peter-magicpath .ps-journal-link small {display:block;font-size:13px;font-weight:400;color:var(--ps-secondary);margin-top:7px}
#peter-magicpath .ps-resource-intro {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}
#peter-magicpath .ps-sample {font-size:12px;padding:3px 9px;border-radius:5px;background:var(--ps-tint);color:var(--ps-blue)}
#peter-magicpath .ps-caption {font-size:12px;color:var(--ps-secondary)}
#peter-magicpath .ps-resource {display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--ps-line);padding:27px 0}
#peter-magicpath .ps-resource h3 {font-size:21px}
#peter-magicpath .ps-access {display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ps-secondary);margin-bottom:8px}
#peter-magicpath .ps-resource p {font-size:15px;color:var(--ps-secondary);margin-top:10px}
#peter-magicpath .ps-file {display:flex;align-items:center;gap:8px;overflow-wrap:anywhere;font-size:13px;color:var(--ps-secondary);margin-bottom:13px}
#peter-magicpath .ps-protected label {display:block;font-size:13px;font-weight:550;margin-bottom:7px}
#peter-magicpath .ps-input-row {display:flex;gap:8px;align-items:center}
#peter-magicpath .ps-input-row input {flex:1;min-width:0;width:100%;font-size:16px;padding:11px 12px;min-height:46px;border:1px solid #aea5aa;border-radius:7px;background:var(--ps-surface)}
#peter-magicpath .ps-input-row .ps-button {flex-shrink:0}
#peter-magicpath .ps-resource .ps-demo-note {font-size:12px}
#peter-magicpath .ps-resource .ps-feedback {font-size:13px;color:var(--ps-blue)}
#peter-magicpath .ps-resource .ps-feedback[role="alert"] {color:#ad1632}
#peter-magicpath .ps-footer {background:var(--ps-tint);margin-top:0;padding:48px 0 32px}
#peter-magicpath .ps-footer-note {font-size:34px;font-weight:670;line-height:1.35;letter-spacing:-.035em;max-width:650px;color:var(--ps-blue)}
#peter-magicpath .ps-footer-inner {padding-top:32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
#peter-magicpath .ps-footer-name {font-size:14px;font-weight:600}
#peter-magicpath .ps-footer-links {display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font-size:13px}
#peter-magicpath .ps-footer-links a {display:inline-flex;align-items:center;gap:5px;min-height:40px}
#peter-magicpath .ps-sr {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px) {
  #peter-magicpath .ps-shell {padding-left:28px;padding-right:28px}
  #peter-magicpath .ps-top {padding-right:84px}
  #peter-magicpath .ps-toc a {font-size:13px}
  #peter-magicpath .ps-toc-inner {gap:6px 12px}
  #peter-magicpath .ps-hero-plate {padding:32px}
  #peter-magicpath .ps-hero-bottom {grid-template-columns:1fr;gap:22px}
  #peter-magicpath .ps-hero .ps-actions {justify-content:flex-start}
  #peter-magicpath .ps-service {gap:27px;padding:26px}
  #peter-magicpath .ps-service h3 {font-size:36px}
  #peter-magicpath .ps-feature-top {grid-template-columns:1fr;gap:14px}
  #peter-magicpath .ps-career-row {grid-template-columns:145px 110px 1fr;gap:18px}
  #peter-magicpath .ps-story {grid-template-columns:135px 1fr;gap:25px}
  #peter-magicpath .ps-community-grid {grid-template-columns:1fr}
  #peter-magicpath .ps-community-story {display:grid;grid-template-columns:1fr 1.4fr;gap:25px}
  #peter-magicpath .ps-flow {padding:20px 13px;gap:5px}
}
@media(max-width:620px) {
  #peter-magicpath .ps-shell {padding-left:18px;padding-right:18px}
  #peter-magicpath .ps-header {padding-top:19px;padding-bottom:11px}
  #peter-magicpath .ps-top {padding-right:0;flex-wrap:wrap;gap:8px}
  #peter-magicpath .ps-brand {flex-basis:100%;margin-right:80px;gap:12px;min-height:40px}
  #peter-magicpath .ps-wordmark {font-size:32px}
  #peter-magicpath .ps-brand-name {font-size:12px}
  #peter-magicpath .ps-language {margin-left:auto}
  #peter-magicpath .ps-toc-inner {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 7px;padding:3px 0 8px}
  #peter-magicpath .ps-toc a {font-size:12px;justify-content:center;text-align:center;min-height:40px}
  #peter-magicpath .ps-toc-full {display:none}
  #peter-magicpath .ps-toc-short {display:inline}
  #peter-magicpath .ps-hero {padding-top:18px}
  #peter-magicpath .ps-hero-plate {padding:27px 22px;border-radius:14px}
  #peter-magicpath .ps-identity {font-size:13px;margin-bottom:27px!important;gap:3px 10px}
  #peter-magicpath .ps-site h1 {font-size:42px;line-height:1.18;letter-spacing:-.04em;text-wrap:pretty}
  #peter-magicpath .ps-site[lang="ja"] h1,#peter-magicpath .ps-site[lang="zh-Hans"] h1 {font-size:38px}
  #peter-magicpath .ps-hero-bottom {margin-top:27px;padding-top:23px;gap:24px}
  #peter-magicpath .ps-intro {font-size:15px;line-height:1.85}
  #peter-magicpath .ps-hero .ps-actions {gap:10px 15px}
  #peter-magicpath .ps-hero .ps-text-link {font-size:13px}
  #peter-magicpath .ps-topics {font-size:12px;justify-content:flex-start;gap:8px 16px;padding:19px 1px}
  #peter-magicpath .ps-topics svg {width:14px;height:14px}
  #peter-magicpath .ps-block {padding-top:calc(var(--ps-spacing)*.72);padding-bottom:calc(var(--ps-spacing)*.72)}
  #peter-magicpath .ps-site h2 {font-size:29px}
  #peter-magicpath .ps-site h3 {font-size:21px}
  #peter-magicpath .ps-section-head {margin-bottom:25px}
  #peter-magicpath .ps-section-head p {font-size:15px}
  #peter-magicpath #peter-services {padding-top:40px}
  #peter-magicpath .ps-service {grid-template-columns:1fr;gap:30px;padding:24px 21px;border-radius:14px}
  #peter-magicpath .ps-service h3 {font-size:37px}
  #peter-magicpath .ps-flow {padding:25px 20px;gap:14px}
  #peter-magicpath .ps-project-feature {padding:25px 22px;border-radius:14px}
  #peter-magicpath .ps-project-feature h3 {font-size:28px}
  #peter-magicpath .ps-contributions {grid-template-columns:1fr;gap:23px}
  #peter-magicpath .ps-projects {grid-template-columns:1fr}
  #peter-magicpath .ps-project {padding:22px 0}
  #peter-magicpath .ps-career-row {grid-template-columns:1fr;gap:5px;padding:20px 0}
  #peter-magicpath .ps-career-row h3 {font-size:18px}
  #peter-magicpath .ps-career-copy {margin-top:3px!important}
  #peter-magicpath .ps-story {grid-template-columns:1fr;gap:12px}
  #peter-magicpath .ps-courses {grid-template-columns:1fr;gap:16px}
  #peter-magicpath .ps-community-story {display:block}
  #peter-magicpath .ps-journal-links {grid-template-columns:1fr;gap:0}
  #peter-magicpath .ps-resource {grid-template-columns:1fr;gap:19px}
  #peter-magicpath .ps-input-row {flex-wrap:wrap}
  #peter-magicpath .ps-input-row input {flex-basis:150px}
  #peter-magicpath .ps-input-row .ps-button {flex:1}
  #peter-magicpath .ps-footer-note {font-size:29px}
  #peter-magicpath .ps-footer-inner {align-items:flex-start;flex-direction:column}
}
@media(pointer:coarse) {
  #peter-magicpath .ps-toc a,#peter-magicpath .ps-footer-links a,#peter-magicpath .ps-site .ps-text-link,#peter-magicpath .ps-language select {min-height:44px}
}

#peter-magicpath .ps-toc a[aria-current="page"] { color:var(--ps-blue); font-weight:650; }
#peter-magicpath .ps-return { margin-top:25px; }
#peter-magicpath .ps-resource-page .ps-block { padding-top:28px; padding-bottom:64px; border-bottom:0; }
#peter-magicpath .ps-resource-page .ps-section-head h1 { font-size:44px; line-height:1.3; letter-spacing:-.03em; }
#peter-magicpath .ps-resource-page .ps-resource h2 { font-size:21px; font-weight:670; line-height:1.45; letter-spacing:-.025em; }
#peter-magicpath .ps-site[data-page="resources"] .ps-footer { padding-top:20px; }
@media(max-width:620px) {
  #peter-magicpath .ps-resource-page .ps-section-head h1 { font-size:32px; }
}
/* The MagicPath preview does not need the conversation host control reserve. */
#peter-magicpath .ps-top { padding-right:0; }
#peter-magicpath .ps-site { --ps-nav-height:72px; }
#peter-magicpath .ps-site a, #peter-magicpath .ps-site button, #peter-magicpath .ps-site select { cursor:pointer; }
#peter-magicpath .ps-site :focus-visible { outline:2px solid var(--ps-blue); outline-offset:4px; }
#peter-magicpath .ps-hero-plate :focus-visible { outline-color:white; }
#peter-magicpath .ps-site ::selection { background:var(--ps-blue); color:white; }
#peter-magicpath .ps-site input { caret-color:var(--ps-blue); }
#peter-magicpath .ps-site .ps-footer-note { color:var(--ps-blue); }
#peter-magicpath .ps-site .ps-project-work { color:var(--ps-secondary); }
@media(max-width:620px) {
  #peter-magicpath .ps-site { --ps-nav-height:106px; }
  #peter-magicpath .ps-brand { flex-basis:auto; margin-right:0; }
  #peter-magicpath .ps-brand-name { display:none; }
  #peter-magicpath .ps-header { padding-bottom:14px; }
}
#peter-magicpath .ps-site .rb-board {padding-bottom:64px;min-height:560px;}
#peter-magicpath .ps-site .rb-heading {padding-top:28px;margin-bottom:25px;}
#peter-magicpath .ps-site .rb-heading h1 {font-size:42px;line-height:1.35;letter-spacing:-.03em;max-width:900px;text-wrap:balance;}
#peter-magicpath .ps-site .rb-heading > p {font-size:16px;line-height:1.8;color:var(--ps-secondary);margin-top:14px;}
#peter-magicpath .ps-site .rb-sample {display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--ps-secondary);font-size:12px;line-height:1.7;margin:20px 0;}
#peter-magicpath .ps-site .rb-sample > span {background:var(--ps-tint);color:var(--ps-blue);padding:3px 8px;border-radius:4px;}
#peter-magicpath .ps-site .rb-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 17px;}
#peter-magicpath .ps-site .rb-toolbar > p {font-size:14px;color:var(--ps-secondary);white-space:nowrap;}
#peter-magicpath .ps-site .rb-search {display:flex;gap:8px;align-items:center;}
#peter-magicpath .ps-site .rb-search input {min-width:0;width:230px;font-size:16px;padding:10px 12px;border:1px solid var(--ps-line);border-radius:7px;background:var(--ps-surface);min-height:46px;}
#peter-magicpath .ps-site .rb-table {border-collapse:collapse;table-layout:fixed;width:100%;border-top:2px solid var(--ps-ink);}
#peter-magicpath .ps-site .rb-number-col {width:65px;}
#peter-magicpath .ps-site .rb-attachment-col {width:75px;}
#peter-magicpath .ps-site .rb-date-col {width:125px;}
#peter-magicpath .ps-site .rb-table th {font-size:13px;font-weight:550;color:var(--ps-secondary);text-align:left;background:#f1efef;padding:14px 12px;border-bottom:1px solid var(--ps-line);}
#peter-magicpath .ps-site .rb-table td {padding:22px 12px;border-bottom:1px solid var(--ps-line);vertical-align:middle;}
#peter-magicpath .ps-site .rb-table .rb-number,#peter-magicpath .ps-site .rb-table .rb-attachment,#peter-magicpath .ps-site .rb-table .rb-date {text-align:center;font-size:13px;color:var(--ps-secondary);font-variant-numeric:tabular-nums;}
#peter-magicpath .ps-site .rb-attachment svg {display:block;margin:auto;}
#peter-magicpath .ps-site .rb-title-line {display:flex;align-items:center;gap:12px;min-width:0;}
#peter-magicpath .ps-site .rb-post-title {font-size:16px;font-weight:550;line-height:1.65;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;}
#peter-magicpath .ps-site .rb-post-title:hover {text-decoration:underline;text-underline-offset:4px;}
#peter-magicpath .ps-site .rb-access {display:inline-flex;align-items:center;gap:4px;padding:3px 7px;flex-shrink:0;font-size:11px;line-height:1.5;border-radius:4px;background:#eeeded;color:#5b555c;white-space:nowrap;}
#peter-magicpath .ps-site .rb-private {background:var(--ps-tint);color:var(--ps-blue);}
#peter-magicpath .ps-site .rb-mobile-meta {display:none;}
#peter-magicpath .ps-site .rb-empty {padding:55px 20px;text-align:center;border-bottom:1px solid var(--ps-line);color:var(--ps-secondary);}
#peter-magicpath .ps-site .rb-empty .ps-button {margin-top:20px;}
#peter-magicpath .ps-site .rb-meta {display:flex;align-items:center;gap:9px 18px;flex-wrap:wrap;font-size:13px;color:var(--ps-secondary);margin-top:20px;}
#peter-magicpath .ps-site .rb-password-panel {max-width:470px;margin:42px auto;padding:32px;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:14px;}
#peter-magicpath .ps-site .rb-lock-icon {width:50px;height:50px;display:grid;place-items:center;background:var(--ps-tint);color:var(--ps-blue);border-radius:12px;margin-bottom:22px;}
#peter-magicpath .ps-site .rb-password-panel h2 {font-size:23px;line-height:1.45;letter-spacing:-.025em;}
#peter-magicpath .ps-site .rb-password-panel > p {font-size:15px;line-height:1.8;color:var(--ps-secondary);margin-top:12px;}
#peter-magicpath .ps-site .rb-password-panel form {margin-top:25px;}
#peter-magicpath .ps-site .rb-password-panel label {font-size:14px;font-weight:550;display:block;margin-bottom:8px;}
#peter-magicpath .ps-site .rb-password-panel input {width:100%;padding:11px 12px;min-height:46px;font-size:16px;border:1px solid #aea5aa;border-radius:7px;background:var(--ps-surface);}
#peter-magicpath .ps-site .rb-password-panel input[aria-invalid="true"] {border-color:var(--ps-blue);}
#peter-magicpath .ps-site .rb-error {font-size:13px;color:var(--ps-blue);margin-top:8px;}
#peter-magicpath .ps-site .rb-password-panel .ps-button {width:100%;margin-top:18px;}
#peter-magicpath .ps-site .rb-password-panel .rb-password-hint {font-size:12px;color:var(--ps-secondary);margin-top:17px;text-align:center;}
#peter-magicpath .ps-site .rb-post .rb-heading {padding-bottom:24px;border-bottom:1px solid var(--ps-line);}
#peter-magicpath .ps-site .rb-post-body {font-size:17px;line-height:1.9;max-width:70ch;padding:14px 0 35px;}
#peter-magicpath .ps-site .rb-post-body p + p {margin-top:18px;}
#peter-magicpath .ps-site .rb-files {padding:24px;background:var(--ps-surface);border:1px solid var(--ps-line);border-radius:10px;}
#peter-magicpath .ps-site .rb-files h2 {font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.02em;margin-bottom:18px;}
#peter-magicpath .ps-site .rb-file-row {display:flex;align-items:center;justify-content:space-between;gap:22px;}
#peter-magicpath .ps-site .rb-file-name {display:flex;align-items:center;gap:12px;min-width:0;font-size:15px;overflow-wrap:anywhere;}
#peter-magicpath .ps-site .rb-file-name small {display:block;font-size:12px;color:var(--ps-secondary);margin-top:3px;}
#peter-magicpath .ps-site .rb-file-row .ps-button {flex-shrink:0;}
#peter-magicpath .ps-site .rb-download-feedback {font-size:13px;color:var(--ps-secondary);margin-top:12px;}
#peter-magicpath .ps-site .rb-download-feedback:empty {display:none;}
#peter-magicpath .ps-site .rb-bottom-back {margin-top:28px;}
@media(max-width:620px) {
  #peter-magicpath .ps-site .rb-board {padding-bottom:44px;min-height:480px;}
  #peter-magicpath .ps-site .rb-heading {padding-top:24px;}
  #peter-magicpath .ps-site .rb-heading h1 {font-size:30px;text-wrap:pretty;}
  #peter-magicpath .ps-site .rb-heading > p {font-size:15px;}
  #peter-magicpath .ps-site .rb-toolbar {align-items:stretch;flex-direction:column;gap:12px;}
  #peter-magicpath .ps-site .rb-search input {width:100%;flex:1;}
  #peter-magicpath .ps-site .rb-search .ps-button {flex-shrink:0;}
  #peter-magicpath .ps-site .rb-table colgroup,#peter-magicpath .ps-site .rb-table .rb-number,#peter-magicpath .ps-site .rb-table .rb-attachment,#peter-magicpath .ps-site .rb-table .rb-date {display:none;}
  #peter-magicpath .ps-site .rb-table {table-layout:auto;}
  #peter-magicpath .ps-site .rb-table th {padding:12px 8px;}
  #peter-magicpath .ps-site .rb-table td {padding:15px 8px;}
  #peter-magicpath .ps-site .rb-title-line {gap:6px 10px;align-items:flex-start;flex-direction:column;}
  #peter-magicpath .ps-site .rb-post-title {min-height:34px;}
  #peter-magicpath .ps-site .rb-mobile-meta {display:flex;flex-wrap:wrap;gap:16px;color:var(--ps-secondary);font-size:12px;margin-top:7px;}
  #peter-magicpath .ps-site .rb-mobile-meta span {display:inline-flex;align-items:center;gap:4px;}
  #peter-magicpath .ps-site .rb-password-panel {padding:24px;margin:27px auto;}
  #peter-magicpath .ps-site .rb-meta {font-size:12px;gap:8px 12px;}
  #peter-magicpath .ps-site .rb-file-row {align-items:stretch;flex-direction:column;gap:18px;}
  #peter-magicpath .ps-site .rb-files {padding:20px;}
}
.ps-languages{display:flex;gap:3px 10px;flex-wrap:wrap;justify-content:flex-end;font-family:system-ui,sans-serif!important}.ps-languages a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.ps-languages [aria-current]{color:#b91635!important;font-weight:700;text-decoration:underline!important;text-underline-offset:5px}.skip-link{position:fixed;top:-100px;left:12px;padding:12px;background:white;z-index:100}.skip-link:focus{top:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b91635;outline-offset:4px}#peter-magicpath .ps-toc a[aria-current=page]{color:var(--ps-blue);font-weight:650}#peter-magicpath .ps-site .ps-footer-note{max-width:650px}#peter-magicpath .ps-site .rb-file-row + .rb-file-row{margin-top:20px;padding-top:20px;border-top:1px solid var(--ps-line)}.rb-pagination{display:flex;gap:16px;margin-top:28px;align-items:center}.rb-post-body pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f1efef;border-radius:8px}.rb-post-body img{max-width:100%}.rb-post-body a{text-decoration:underline!important}.rb-post-body ul,.rb-post-body ol{padding-left:24px}.rb-post-body h2{font-size:28px!important;margin-top:24px!important}.rb-post-body h3{font-size:22px!important;margin-top:20px!important}.rb-post-body table{display:block;overflow-x:auto;border-collapse:collapse}.rb-post-body th,.rb-post-body td{border:1px solid #dedbdd;padding:8px}.notice{background:#f5e9ec;padding:16px;border-radius:8px;margin:16px 0!important}#peter-magicpath .ps-site .rb-table caption{text-align:left;margin-bottom:14px;font-size:14px;color:#686169}.error-page{padding:80px 0;min-height:60vh}.error-page p{margin:20px 0!important}
@media(max-width:620px){#peter-magicpath .ps-top{align-items:flex-start;flex-direction:column;gap:4px;padding-right:0}.ps-languages{gap:18px;justify-content:flex-start}.ps-languages a{font-size:12px;min-height:36px}#peter-magicpath .ps-header{padding-top:18px;padding-bottom:8px}#peter-magicpath .ps-brand-name{font-size:12px}#peter-magicpath .ps-site .ps-footer-note{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.admin-page{padding-bottom:64px}.admin-page label{display:block;font-size:15px;margin:18px 0 8px}.admin-page input:not([type=checkbox]),.admin-page textarea,.admin-page select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #aea5aa;border-radius:6px;font:inherit;font-size:16px;background:white;color:#201e20}.admin-page textarea{resize:vertical}.admin-page fieldset{min-width:0;margin:28px 0;padding:22px;border:1px solid #dedbdd;border-radius:10px}.admin-page legend{font-weight:650;padding:0 8px}.admin-page details{border-bottom:1px solid #dedbdd;padding:20px 0}.admin-page summary{cursor:pointer;font-weight:650;min-height:44px;display:list-item}.admin-page .admin-check{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.admin-check input{width:20px;height:20px;flex-shrink:0}.admin-hint{font-size:14px;color:#686169}.admin-list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #dedbdd}.admin-list-row>div{min-width:0;overflow-wrap:anywhere}.admin-list-row button{flex-shrink:0}#resource-editor{border-top:2px solid #201e20;padding-top:32px;margin-top:40px;scroll-margin-top:120px}.admin-access{background:#f5e9ec}.admin-page button{cursor:pointer}.admin-page button:disabled{opacity:.55;cursor:wait}.admin-page dialog{border:1px solid #dedbdd;border-radius:12px;width:min(750px,90vw);max-height:85vh;overflow:auto;padding:26px}.admin-page dialog::backdrop{background:#201e2077}.danger{color:#b91635!important}#storage-status{margin:20px 0!important;font-size:14px}[hidden]{display:none!important}
