.pf-fab{position:fixed;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:80;border:1px solid rgba(255,255,255,.45);border-radius:18px;padding:11px 14px;background:rgba(6,25,43,.82);color:#fff;font:700 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;backdrop-filter:blur(18px);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.pf-toast{position:fixed;left:50%;bottom:calc(145px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:100;background:rgba(5,25,42,.94);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:15px;padding:11px 15px;font:600 12px -apple-system;opacity:0;pointer-events:none;transition:.25s}.pf-toast.show{opacity:1;transform:translate(-50%,0)}
.pf-modal{position:fixed;inset:0;z-index:120;display:none;align-items:flex-end;justify-content:center;background:rgba(0,7,17,.55)}.pf-modal.open{display:flex}.pf-sheet{width:min(100%,480px);max-height:88vh;overflow:auto;border-radius:28px 28px 0 0;padding:20px 16px calc(22px + env(safe-area-inset-bottom));background:rgba(6,24,42,.97);border:1px solid rgba(255,255,255,.26);color:#fff;backdrop-filter:blur(30px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pf-sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pf-sheet h2{margin:0;font-size:22px}.pf-close{border:0;border-radius:50%;width:36px;height:36px;background:rgba(255,255,255,.12);color:#fff;font-size:20px}.pf-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.pf-tab{border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.06);color:#dcecff;padding:9px 12px;white-space:nowrap}.pf-tab.active{background:rgba(67,231,255,.17);border-color:#43e7ff;color:#fff}.pf-panel{display:none}.pf-panel.active{display:block}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pf-field{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}.pf-field.full{grid-column:1/-1}.pf-field label{font-size:11px;color:#bcd1df}.pf-field input,.pf-field select{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;padding:12px;font-size:15px}.pf-actions{display:flex;gap:9px;margin-top:14px}.pf-primary,.pf-secondary{flex:1;border-radius:14px;padding:12px;border:1px solid rgba(255,255,255,.25);font-weight:700}.pf-primary{background:linear-gradient(90deg,#43ddec,#9e70ff);color:#071421}.pf-secondary{background:rgba(255,255,255,.08);color:#fff}.pf-result{margin-top:14px;border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:14px;background:rgba(255,255,255,.06)}.pf-result strong{font-size:24px;display:block;margin:5px 0}.pf-result small{color:#bcd1df}.pf-link{cursor:pointer}


/* v0.31 usability upgrade */
.pf-clickable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,filter .16s ease}
.pf-clickable:active{transform:scale(.985);filter:brightness(1.12)}
.pf-clickable:focus-visible{outline:2px solid #43e7ff;outline-offset:3px}
.pf-start-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 16px}.pf-start-strip a,.pf-tool-grid a,.pf-inline-ask{border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(36,218,255,.25),rgba(139,89,255,.22));color:#fff;text-decoration:none;border-radius:18px;padding:14px;font-weight:800;text-align:center;box-shadow:inset 0 1px rgba(255,255,255,.16)}
.pf-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.pf-tool-grid a{min-height:72px;display:grid;place-items:center}.pf-inline-ask{display:block;margin:14px 0 0}
.pf-page{max-width:760px;margin:auto;padding:calc(env(safe-area-inset-top) + 22px) 20px 110px;color:#f6fbff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif}.pf-page .back{display:inline-block;color:#bfefff;text-decoration:none;margin-bottom:18px}.pf-page .card{background:rgba(5,28,51,.72);border:1px solid rgba(255,255,255,.22);border-radius:26px;padding:22px;margin:14px 0;backdrop-filter:blur(18px);box-shadow:0 20px 55px rgba(0,0,0,.25)}.pf-page h1{font-size:36px;margin:8px 0}.pf-page h2{margin-top:0}.pf-page p,.pf-page li{color:#d5e1ee;line-height:1.5}.pf-page input,.pf-page select,.pf-page textarea{width:100%;background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:13px;font-size:16px}.pf-page label{display:block;margin:12px 0 6px;color:#bcd0e5}.pf-page button,.pf-page .button{display:block;width:100%;border:0;border-radius:16px;padding:15px;background:linear-gradient(90deg,#43dff4,#9b65ff);font-size:17px;font-weight:900;color:#06182a;text-align:center;text-decoration:none;margin-top:14px}.pf-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pf-page .metric{background:rgba(255,255,255,.06);padding:15px;border-radius:18px}.pf-page .metric b{display:block;font-size:24px}.pf-page .chatlog{display:grid;gap:12px}.pf-page .bubble{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08)}.pf-page .bubble.user{margin-left:20%;background:rgba(67,223,244,.18)}
@media(max-width:520px){.pf-page .grid,.pf-tool-grid{grid-template-columns:1fr 1fr}.pf-page h1{font-size:31px}}


/* v0.32 premium UX */
.pf-backbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;position:relative;z-index:8}.pf-backbar button,.pf-backbar a{width:auto!important;margin:0!important;padding:10px 13px!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:14px!important;background:rgba(4,24,43,.66)!important;color:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:750!important;backdrop-filter:blur(18px)}
.pf-global-nav{z-index:90}.pf-page{padding-bottom:150px}.pf-page .card{background:linear-gradient(145deg,rgba(7,34,59,.78),rgba(14,23,54,.68));border-color:rgba(255,255,255,.25)}
.pf-ask-fab{position:fixed;right:15px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:108;border:1px solid rgba(255,255,255,.48);border-radius:22px;padding:12px 15px;background:linear-gradient(135deg,rgba(21,198,226,.94),rgba(120,76,235,.96));color:#fff;font:850 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 16px 38px rgba(0,8,25,.42),inset 0 1px rgba(255,255,255,.33)}.pf-ask-fab span{margin-left:5px}.pf-fab{right:auto;left:15px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:107}
.pf-ask-overlay{position:fixed;inset:0;z-index:180;display:none;align-items:flex-end;justify-content:center;background:rgba(0,8,20,.62)}.pf-ask-overlay.open{display:flex}.pf-ask-sheet{width:min(100%,520px);height:min(82vh,720px);display:flex;flex-direction:column;border-radius:30px 30px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(165deg,rgba(5,31,53,.985),rgba(18,15,48,.985));border:1px solid rgba(255,255,255,.28);color:#fff;box-shadow:0 -30px 80px rgba(0,0,0,.48);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pf-ask-head{display:flex;justify-content:space-between;gap:12px}.pf-ask-head h2{font-size:27px;margin:3px 0}.pf-ask-head small{color:#7feaff;font-weight:800;letter-spacing:.08em}.pf-ask-head p{color:#cbd9e8;margin:0 0 12px}.pf-ask-close{border:0;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:22px}.pf-ask-suggestions{display:flex;gap:8px;overflow:auto;padding:4px 0 11px}.pf-ask-suggestions button{flex:0 0 auto;border:1px solid rgba(122,231,255,.35);border-radius:15px;padding:9px 11px;background:rgba(67,223,244,.10);color:#eafcff}.pf-chat{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:8px 2px}.pf-ai-msg,.pf-user-msg{max-width:88%;padding:13px 15px;border-radius:18px;line-height:1.45}.pf-ai-msg{align-self:flex-start;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}.pf-user-msg{align-self:flex-end;background:linear-gradient(135deg,rgba(40,209,232,.25),rgba(133,83,239,.26));border:1px solid rgba(98,224,244,.26)}.pf-ask-form{display:flex;gap:8px}.pf-ask-form input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:13px;background:rgba(255,255,255,.08);color:#fff;font-size:16px}.pf-ask-form button{border:0;border-radius:16px;padding:0 17px;background:linear-gradient(90deg,#43dff4,#9b65ff);color:#06182a;font-weight:900}.pf-ai-status{display:block;text-align:center;color:#91a8ba;margin-top:9px}
.pf-onboard{max-width:640px}.pf-onboard .intro{text-align:center;padding:28px 22px}.pf-onboard .intro .mark{font-size:42px}.pf-progress-wrap{margin:14px 0 4px}.pf-progress-label{display:flex;justify-content:space-between;color:#bcd0e4;font-size:12px}.pf-progress-track{height:7px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:7px}.pf-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#43e7ff,#aa6cff);transition:width .3s ease}.pf-step{animation:pfIn .25s ease}.pf-step h2{font-size:28px;margin-bottom:7px}.pf-step .lead{color:#d2dfeb;margin:0 0 18px}.pf-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pf-choice{position:relative}.pf-choice input{position:absolute;opacity:0}.pf-choice span{display:block;border:1px solid rgba(255,255,255,.22);border-radius:17px;padding:14px;background:rgba(255,255,255,.06);text-align:center;font-weight:750}.pf-choice input:checked+span{border-color:#59e6ff;background:rgba(59,218,240,.16);box-shadow:0 0 0 2px rgba(67,231,255,.1)}.pf-help{font-size:13px;color:#b9cde0;background:rgba(255,255,255,.055);border-radius:14px;padding:11px;margin:8px 0}.pf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.pf-field-full{grid-column:1/-1}.pf-onboard-actions{display:flex;gap:10px}.pf-onboard-actions .secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2)}.pf-expense-total{font-size:28px;font-weight:900;color:#70f0ff}.pf-complete{text-align:center}.pf-complete .celebrate{font-size:55px}@keyframes pfIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:520px){.pf-form-grid{grid-template-columns:1fr}.pf-field-full{grid-column:auto}.pf-choice-grid{grid-template-columns:1fr 1fr}.pf-ask-fab span{display:inline}.pf-onboard .card{padding:18px}}
