.ppm-app{max-width:1100px;margin:30px auto;padding:clamp(16px,3vw,32px);background:#f6f3ea;color:#24302d;border:3px solid #293a35;box-shadow:8px 8px 0 #293a35;font-family:system-ui,sans-serif}.ppm-app *{box-sizing:border-box}.ppm-intro{margin-bottom:24px}.ppm-kicker,.ppm-preview-label{font-size:11px;font-weight:800;letter-spacing:.16em;color:#7d6750}.ppm-intro h2{font-size:clamp(25px,4vw,38px);margin:8px 0;color:#263d36}.ppm-intro p{color:#62645c}.ppm-layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(280px,1.15fr);gap:24px;align-items:start}.ppm-controls{display:grid;gap:14px}.ppm-panel{background:#fffdf6;border:2px solid #303d37;padding:16px;box-shadow:4px 4px 0 #d4cbb8}.ppm-panel h3{font-size:15px;margin:0 0 12px}.ppm-panel label{display:block;font-size:12px;font-weight:700;margin:12px 0}.ppm-panel select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #aaa18e;border-radius:0;background:white;color:#242c29}.ppm-note{font-size:12px;color:#77766d;line-height:1.5}.ppm-save{border:2px solid #243b34;background:#294d40;color:white;padding:14px;font-weight:800;cursor:pointer;box-shadow:4px 4px 0 #b4a58a}.ppm-save:disabled{opacity:.6}.ppm-status{min-height:20px;font-size:13px;font-weight:700;color:#286246}.ppm-preview-col{background:#e6dfce;border:2px dashed #b7aa91;padding:16px;min-width:0}.ppm-preview-label{text-align:center;margin-bottom:16px}.ppm-passport-wrap{display:flex;justify-content:center}.ppm-book{width:100%;max-width:580px;display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.55;filter:drop-shadow(7px 8px 0 rgba(47,43,34,.2))}.ppm-cover,.ppm-inside{position:relative;overflow:hidden;min-width:0}.ppm-cover{background:var(--ppm-cover,#254c46);color:#e8d7a7;border:3px solid #1e332e;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center}.ppm-cover-top{font-size:clamp(8px,1.5vw,12px);letter-spacing:.12em;font-weight:800}.ppm-emblem{font-size:clamp(30px,6vw,54px);margin:8px 0}.ppm-cover-title{font:clamp(19px,3.5vw,34px) Georgia,serif;letter-spacing:.12em}.ppm-cover-sub{font-size:clamp(8px,1.4vw,11px);letter-spacing:.24em;margin-top:8px}.ppm-chip{position:absolute;bottom:12px;font-size:20px;border:1px solid #c9bb8e;border-radius:4px;padding:1px 8px}.ppm-inside{background:#f6f0df;border:3px solid #c8bda4;color:#344039;padding:clamp(8px,2vw,18px);display:flex;flex-direction:column}.ppm-heading{text-align:center;font:clamp(8px,1.5vw,12px) Georgia,serif;letter-spacing:.13em;border-bottom:1px solid #c9bfa9;padding-bottom:7px}.ppm-identity{display:flex;gap:10px;align-items:center;flex:1;min-height:0}.ppm-avatar{width:36%;max-width:120px;height:auto;image-rendering:pixelated;background:#e9e2d2;border:2px solid #b9ae96}.ppm-details{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.ppm-details span{font-size:clamp(6px,1vw,8px);letter-spacing:.1em;color:#8b806a;margin-top:3px}.ppm-details strong{font-size:clamp(7px,1.3vw,11px);overflow-wrap:anywhere}.ppm-mrz{font:clamp(6px,1vw,9px) monospace;white-space:nowrap;overflow:hidden;border-top:1px solid #c9bfa9;padding-top:7px}.ppm-footer{text-align:center;font-size:clamp(6px,1vw,8px);color:#8b806a;margin-top:5px}.ppm-notice{padding:14px;border:1px solid #d5c8ad;background:#fff9e9}@media(max-width:760px){.ppm-layout{grid-template-columns:1fr}.ppm-preview-col{order:-1}}@media(max-width:420px){.ppm-app{padding:12px}.ppm-book{aspect-ratio:1.25}.ppm-inside{padding:7px}.ppm-identity{gap:5px}}