:root{
  --pv4-ink:#111318;--pv4-ink-2:#30343b;--pv4-muted:#717781;--pv4-line:#e2e5e8;--pv4-line-2:#cdd2d7;
  --pv4-paper:#fff;--pv4-wash:#f5f6f7;--pv4-wash-2:#eef0f2;--pv4-accent:#165dff;
  --pv4-good:#168250;--pv4-danger:#c9362b;--pv4-radius:10px;
  --pv4-font:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,-apple-system,"Segoe UI",sans-serif
}
html{background:#fff;color:var(--pv4-ink);font-family:var(--pv4-font)}
body{background:#fff;color:var(--pv4-ink);font-family:var(--pv4-font);letter-spacing:-.014em}
a{color:inherit}
.p-header{position:sticky;top:0;z-index:40;width:100%;max-width:none;height:64px;margin:0;padding:0 max(24px,calc((100% - 1180px)/2));border-bottom:1px solid var(--pv4-line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.p-brand{gap:9px;font-size:16px;letter-spacing:-.035em}
.p-brand span{display:grid;width:25px;height:25px;place-content:center;border-radius:7px;background:#111820;color:#fff;font-size:12px}
.p-header nav{display:flex;gap:3px;margin-left:34px}
.p-header nav a,.p-actions>a:first-child{padding:9px 11px;border-radius:7px;color:#5d646e;font-size:14px;font-weight:560}
.p-header nav a:hover,.p-actions>a:first-child:hover{background:#f3f4f5;color:var(--pv4-ink)}
.p-actions{gap:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid #111820;border-radius:8px;background:#111820;color:#fff;font-weight:700;box-shadow:none;transition:background .15s,border-color .15s,transform .15s}
.btn:hover{background:#252b34;box-shadow:none;transform:none}
.btn:active{transform:translateY(1px)}
.btn.small{min-height:38px;padding:0 13px}
.btn.light,.btn.outline,.btn.ghost{border-color:var(--pv4-line-2);background:#fff;color:var(--pv4-ink)}
.overline{margin:0 0 12px;color:var(--pv4-muted);font-size:13px;font-weight:650;letter-spacing:0;text-transform:none}
.overline::before{content:"";display:inline-block;width:18px;height:1px;margin:0 8px 3px 0;background:#adb3ba}
footer{width:min(1180px,calc(100% - 48px));margin:70px auto 0;padding:28px 0 38px;border-top:1px solid var(--pv4-line);background:#fff;color:var(--pv4-muted)}
footer b{color:var(--pv4-ink)}
footer a,footer small{font-size:12px}

/* Home */
.home-platform-v4{background:#fff}
.quiet-hero{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:92px 0 72px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:90px;align-items:center}
.quiet-hero-copy h1{max-width:720px;margin:0;color:var(--pv4-ink);font-size:clamp(48px,5.5vw,74px);font-weight:760;line-height:1.03;letter-spacing:-.07em}
.quiet-hero-copy>p:not(.overline){max-width:620px;margin:25px 0 0;color:var(--pv4-muted);font-size:17px;line-height:1.75}
.quiet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:31px}
.quiet-proof{display:flex;flex-wrap:wrap;gap:12px;margin-top:46px;color:#7b828b;font-size:12px}
.quiet-proof i{width:1px;height:12px;background:var(--pv4-line-2)}
.quiet-console{overflow:hidden;border:1px solid var(--pv4-line);border-radius:12px;background:#fff;box-shadow:0 18px 60px rgba(17,19,24,.08)}
.quiet-console>header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--pv4-line);background:#fafbfc}
.quiet-console>header b{font-size:13px}
.quiet-console>header span{display:flex;align-items:center;gap:7px;color:var(--pv4-good);font-size:11px;font-weight:700}
.quiet-console>header span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pv4-good)}
.quiet-console-list{padding:6px 18px}
.quiet-console-list a{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 0;border-bottom:1px solid var(--pv4-line)}
.quiet-console-list a:last-child{border-bottom:0}
.quiet-console-list strong,.quiet-console-list small{display:block}
.quiet-console-list strong{font-size:13px}
.quiet-console-list small{margin-top:4px;color:var(--pv4-muted);font-size:11px}
.quiet-console-list em{align-self:center;color:var(--pv4-muted);font-size:11px;font-style:normal}
.quiet-console>p{margin:0;padding:13px 18px;border-top:1px solid var(--pv4-line);background:#fafbfc;color:var(--pv4-muted);font-size:11px;line-height:1.5}
.p-section{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:72px 0}
.p-section>header{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin:0 0 30px;text-align:left}
.p-section>header .overline{grid-column:1/-1;margin-bottom:-10px}
.p-section>header h2{margin:0;color:var(--pv4-ink);font-size:36px;line-height:1.15;letter-spacing:-.05em}
.p-section>header>p:last-child{margin:0;color:var(--pv4-muted);font-size:14px;line-height:1.7}
.service-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.service-tile{position:relative;display:grid;grid-template-columns:42px 1fr;min-height:190px;padding:24px;border:1px solid var(--pv4-line);border-radius:10px;background:#fff;box-shadow:none;transition:border-color .15s,background .15s}
.service-tile:hover{border-color:#bfc5cb;background:#fafbfc;transform:none;box-shadow:none}
.tile-icon{display:grid;width:36px;height:36px;place-content:center;border:1px solid var(--pv4-line);border-radius:8px;background:#f5f6f7;color:#48505a}
.tile-icon svg{width:18px;height:18px;stroke:currentColor}
.service-tile small{position:absolute;right:22px;top:23px;padding:5px 8px;border:1px solid var(--pv4-line);border-radius:999px;background:#fff;color:var(--pv4-muted);font-size:10px}
.service-tile h3{margin:48px 0 6px;color:var(--pv4-ink);font-size:22px;letter-spacing:-.04em}
.service-tile p{margin:0;color:var(--pv4-muted);font-size:13px}
.service-tile>b{grid-column:2;margin-top:20px;color:var(--pv4-ink);font-size:12px}
.quiet-principles{width:100%;padding:70px max(24px,calc((100% - 1180px)/2));background:#f5f6f7}
.quiet-principles>header{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;margin-bottom:30px}
.quiet-principles h2{margin:0;font-size:36px;letter-spacing:-.05em}
.quiet-principles header p{margin:0;color:var(--pv4-muted);font-size:14px;line-height:1.7}
.quiet-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pv4-line-2);border-bottom:1px solid var(--pv4-line-2)}
.quiet-principle-grid article{padding:27px 28px 27px 0}
.quiet-principle-grid article+article{padding-left:28px;border-left:1px solid var(--pv4-line-2)}
.quiet-principle-grid span{display:block;margin-bottom:25px;color:#969ca4;font-size:11px}
.quiet-principle-grid h3{margin:0 0 7px;font-size:18px}
.quiet-principle-grid p{margin:0;color:var(--pv4-muted);font-size:13px;line-height:1.65}

/* Auth, account, pay, shop */
.auth-shell,.simple,.account-head,.pay-hero,.shop-hero,.note-admin,.platform-admin,.published-note{width:min(1120px,calc(100% - 40px));margin:0 auto}
.auth-shell{min-height:calc(100vh - 140px);display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:center;padding:70px 0}
.auth-copy h1{margin:0;font-size:48px;letter-spacing:-.055em}
.auth-copy>p:last-child{max-width:500px;color:var(--pv4-muted);line-height:1.7}
.form-card,.account-head article,.admin-box,.product,.topup-card,.published-note,.note-editor,.note-side,.shop-card{border:1px solid var(--pv4-line);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(17,19,24,.04)}
.form-card{padding:26px}
.form-card label,.grid-form label,.form-inline label{color:var(--pv4-ink-2);font-size:13px;font-weight:700}
input,textarea,select{border:1px solid var(--pv4-line-2);border-radius:8px;background:#fff;color:var(--pv4-ink);box-shadow:none}
input:focus,textarea:focus,select:focus{border-color:var(--pv4-accent);box-shadow:0 0 0 3px rgba(22,93,255,.12)}
.form-error{border:1px solid #efd0cd;border-radius:8px;background:#fff7f6;color:#972e26}
.simple{padding:80px 0}
.simple h1{font-size:42px;letter-spacing:-.05em}
.account-head,.pay-hero,.shop-hero{padding:72px 0 32px}
.account-head h1,.pay-hero h1,.shop-hero h1{font-size:46px;letter-spacing:-.05em}
.account-head article{padding:22px}
.account-head article strong{color:var(--pv4-ink)}
.p-section.narrow{padding-top:18px}
.table,.form-inline{border-color:var(--pv4-line);border-radius:9px;background:#fff}
.tr{border-color:var(--pv4-line)}
.tr.th{background:#f8f9fa;color:var(--pv4-muted)}
.product-grid,.shop-grid{gap:12px}
.product,.shop-card{box-shadow:none}
.product:hover,.shop-card:hover{transform:none;box-shadow:none}
.price,.balance{color:var(--pv4-ink)}
.topup-card,.pay-panel{border-radius:10px}

/* management surfaces */
.platform-admin,.note-admin{padding-top:56px}
.platform-admin>header,.note-admin>header{border-bottom:1px solid var(--pv4-line)}
.platform-admin h1,.note-admin h1{font-size:38px;letter-spacing:-.05em}
.admin-tabs{border:1px solid var(--pv4-line);border-radius:9px;background:#fff}
.admin-tabs a{font-size:13px}
.admin-box{padding:24px}
.admin-item{border-color:var(--pv4-line);border-radius:8px;background:#fafbfc}
.published-note{margin-top:60px;padding:40px}

/* keep state and utility pages visually consistent */
.status-grid,.policy-grid{gap:12px}
.status-card,.policy-card{border-color:var(--pv4-line);border-radius:10px;background:#fff;box-shadow:none}
.empty{color:var(--pv4-muted)}

@media(max-width:900px){
  .p-header{padding:0 18px}
  .p-header nav{display:none}
  .quiet-hero,.auth-shell{grid-template-columns:1fr;gap:38px}
  .p-section>header,.quiet-principles>header{grid-template-columns:1fr}
  .service-tiles{grid-template-columns:1fr}
  .quiet-principle-grid{grid-template-columns:1fr}
  .quiet-principle-grid article+article{padding-left:0;border-left:0;border-top:1px solid var(--pv4-line-2)}
}
@media(max-width:680px){
  .p-header{height:58px}
  .p-actions .btn{display:none}
  .quiet-hero,.p-section,footer,.auth-shell,.simple,.account-head,.pay-hero,.shop-hero,.note-admin,.platform-admin,.published-note{width:calc(100% - 28px)}
  .quiet-hero{padding:56px 0}
  .quiet-hero-copy h1{font-size:42px}
  .quiet-proof{margin-top:34px}
  .p-section{padding:52px 0}
  .p-section>header h2,.quiet-principles h2{font-size:30px}
  .quiet-principles{padding:52px 14px}
  .auth-shell{padding:44px 0}
  .auth-copy h1{font-size:36px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}