#ppd-app, #ppd-app * { box-sizing: border-box; }
#ppd-app {
  --pink:#e95f9d; --pink-dark:#b93c78; --blush:#fff0f6; --rose:#ffd5e7;
  --lav:#efe8ff; --purple:#7251a8; --cream:#fffaf7; --ink:#3d2b3a;
  --muted:#7e6c79; --white:#fff; --green:#5b9b84; --danger:#c84e67;
  --shadow:0 18px 45px rgba(101,55,88,.12); --radius:24px;
  position:relative; display:grid; grid-template-columns:260px minmax(0,1fr);
  min-height:100vh; width:100%; overflow:hidden; background:
  radial-gradient(circle at 12% 5%, rgba(255,213,231,.75), transparent 30%),
  radial-gradient(circle at 88% 15%, rgba(239,232,255,.9), transparent 32%),
  linear-gradient(135deg,#fffafc,#fff7fb 45%,#faf7ff);
  color:var(--ink); font-family:Inter,ui-rounded,"Segoe UI",system-ui,-apple-system,sans-serif;
}
#ppd-app button,#ppd-app input,#ppd-app textarea,#ppd-app select{font:inherit}
.ppd-bg-shape{position:absolute;border-radius:999px;filter:blur(1px);pointer-events:none;opacity:.45}
.ppd-bg-one{width:250px;height:250px;background:#ffd8ea;right:-90px;top:90px}
.ppd-bg-two{width:180px;height:180px;background:#e4d9ff;left:210px;bottom:30px}
.ppd-sidebar{position:sticky;top:0;height:100vh;z-index:20;padding:24px 18px;display:flex;flex-direction:column;
 background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-right:1px solid rgba(185,60,120,.12)}
.ppd-brand{display:flex;align-items:center;gap:12px;padding:8px 10px 24px}
.ppd-brand strong{display:block;font-size:17px}.ppd-brand small{color:var(--muted);font-size:11px}
.ppd-logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--rose),var(--lav));box-shadow:var(--shadow)}
.ppd-nav{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:3px}
.ppd-nav-btn{border:0;background:transparent;color:var(--muted);padding:12px 14px;border-radius:15px;text-align:left;cursor:pointer;font-weight:700;transition:.2s}
.ppd-nav-btn span{margin-right:10px}.ppd-nav-btn:hover{background:var(--blush);color:var(--pink-dark);transform:translateX(2px)}
.ppd-nav-btn.active{background:linear-gradient(135deg,var(--pink),#c65bac);color:#fff;box-shadow:0 10px 24px rgba(233,95,157,.25)}
.ppd-sidebar-note{margin-top:auto;display:flex;gap:10px;padding:13px;border-radius:16px;background:linear-gradient(135deg,var(--lav),var(--blush));font-size:12px}
.ppd-sidebar-note p{margin:0;color:var(--muted)}.ppd-sidebar-note strong{color:var(--ink)}
.ppd-main{position:relative;z-index:2;min-width:0;padding:24px 28px 50px}
.ppd-topbar{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ppd-topbar h1{margin:0;font-size:28px;line-height:1.1}.ppd-eyebrow{margin:0 0 5px;color:var(--pink-dark);font-size:10px;font-weight:900;letter-spacing:1.5px}
.ppd-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.ppd-save-pill{background:#fff;border:1px solid #f1d7e4;padding:8px 12px;border-radius:999px;color:var(--muted);font-size:12px}
.ppd-icon-btn,.ppd-menu-btn{border:0;background:#fff;width:40px;height:40px;border-radius:13px;cursor:pointer;box-shadow:0 8px 20px rgba(83,45,73,.08)}
.ppd-menu-btn{display:none}
.ppd-privacy-banner{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.78);border:1px solid rgba(233,95,157,.18);padding:11px 14px;border-radius:16px;margin-bottom:20px}
.ppd-privacy-banner strong{display:block;font-size:13px}.ppd-privacy-banner small{color:var(--muted)}
.ppd-view{display:none;animation:ppdFade .25s ease}.ppd-view.active{display:block}
@keyframes ppdFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.ppd-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:32px;border-radius:30px;background:
 linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,237,247,.92));border:1px solid rgba(233,95,157,.15);box-shadow:var(--shadow);overflow:hidden}
.ppd-hero h2{font-size:clamp(25px,3vw,42px);line-height:1.12;margin:14px 0 10px;max-width:780px}.ppd-hero p{color:var(--muted);font-size:16px}
.ppd-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,var(--blush),var(--lav));color:var(--pink-dark);font-size:12px;font-weight:900}
.ppd-hero-actions,.ppd-button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ppd-primary-btn,.ppd-secondary-btn,.ppd-ghost-btn,.ppd-danger-btn{border:0;border-radius:14px;padding:11px 16px;font-weight:800;cursor:pointer;transition:.2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ppd-primary-btn{background:linear-gradient(135deg,var(--pink),#b85dc8);color:#fff;box-shadow:0 10px 22px rgba(233,95,157,.24)}
.ppd-secondary-btn{background:#fff;color:var(--pink-dark);border:1px solid #f1cadd}.ppd-ghost-btn{background:var(--blush);color:var(--pink-dark)}
.ppd-danger-btn{background:#fff0f2;color:var(--danger);border:1px solid #f3c4cf}.ppd-primary-btn:hover,.ppd-secondary-btn:hover,.ppd-ghost-btn:hover{transform:translateY(-2px)}
.small{padding:8px 12px;border-radius:11px;font-size:12px}
.ppd-progress-orb{--p:0;width:178px;height:178px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pink) calc(var(--p)*1%),#f5dfeb 0);position:relative;box-shadow:0 20px 45px rgba(233,95,157,.2)}
.ppd-progress-orb:before{content:"";position:absolute;inset:15px;border-radius:50%;background:#fffafc}
.ppd-progress-orb div{position:relative;text-align:center}.ppd-progress-orb strong{display:block;font-size:38px;color:var(--pink-dark)}.ppd-progress-orb span{font-size:11px;color:var(--muted)}
.ppd-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.ppd-stat-card{display:flex;align-items:center;gap:13px;padding:18px;border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(82,45,72,.08);border:1px solid rgba(185,60,120,.09)}
.ppd-stat-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blush),var(--lav));font-size:22px}
.ppd-stat-card small{display:block;color:var(--muted);font-size:11px}.ppd-stat-card strong{font-size:20px}
.ppd-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}
.ppd-card{background:rgba(255,255,255,.93);border:1px solid rgba(185,60,120,.1);border-radius:var(--radius);padding:22px;box-shadow:0 12px 34px rgba(82,45,72,.08);margin-bottom:18px}
.ppd-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.ppd-card h3{margin:3px 0 0;font-size:20px}.ppd-kicker{font-size:10px;color:var(--pink-dark);font-weight:900;letter-spacing:1.3px}
.ppd-pretty-textarea,.ppd-journal,#ppd-app input,#ppd-app select,#ppd-app textarea{width:100%;border:1px solid #ead7e3;border-radius:14px;background:#fffafd;color:var(--ink);padding:12px 13px;outline:none;transition:.2s}
#ppd-app input:focus,#ppd-app textarea:focus,#ppd-app select:focus{border-color:#df83ae;box-shadow:0 0 0 4px rgba(233,95,157,.1)}
.ppd-mini-message{margin-top:10px;background:var(--blush);padding:10px 12px;border-radius:12px;color:var(--pink-dark);font-size:12px}
.ppd-timer{font-size:42px;font-weight:900;letter-spacing:2px;text-align:center;padding:20px;background:linear-gradient(135deg,var(--lav),var(--blush));border-radius:20px;color:var(--purple)}
.ppd-muted{color:var(--muted)}.ppd-text-btn{border:0;background:transparent;color:var(--pink-dark);font-weight:800;cursor:pointer}
.ppd-phase-progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.ppd-progress-line{padding:12px;border-radius:15px;background:#fff9fc}.ppd-progress-line-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}
.ppd-progress-track,.ppd-large-progress div{height:9px;border-radius:999px;background:#f2e4ec;overflow:hidden}.ppd-progress-track span,.ppd-large-progress div span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),#9c6dde);border-radius:inherit;transition:.3s}
.ppd-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ppd-roadmap div{padding:14px;border-radius:15px;background:linear-gradient(135deg,#fff6fa,#f7f2ff);border:1px dashed #e8bfd3}
.ppd-roadmap b,.ppd-roadmap span{display:block}.ppd-roadmap b{color:var(--pink-dark);font-size:12px}.ppd-roadmap span{font-size:13px;margin-top:4px}
.ppd-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 22px}.ppd-section-intro h2{font-size:32px;margin:10px 0 4px}.ppd-section-intro p{margin:0;color:var(--muted)}
.ppd-date-card{background:#fff;border-radius:18px;padding:13px 18px;box-shadow:var(--shadow);text-align:right}.ppd-date-card span,.ppd-date-card strong{display:block}.ppd-date-card span{font-size:12px;color:var(--muted)}.ppd-date-card strong{font-size:23px;color:var(--pink-dark)}
.ppd-check-list{display:flex;flex-direction:column;gap:9px}.ppd-check-item{display:flex;align-items:center;gap:11px;padding:12px;border-radius:14px;background:#fff9fc;border:1px solid #f4e3ec}
.ppd-check-item.done{opacity:.68}.ppd-check-item.done .ppd-check-text{text-decoration:line-through}.ppd-check-item input[type=checkbox]{width:20px!important;height:20px;accent-color:var(--pink)}
.ppd-check-text{flex:1;font-size:13px}.ppd-remove-btn{border:0;background:transparent;color:#b98a9e;cursor:pointer;font-size:18px}
.ppd-inline-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:14px}.ppd-label{display:block;font-size:12px;font-weight:800;margin:14px 0 6px}.ppd-select{min-height:44px}
.ppd-timetable-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ppd-day-card{background:rgba(255,255,255,.94);padding:18px;border-radius:22px;border:1px solid rgba(185,60,120,.11);box-shadow:0 12px 30px rgba(82,45,72,.07)}
.ppd-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ppd-day-head h3{margin:0}.ppd-day-slots{display:flex;flex-direction:column;gap:8px}
.ppd-slot{display:grid;grid-template-columns:105px 1fr 30px;gap:7px}.ppd-slot input{padding:9px 10px!important;font-size:12px}
.ppd-add-slot{width:100%;margin-top:10px}
.ppd-large-progress{min-width:220px}.ppd-large-progress strong{display:block;text-align:right;margin-bottom:7px;color:var(--pink-dark)}
.ppd-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.82);padding:12px;border-radius:17px;margin-bottom:15px;border:1px solid rgba(185,60,120,.1)}
.ppd-toolbar input{flex:1;min-width:220px}.ppd-toolbar select{width:auto;min-width:170px}
.ppd-accordion-stack{display:flex;flex-direction:column;gap:13px}.ppd-accordion{background:rgba(255,255,255,.94);border-radius:20px;border:1px solid rgba(185,60,120,.11);box-shadow:0 10px 27px rgba(82,45,72,.06);overflow:hidden}
.ppd-accordion-head{width:100%;border:0;background:transparent;padding:17px 18px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:var(--ink)}
.ppd-accordion-title{flex:1}.ppd-accordion-title strong{display:block}.ppd-accordion-title small{color:var(--muted)}
.ppd-mini-bar{width:120px;height:8px;background:#f1e3eb;border-radius:999px;overflow:hidden}.ppd-mini-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),#936dd4)}
.ppd-chevron{font-size:18px;transition:.2s}.ppd-accordion.open .ppd-chevron{transform:rotate(180deg)}
.ppd-accordion-body{display:none;padding:0 18px 18px}.ppd-accordion.open .ppd-accordion-body{display:block}
.ppd-group-title{font-size:12px;color:var(--pink-dark);text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px}
.ppd-problem-row{display:grid;grid-template-columns:26px minmax(180px,1fr) 125px 150px;align-items:center;gap:9px;padding:10px;border-radius:13px;border-bottom:1px solid #f4e7ee}
.ppd-problem-row:hover{background:#fff8fc}.ppd-problem-row input[type=checkbox]{width:19px!important;height:19px;accent-color:var(--pink)}
.ppd-problem-name{font-size:13px}.ppd-difficulty{font-size:11px;padding:5px 8px;border-radius:999px;background:var(--lav);color:var(--purple);text-align:center}
.ppd-problem-row select{padding:7px 8px!important;font-size:11px}.ppd-problem-row.hidden,.ppd-syllabus-row.hidden,.ppd-syllabus-group.hidden{display:none}
.ppd-syllabus-group{margin:13px 0;padding:13px;border-radius:16px;background:#fff9fc}.ppd-syllabus-group h4{margin:0 0 8px;font-size:14px;color:var(--pink-dark)}
.ppd-syllabus-row{display:grid;grid-template-columns:25px 1fr 125px;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px dashed #ecdce5}
.ppd-syllabus-row:last-child{border-bottom:0}.ppd-syllabus-row input{width:18px!important;height:18px;accent-color:var(--pink)}.ppd-syllabus-row span{font-size:12.5px}
.ppd-syllabus-row select{padding:6px!important;font-size:11px}.ppd-source-note{margin:9px 0 0;padding:10px;border-radius:12px;background:var(--lav);font-size:11px;color:var(--purple)}
.ppd-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ppd-form-grid button{grid-column:span 1}.mistake-grid textarea{min-height:90px;grid-column:span 2}
.ppd-table-card{padding-bottom:12px}.ppd-table-wrap{overflow:auto}.ppd-table{width:100%;border-collapse:collapse;min-width:760px}.ppd-table th,.ppd-table td{padding:11px 9px;text-align:left;border-bottom:1px solid #f0e1ea;font-size:12px}.ppd-table th{color:var(--pink-dark);font-size:11px}
.ppd-table a{color:var(--pink-dark);font-weight:800}.ppd-count-pill{background:var(--blush);padding:7px 10px;border-radius:999px;color:var(--pink-dark);font-size:11px}
.ppd-empty{text-align:center;padding:25px;color:var(--muted);background:rgba(255,255,255,.75);border-radius:18px}
.ppd-note-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.ppd-mistake-card{background:#fff;border-radius:20px;padding:18px;border:1px solid #edd7e3;box-shadow:0 10px 27px rgba(82,45,72,.06)}
.ppd-mistake-card h3{margin:0 0 3px}.ppd-mistake-card small{color:var(--muted)}.ppd-mistake-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.ppd-mistake-columns div{padding:11px;border-radius:13px;background:#fff8fc;font-size:12px}.ppd-mistake-columns b{display:block;color:var(--pink-dark);margin-bottom:5px}
.ppd-private-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ppd-wish-card{background:linear-gradient(135deg,#fff,#fff2f8)}
.ppd-journal{background-image:repeating-linear-gradient(transparent,transparent 31px,#f3dce7 32px);line-height:32px;padding-top:8px!important}
.ppd-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ppd-setting-icon{font-size:34px}.ppd-settings-grid p{color:var(--muted);min-height:48px}
.ppd-file-btn input{display:none}.danger-card{border-color:#f0cad3}.ppd-security-card{background:linear-gradient(135deg,#fff,#faf4ff)}.ppd-security-card li{margin-bottom:8px}.ppd-security-card p{padding:12px;border-radius:13px;background:#fff0f4;color:#8f405b}
.ppd-toast{position:fixed;right:22px;bottom:22px;background:#3d2b3a;color:#fff;padding:11px 16px;border-radius:999px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:100}
.ppd-toast.show{opacity:1;transform:none}
@media(max-width:1100px){#ppd-app{grid-template-columns:220px minmax(0,1fr)}.ppd-stat-grid{grid-template-columns:repeat(2,1fr)}.ppd-roadmap{grid-template-columns:repeat(3,1fr)}.ppd-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){#ppd-app{display:block}.ppd-sidebar{position:fixed;left:-280px;width:260px;transition:.25s;box-shadow:20px 0 50px rgba(67,39,61,.15)}.ppd-sidebar.open{left:0}.ppd-main{padding:18px 14px 40px}.ppd-menu-btn{display:inline-grid;place-items:center}.ppd-save-pill{display:none}.ppd-hero{grid-template-columns:1fr}.ppd-progress-orb{width:145px;height:145px}.ppd-dashboard-grid,.ppd-private-grid,.ppd-settings-grid,.ppd-timetable-grid{grid-template-columns:1fr}.ppd-section-intro{align-items:flex-start;flex-direction:column}.ppd-large-progress{width:100%}.ppd-roadmap{grid-template-columns:repeat(2,1fr)}.ppd-problem-row{grid-template-columns:25px 1fr}.ppd-problem-row .ppd-difficulty,.ppd-problem-row select{grid-column:2}.ppd-syllabus-row{grid-template-columns:24px 1fr}.ppd-syllabus-row select{grid-column:2}.ppd-phase-progress-grid{grid-template-columns:1fr}.ppd-note-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ppd-stat-grid{grid-template-columns:1fr}.ppd-roadmap{grid-template-columns:1fr}.ppd-form-grid{grid-template-columns:1fr}.mistake-grid textarea{grid-column:auto}.ppd-hero{padding:23px}.ppd-topbar h1{font-size:22px}.ppd-section-intro h2{font-size:27px}.ppd-slot{grid-template-columns:82px 1fr 28px}}

.ppd-runtime-warning{margin:14px;padding:14px 16px;border:1px solid #d93c76;border-radius:14px;background:#fff0f6;color:#7c1d43;font-weight:700;line-height:1.5}
