:root {
  --ps-bg: #eef2f7;
  --ps-card: rgba(255,255,255,.93);
  --ps-card-2: #f9fbff;
  --ps-text: #1f2937;
  --ps-text-soft: #5a667c;
  --ps-border: #dbe3ef;
  --ps-primary: #1f3c88;
  --ps-primary-soft: #eef4ff;
  --ps-shadow: rgba(31,60,136,.08);
}
body[data-theme="dark"] {
  --ps-bg: #0f172a;
  --ps-card: rgba(15,23,42,.96);
  --ps-card-2: #162033;
  --ps-text: #edf2ff;
  --ps-text-soft: #b7c4e0;
  --ps-border: #2a3b5f;
  --ps-primary: #8fb4ff;
  --ps-primary-soft: rgba(143,180,255,.12);
  --ps-shadow: rgba(0,0,0,.25);
}
body{background:var(--ps-bg);color:var(--ps-text);transition:background .25s ease,color .25s ease}
.public-topbar{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);background:rgba(255,255,255,.55);border-bottom:1px solid var(--ps-border)}
body[data-theme="dark"] .public-topbar{background:rgba(10,16,30,.7)}
.public-topbar-inner{max-width:1100px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.topbar-brand{font-weight:700;color:var(--ps-primary)}
.theme-toggle-btn{border:1px solid var(--ps-primary);background:var(--ps-primary-soft);color:var(--ps-primary);border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:600}
.public-shell{max-width:1100px;margin:0 auto;padding:24px;display:grid;gap:18px}
.hero-card,.public-card{background:var(--ps-card);border:1px solid var(--ps-border);border-radius:24px;box-shadow:0 10px 30px var(--ps-shadow);padding:22px;transition:background .25s ease,border-color .25s ease}
.success-card{border-color:#64c27b;color:#1b6b2f;background:rgba(100,194,123,.12)}
body[data-theme="dark"] .success-card{color:#b9f2c6}
.hero-card{display:flex;justify-content:space-between;align-items:center;gap:16px}
.hero-left{display:flex;align-items:center;gap:16px}
.logo-circle{width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:var(--ps-primary);color:#fff;font-size:28px;font-weight:700}
.hero-card h1{margin:0 0 8px 0;font-size:34px;color:var(--ps-text)}
.hero-card p{margin:0;color:var(--ps-text-soft)}
.badge,.order-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--ps-primary-soft);color:var(--ps-primary)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.section-note{color:var(--ps-text-soft);font-size:14px}
.public-card h2{margin:0;font-size:28px;color:var(--ps-text)}
.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.chip-link{display:grid;gap:6px;padding:16px;border-radius:18px;border:1px solid var(--ps-border);background:var(--ps-card-2);text-decoration:none;color:var(--ps-text);transition:transform .15s ease,border-color .15s ease,background .15s ease}
.chip-link:hover{transform:translateY(-2px);border-color:var(--ps-primary)}
.chip-link span{color:var(--ps-text-soft)}
.chip-link em{font-style:normal;color:var(--ps-primary);font-size:13px}
.info-grid,.stack-grid,.campaign-grid,.form-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.info-item,.stack-item,.campaign-card,.form-link-card{border:1px solid var(--ps-border);border-radius:18px;padding:14px;background:var(--ps-card-2)}
.info-item label{display:block;font-weight:700;margin-bottom:6px}
.stack-head,.campaign-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.stack-item p,.campaign-summary,.campaign-detail,.form-link-card p{color:var(--ps-text-soft)}
.mini-lines{display:grid;gap:6px}
.inline-link{color:var(--ps-primary);text-decoration:none;font-weight:600}
.inline-link:hover{text-decoration:underline}
.campaign-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}
.campaign-slider{position:relative;margin-bottom:14px}
.campaign-slide{display:none}.campaign-slide.active{display:block}
.campaign-slide img{width:100%;height:260px;object-fit:cover;border-radius:16px;border:1px solid var(--ps-border);background:#fff}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:999px;border:1px solid var(--ps-border);background:rgba(255,255,255,.82);color:#1f3c88;cursor:pointer;font-size:24px;line-height:1}
.prev-btn{left:10px}.next-btn{right:10px}
body[data-theme="dark"] .slider-btn{background:rgba(15,23,42,.82);color:#8fb4ff}
.public-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}
.public-form-grid .full{grid-column:1 / -1}
.public-form-grid label{display:grid;gap:6px}
.public-form-grid span{font-weight:600;color:var(--ps-text)}
.public-form-grid input,.public-form-grid select,.public-form-grid textarea{width:100%;border-radius:16px;border:1px solid var(--ps-border);background:var(--ps-card-2);color:var(--ps-text);padding:12px 14px;outline:none}
.public-form-grid textarea{resize:vertical}
.public-form-grid .btn{border:1px solid var(--ps-primary);background:var(--ps-primary-soft);color:var(--ps-primary);border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 12px;padding:10px 0 4px 0}
.checkbox-grid label{display:flex;align-items:center;gap:8px;font-weight:500}
.checkbox-grid input{width:auto}
@media (max-width:768px){.public-shell{padding:14px}.hero-card{flex-direction:column;align-items:stretch}.hero-left{align-items:flex-start}.hero-card h1{font-size:28px}.public-card h2{font-size:24px}.section-head{flex-direction:column;align-items:flex-start}.public-form-grid{grid-template-columns:1fr}.campaign-slide img{height:210px}}
