@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap";:root{--bg: #fafafa;--bg-strong: #f3f4f6;--card: #ffffff;--ink: #11181c;--muted: #6b7280;--accent: #8dc63f;--accent-strong: #589b43;--accent-warm: #fdce07;--secondary: #004d8d;--danger: #d75555;--ring: rgba(141, 198, 63, .35);--shadow: 0 12px 28px rgba(0, 0, 0, .08);--border: #e5e7eb;--border-strong: #d1d5db;--surface-muted: #f3f4f6;--button-primary: #8dc63f;--button-primary-hover: #7fb336;--button-outline: rgba(141, 198, 63, .6);--battery-frame: #004d8d;--font-display: "Noto Sans", sans-serif;--font-body: "Noto Sans", sans-serif}*{box-sizing:border-box}html{height:100%;width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);min-height:100vh;width:100%;height:100%;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation}html.app-no-scroll,body.app-no-scroll{height:100%;overflow:hidden;overscroll-behavior:none}body.app-no-scroll{position:fixed;inset:0;width:100%;max-width:100%}#root{min-height:100%}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100%;padding:32px clamp(20px,4vw,60px) 60px;gap:24px}.app-shell.in-progress{padding:calc(16px + env(safe-area-inset-top,0)) calc(16px + env(safe-area-inset-right,0)) calc(24px + env(safe-area-inset-bottom,0)) calc(16px + env(safe-area-inset-left,0));gap:16px;height:100vh;height:100svh;height:100dvh;min-height:100vh;min-height:100svh;min-height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;flex-direction:column;gap:6px}.brand h1{font-family:var(--font-display);font-size:clamp(24px,3vw,36px);margin:0}.brand p{margin:0;color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:13px;background:#8dc63f2e;color:var(--accent-strong)}.panel{background:var(--card);border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow);border:1px solid var(--border)}.panel.full-bleed{background:transparent;border:none;box-shadow:none;padding:0}.activity-pane{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0;width:100%;max-width:100%}.activity-pane.in-progress{flex:1;min-height:0}.app-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:0;align-self:flex-end}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%}.app-header-slot{display:flex;align-items:center;gap:12px;min-height:32px}.app-header-left{justify-content:flex-start}.app-header-center{display:flex;justify-content:center}.app-header-right{justify-content:flex-end;position:relative}.app-logo-button{border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.app-logo{height:38px;width:auto;max-width:120px;object-fit:contain}.login-logo{display:flex;justify-content:center;margin-bottom:16px}.login-logo img{height:52px;width:auto;max-width:200px;object-fit:contain}.header-menu{position:relative;display:flex;align-items:center}.header-menu-button{border:1px solid var(--border);background:#fff;color:var(--secondary);width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 14px #00000014}.header-menu-button:hover{border-color:var(--border-strong);color:var(--ink)}.header-menu-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.header-menu-icon{width:18px;height:18px}.header-menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:4px;max-height:0;opacity:0;transform:translateY(-6px);pointer-events:none;overflow:hidden;transition:max-height .2s ease,opacity .2s ease,transform .2s ease;z-index:20}.header-menu-panel.open{max-height:320px;opacity:1;transform:translateY(0);pointer-events:auto}.header-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:none;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.header-menu-item:hover{background:var(--surface-muted)}.header-menu-item:disabled{opacity:.5;cursor:not-allowed}.header-menu-item.sign-out{color:var(--danger)}.header-menu-item-icon{width:18px;height:18px;flex-shrink:0}.header-menu-divider{height:1px;background:var(--border);margin:6px 4px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-title{font-family:var(--font-body);font-size:20px;font-weight:700;margin:0 0 6px}.panel-subtitle{margin:0;color:var(--muted)}.pending-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.pending-card{padding:18px;border-radius:18px;border:1px solid var(--border);background:#fff;box-shadow:0 8px 18px #0000000f;display:flex;flex-direction:column;gap:12px}.pending-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.pill{padding:4px 10px;border-radius:999px;background:#8dc63f29;color:var(--accent-strong);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.button{appearance:none;border:none;border-radius:999px;padding:14px 28px;min-height:54px;font-family:var(--font-body);font-weight:600;font-size:16px;cursor:pointer;background:var(--button-primary);color:#fff;transition:background .2s ease,border-color .2s ease,color .2s ease;box-shadow:none}.button:hover{transform:none}.button:not(.secondary):not(.ghost):hover{background:var(--button-primary-hover)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.link-button{appearance:none;background:transparent;border:none;color:var(--muted);font-weight:600;cursor:pointer;padding:0;text-align:left}.link-button.subtle{font-size:12px;color:var(--muted);opacity:1}.link-button.subtle:hover{opacity:1;color:var(--ink)}.link-button:disabled{color:var(--muted);cursor:not-allowed}.button.secondary{background:#fff;color:var(--ink);border:1.5px solid var(--button-primary);box-shadow:none}.button.secondary:hover{background:#8dc63f1f}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--border);box-shadow:none}.button.ghost:hover{background:#11181c0a}.section{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.section-title{font-family:var(--font-body);font-size:18px;font-weight:700;margin:0}.section-note{margin:0;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.card-tile{appearance:none;border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fff;cursor:pointer;text-align:left;transition:border .2s ease,box-shadow .2s ease}.card-tile:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.card-tile.selected{border-color:var(--button-primary);box-shadow:0 10px 20px #8dc63f33}.card-type{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.type-dot{width:10px;height:10px;border-radius:999px}.card-title{font-family:var(--font-display);font-weight:600}.card-desc{font-size:13px;color:var(--muted)}.radio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.radio-item{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;background:#fff}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:15px;font-weight:600;color:#4b5563}.input,.textarea,.range{font-family:var(--font-body);font-size:15px}.input,.textarea{border:1px solid var(--border-strong);border-radius:12px;padding:14px 16px;background:var(--surface-muted);outline:none}.input:focus,.textarea:focus,.range:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.passcode-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.passcode-cell{width:100%;min-width:40px;height:56px;border-radius:14px;border:2px solid var(--border-strong);text-align:center;font-size:18px;font-weight:600;background:var(--surface-muted)}.passcode-cell.active,.passcode-cell:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--ring)}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.password-requirements{border-radius:16px;background:var(--surface-muted);border:1px solid var(--border);padding:14px;display:grid;gap:8px}.requirement{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:600}.requirement.met{color:var(--ink)}.requirement-dot{width:18px;height:18px;border-radius:999px;background:var(--border-strong);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.requirement.met .requirement-dot{background:var(--accent)}.textarea{min-height:120px;resize:vertical}.slider-row{display:flex;align-items:center;gap:12px}.range{width:100%}input[type=range]:not(.rating-range),input[type=radio]{accent-color:var(--accent)}.value-pill{min-width:60px;text-align:center;padding:6px 10px;border-radius:999px;background:#8dc63f2e;color:var(--accent-strong);font-weight:600}.error-banner{padding:12px 16px;border-radius:14px;background:#d755551f;color:#9f2a2a;font-size:14px}.success-banner{padding:12px 16px;border-radius:14px;background:#8dc63f26;color:#2f5512;font-size:14px}.code-block{margin:16px 0 0;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px dashed var(--border);font-size:13px;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;overflow-x:auto}.success-card{text-align:center;padding:32px;background:#fff;border-radius:22px;border:1px solid var(--border);box-shadow:0 8px 18px #0000000f}.pending-empty-stack{display:flex;flex-direction:column;gap:16px}.pending-recent{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted)}.animate-in{animation:rise .6s ease both}.energy-flow{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0;position:relative}.flow-alerts{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:min(72%,520px);z-index:4}.flow-alert{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#d755551f;color:#9f2a2a;font-size:13px;font-weight:600;box-shadow:0 6px 16px #00000014}.flow-alert-dismiss{appearance:none;border:none;background:#11181c1a;color:currentColor;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.flow-alert-dismiss svg{width:12px;height:12px}.energy-flow .flow-footer{margin-top:auto}.energy-flow.step-1 .section,.energy-flow.step-2 .section,.energy-flow.step-3 .section{flex:1;justify-content:center}.energy-flow.step-4:not(.summary-review) .section,.energy-flow.step-5 .section{flex:1;justify-content:flex-start;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.energy-flow.step-2 .section{justify-content:flex-start}.energy-flow.step-0 .selection-step,.energy-flow.step-0 .deck-grid-pan{flex:1;min-height:0}.stepper{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.step-count{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.step-dots{display:flex;gap:6px;padding-top:6px}.step-dot{width:10px;height:10px;border-radius:999px;background:var(--border-strong)}.step-dot.active{background:var(--accent)}.selection-step{position:relative}.selection-step.selection-complete .deck-button:not(.selected) .deck-card{filter:grayscale(1);opacity:.55;box-shadow:none}.context-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#11181c73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5}.context-modal{background:#fff;border-radius:24px;padding:28px 32px;max-width:520px;width:min(90%,520px);border:1px solid var(--border);box-shadow:0 20px 40px #0000002e;display:flex;flex-direction:column;gap:20px;text-align:center;max-height:min(80vh,620px)}.context-scroll{display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0;padding-right:4px}.context-title{margin:0 0 6px;font-family:var(--font-display);font-size:18px}.context-text{margin:0;color:var(--muted)}.context-body{margin:0;color:var(--ink);font-weight:600;line-height:1.5;white-space:pre-wrap}.context-body.muted{color:var(--muted);font-weight:500}.selected-row{display:grid;grid-template-columns:repeat(5,minmax(60px,1fr));gap:12px;align-items:center}.need-overlay{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:min(94vw,500px);padding:18px 88px 20px 22px;border-radius:28px;box-shadow:0 20px 40px #00000038;display:flex;align-items:flex-start;gap:16px;z-index:4}.need-overlay-content{flex:1;display:flex;flex-direction:column;gap:12px}.need-overlay-title{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.2px}.need-overlay-description{border-radius:18px;padding:12px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.need-overlay-text{margin:0;font-size:14px;line-height:1.45}.need-overlay-add{position:absolute;right:18px;bottom:18px;width:58px;height:58px;border-radius:999px;border:none;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:500;line-height:1;box-shadow:0 10px 20px #0003;cursor:pointer}.need-overlay-add:disabled{opacity:.55;cursor:not-allowed}.pinned-row{position:sticky;top:0;z-index:3;padding:12px;margin:-12px -12px 8px;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;border:1px solid var(--border)}.selection-note{margin-top:8px}.selected-slot{position:relative;appearance:none;display:flex;align-items:center;justify-content:center;min-height:86px;padding:6px;border:1px dashed var(--border-strong);border-radius:14px;background:#ffffffd9;cursor:pointer}.selected-slot:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.selected-slot.filled{border-style:solid;padding:4px}.slot-placeholder{font-size:24px;color:var(--muted)}.slot-remove{position:absolute;top:6px;left:6px;background:#0006;color:#fff;border-radius:999px;font-size:11px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;z-index:2}.deck-grid{display:grid;grid-template-columns:repeat(5,var(--deck-card-size, 120px));grid-template-rows:repeat(5,var(--deck-card-size, 120px));grid-auto-rows:var(--deck-card-size, 120px);gap:var(--deck-card-gap, 14px);width:max-content;margin:0 auto}.deck-grid-pan{position:relative;--deck-card-size: 120px;--deck-card-gap: 14px}.deck-grid-pan.pan-enabled{width:100%;overflow:auto;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none;overscroll-behavior:contain;scrollbar-width:none;scroll-behavior:auto;-webkit-overflow-scrolling:touch}.deck-grid-pan.pan-enabled::-webkit-scrollbar{display:none}.deck-grid.pan-grid{cursor:grab}.deck-grid-pan.pan-enabled.is-dragging,.deck-grid-pan.pan-enabled.is-dragging .deck-grid.pan-grid{cursor:grabbing}.deck-button{position:relative;appearance:none;-webkit-appearance:none;border:none;padding:0;background:transparent;cursor:pointer;transition:transform .2s ease}.deck-button:focus-within{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:18px}.deck-button.selected{transform:translateY(-2px)}.deck-button.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:8;transition:transform .3s ease,width .3s ease,height .3s ease;cursor:default}.deck-button.selected.expanded{transform:translate(-50%,-50%)}.deck-button.selected .deck-card{filter:grayscale(1);box-shadow:none}.selection-step.replace-mode.selection-complete .deck-button:not(.selected) .deck-card{filter:none;opacity:1;box-shadow:0 6px 14px #0000001f}.selection-step.replace-mode .deck-button.selected .deck-card{filter:grayscale(1);opacity:.6;box-shadow:none}.flip-backdrop{position:fixed;inset:0;background:#11181c73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;padding:0;cursor:pointer;z-index:6}.flip-card{position:relative;width:100%;aspect-ratio:1 / 1;min-height:160px;perspective:1200px;-webkit-perspective:1200px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .55s ease}.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}.flip-card.is-flipped .flip-front{pointer-events:none;z-index:1}.flip-card.is-flipped .flip-back{pointer-events:auto;z-index:2}.flip-face{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;transform:translateZ(0)}.flip-front{z-index:2;appearance:none;border:none;background:transparent;padding:0;cursor:pointer}.flip-front:focus{outline:none}.flip-back{z-index:1;transform:rotateY(180deg);border:1px solid var(--border);box-shadow:0 16px 32px #0003;padding:16px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;text-align:center;overflow:hidden;pointer-events:none}.flip-back-content{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:auto;padding-right:4px;text-align:center;align-items:center}.flip-title{margin:0;font-family:var(--font-display);font-size:18px}.flip-description{margin:0;color:inherit;font-size:13px;opacity:.85}.flip-back-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%}.flip-back-footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;width:100%}.flip-hint{margin:0;color:inherit;font-size:12px;opacity:.8}.deck-card{position:relative;display:flex;align-items:center;justify-content:center;padding:2px;text-align:center;font-family:var(--font-body);box-shadow:0 6px 14px #0000001f}.deck-card.dealbreaker{outline:2px solid rgba(255,255,255,.6);outline-offset:-6px}.deck-card-label{font-weight:600;line-height:1.15;z-index:2;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:normal}.deck-card-line{display:block;white-space:nowrap}.deck-card-star{position:absolute;top:50%;left:50%;width:78%;height:78%;transform:translate(-50%,-50%);opacity:.55;pointer-events:none;z-index:1}.dealbreaker-grid{display:flex;flex-wrap:nowrap;gap:var(--dealbreaker-gap, 16px);justify-content:center;align-items:center;overflow:hidden;width:100%}.dealbreaker-section{align-items:center;text-align:center;gap:22px;flex:1;width:100%}.dealbreaker-header{display:flex;flex-direction:column;gap:10px;max-width:520px}.dealbreaker-title{margin:0;font-family:var(--font-body);font-size:24px;font-weight:700;color:var(--ink)}.dealbreaker-title-strong{font-weight:700}.dealbreaker-title-star{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;font-size:14px;margin:0 2px 0 4px;color:var(--accent-strong)}.dealbreaker-note{margin:0;color:var(--muted);font-size:16px;line-height:1.45}.dealbreaker-grid.vertical{flex-direction:column}.dealbreaker-grid.horizontal{flex-direction:row}.dealbreaker-card{appearance:none;border:none;background:transparent;border-radius:0;padding:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:box-shadow .2s ease}.dealbreaker-card:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.dealbreaker-card.selected{box-shadow:0 10px 22px #8dc63f33;transform:none}.dealbreaker-label{font-weight:600;text-align:center}.dealbreaker-grid.vertical .dealbreaker-label{display:none}.flow-footer.dealbreaker-footer{justify-content:space-between;padding-top:16px}.battery-section{display:grid;grid-template-columns:minmax(220px,320px) minmax(180px,1fr);grid-template-areas:"header header" "battery legend";gap:18px 24px;align-items:center}.battery-header{grid-area:header;display:flex;flex-direction:column;gap:8px;text-align:center}.battery-title{margin:0;font-family:var(--font-body);font-size:24px;font-weight:700;color:var(--ink)}.battery-note{margin:0;color:var(--muted);font-size:17px;line-height:1.5}.battery-note-strong{font-weight:700;color:var(--ink)}.battery-display{grid-area:battery;display:flex;justify-content:center}.battery-shell{display:flex;align-items:center;justify-content:center}.battery-shape{position:relative;display:flex;justify-content:center;align-items:flex-start}.battery-cap{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:50%;height:12px;background:var(--battery-frame);border-radius:6px}.battery-body{--battery-height: clamp(240px, 48vh, 420px);width:calc(var(--battery-height) / 4);height:var(--battery-height);border-radius:24px;color:var(--battery-frame);position:relative;overflow:hidden;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none}.battery-fill{--battery-cutout-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 400'><rect x='10' y='30' width='80' height='65' rx='10' ry='10' fill='white'/><rect x='10' y='100' width='80' height='65' rx='10' ry='10' fill='white'/><rect x='10' y='170' width='80' height='65' rx='10' ry='10' fill='white'/><rect x='10' y='240' width='80' height='65' rx='10' ry='10' fill='white'/><rect x='10' y='310' width='80' height='65' rx='10' ry='10' fill='white'/></svg>");position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:var(--battery-cutout-mask);mask-image:var(--battery-cutout-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}.battery-splash{position:absolute;left:50%;top:-46px;width:140%;height:72px;transform:translate(-50%);background:conic-gradient(#8dc63f,#fdce07,#307aad,#d75555,#775ca7,#8dc63f);opacity:.95;-webkit-mask-image:linear-gradient(#fff 55%,transparent);mask-image:linear-gradient(#fff 55%,transparent);pointer-events:none;z-index:1}.battery-gradient-core{position:absolute;left:10%;top:6.25%;width:80%;height:88.75%;border-radius:10px;overflow:hidden;z-index:1}.battery-mask{position:absolute;top:0;left:0;right:0;background:#fff;border-radius:10px 10px 0 0;transition:height .3s ease;pointer-events:none;z-index:2}.battery-body.dragging .battery-mask{transition:none}.battery-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.battery-meta{display:flex;flex-direction:column;gap:12px}.battery-instruction{margin:0;color:var(--muted);font-size:13px}.energy-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;color:#fff;font-size:13px;font-weight:600;max-width:fit-content}.battery-legend{grid-area:legend;display:grid;align-content:center;gap:10px}.legend-item{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:16px}.legend-dot{width:14px;height:14px;border-radius:999px;background:var(--muted);flex-shrink:0}.legend-dot.legend-dot-spectrum{background:conic-gradient(#8dc63f,#fdce07,#307aad,#d75555,#775ca7,#8dc63f)}.legend-active{color:var(--ink);font-weight:700}.rating-section{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.rating-card{display:flex;flex-direction:column;align-items:center;gap:16px;background:transparent;border-radius:0;padding:0;border:none}.rating-text{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:360px}.rating-title{font-family:var(--font-body);font-size:24px;font-weight:700;margin:0;color:var(--ink)}.rating-description{color:var(--muted);margin:0;font-size:17px;line-height:1.5}.rating-slider{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(420px,100%)}.rating-bar{position:relative;width:100%;padding-top:52px;overflow:visible;--rating-bar-top: 52px;--rating-bar-height: 28px;--rating-knob-size: 36px}.rating-wave-shell{position:relative;width:100%;padding-top:44px}.need-sync-slider{width:100%;max-width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.need-sync-slider.is-disabled{touch-action:auto}.need-sync-focus{position:relative;isolation:isolate;border-radius:999px;--wave-shell-inset-y: -7px;--wave-shell-inset-x: -10px;outline:none}.need-sync-focus:focus-visible{outline:2px solid rgba(49,122,173,.55);outline-offset:6px;border-radius:12px}.need-sync-focus:before,.need-sync-focus:after,.review-wave-bar:before,.review-wave-bar:after{content:"";position:absolute;pointer-events:none;border-radius:999px}.need-sync-focus:before,.review-wave-bar:before{inset:var(--wave-shell-inset-y, -4px) var(--wave-shell-inset-x, -6px);background:var( --wave-shell-colorwash, linear-gradient( 90deg, rgba(192, 57, 43, .08) 0%, rgba(243, 156, 18, .06) 40%, rgba(241, 196, 15, .05) 56%, rgba(46, 204, 113, .09) 100% ) );box-shadow:0 9px 16px #1118271f,0 12px 18px -10px var(--wave-shell-shadow-color, rgba(76, 195, 120, .16));z-index:0}.need-sync-focus:after,.review-wave-bar:after{inset:calc(var(--wave-shell-inset-y, -4px) + 1px) calc(var(--wave-shell-inset-x, -6px) + 1px);border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px #ffffffb8;opacity:.92;z-index:1}.need-sync-focus>*{position:relative;z-index:2}.wave-glass-shell{position:relative;width:100%;border-radius:999px;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.44);background:linear-gradient(180deg,#ffffff59,#ffffff1a 45%,#ffffff0f),var( --wave-shell-colorwash-strong, linear-gradient( 90deg, rgba(192, 57, 43, .16) 0%, rgba(243, 156, 18, .12) 40%, rgba(241, 196, 15, .1) 56%, rgba(46, 204, 113, .14) 100% ) );box-shadow:inset 0 1px #ffffffc2,inset 0 -12px 20px #fff3,inset 0 0 0 1px #ffffff52,0 8px 14px #1118271a,0 10px 16px -10px var(--wave-shell-glow-color, rgba(76, 195, 120, .2));backdrop-filter:blur(3px) saturate(118%);-webkit-backdrop-filter:blur(3px) saturate(118%)}.wave-glass-shell:before,.wave-glass-shell:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3}.wave-glass-shell:before{background:linear-gradient(180deg,#ffffff61,#ffffff14 30%,#fff0 64%),radial-gradient(120% 85% at 50% -25%,#ffffff6b,#fff0 62%),linear-gradient(90deg,rgba(255,255,255,0) 0%,var(--wave-shell-reflect-color, rgba(255, 255, 255, .18)) 50%,rgba(255,255,255,0) 100%)}.wave-glass-shell:after{background:repeating-linear-gradient(90deg,#ffffff09 0 1px,#fff0 1px 4px),linear-gradient(180deg,#ffffff24,#fff0);opacity:.55}.wave-glass-shell>*{position:relative;z-index:2}.need-sync-track-shell{min-height:42px;touch-action:none;cursor:pointer}.need-sync-track{display:block;width:100%;max-width:100%;overflow:hidden;clip-path:inset(0 round 999px);border-radius:999px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.need-sync-slider.is-disabled .need-sync-track,.need-sync-slider.is-disabled .need-sync-track-shell{cursor:default;touch-action:auto}.need-sync-labels{display:flex;justify-content:space-between;font-size:15px;color:var(--muted);font-weight:500;width:100%;margin-top:8px}.need-sync-labels span{padding:4px 0}.slider-tooltip{position:absolute;top:0;transform:translate(-50%);padding:10px 14px;border-radius:18px;font-size:13px;font-weight:600;min-width:120px;text-align:center;box-shadow:0 8px 18px #00000026;z-index:2;pointer-events:none}.slider-tooltip-arrow{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid transparent}.rating-bar-track{position:relative;height:var(--rating-bar-height);border-radius:18px;z-index:1;pointer-events:none;clip-path:polygon(0 50%,6% 0,94% 0,100% 50%,94% 100%,6% 100%)}.slider-labels{display:flex;justify-content:space-between;font-size:15px;color:var(--muted);font-weight:500;width:100%}.slider-labels span{padding:4px 0;background:transparent}.rating-range{position:absolute;top:calc(var(--rating-bar-top) - ((var(--rating-knob-size) - var(--rating-bar-height)) / 2));left:0;width:100%;height:var(--rating-knob-size);background:transparent;appearance:none;-webkit-appearance:none;box-shadow:none;border:none;outline:none;z-index:2;cursor:pointer;opacity:.01;touch-action:pan-x;-webkit-tap-highlight-color:transparent}.rating-hit{position:absolute;top:calc(var(--rating-bar-top) - ((var(--rating-knob-size) - var(--rating-bar-height)) / 2));left:0;width:100%;height:var(--rating-knob-size);background:transparent;z-index:4;cursor:pointer;touch-action:pan-x;-webkit-tap-highlight-color:transparent;outline:none;border-radius:999px}.rating-hit:focus-visible{outline:2px solid rgba(49,122,173,.55);outline-offset:4px}.rating-range::-webkit-slider-runnable-track{background:transparent;height:var(--rating-bar-height)}.rating-range::-moz-range-track{background:transparent;height:var(--rating-bar-height);border:none}.rating-range::-moz-range-progress{background:transparent}.rating-range::-webkit-slider-thumb{width:var(--rating-knob-size);height:var(--rating-knob-size);border-radius:999px;background:#fff;border:3px solid white;box-shadow:0 6px 12px #0003;margin-top:-3px}.rating-range::-moz-range-thumb{width:var(--rating-knob-size);height:var(--rating-knob-size);border-radius:999px;background:#fff;border:3px solid white;box-shadow:0 6px 12px #0003}.rating-range:focus{box-shadow:none}.rating-knob{position:absolute;left:clamp(14px,calc(var(--rating-percent) * 1%),calc(100% - 14px));top:calc(var(--rating-bar-top) + (var(--rating-bar-height) / 2));width:var(--rating-knob-size);height:var(--rating-knob-size);border-radius:999px;background:#fff;box-shadow:0 8px 16px #0003;transform:translate(-50%,-50%);z-index:3;pointer-events:none}.rating-note-trigger{margin-top:20px;display:inline-flex;align-items:center;gap:10px;border:none;background:transparent;color:var(--ink);font-size:18px;font-weight:600;cursor:pointer;padding:6px 12px}.rating-note-trigger:hover{opacity:.75}.rating-note-icon{width:20px;height:20px}.note-sheet-overlay{position:fixed;inset:0;background:#11181c66;display:flex;align-items:flex-end;justify-content:center;z-index:6;animation:sheet-fade .25s ease both}.note-sheet-shell{width:min(520px,100%);transform:translateY(0);transition:transform .25s ease}.note-sheet-shell.dragging{transition:none}.note-sheet{width:100%;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px calc(20px + env(safe-area-inset-bottom,0));box-shadow:0 -20px 32px #0000002e;display:flex;flex-direction:column;gap:14px;max-height:min(70vh,520px);overflow-y:auto;animation:sheet-rise .3s ease both}.note-sheet-grab{display:flex;align-items:center;justify-content:center;padding:6px 0 10px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.note-sheet-grab.disabled{cursor:default;touch-action:auto}.note-sheet-grab:active{cursor:grabbing}.note-sheet-grab.disabled:active{cursor:default}.note-sheet-handle{align-self:center;width:44px;height:4px;border-radius:999px;background:var(--border-strong)}.note-sheet-title{margin:0;font-size:20px;font-weight:600;color:var(--ink)}.note-sheet-strong{font-weight:700}.note-sheet-text{margin:0;color:var(--ink);font-size:15px;line-height:1.4}.note-sheet-prompt{margin:0;color:var(--muted);font-size:14px}.note-sheet-input{border:1px solid var(--border-strong);border-radius:14px;padding:12px 14px;min-height:120px;font-size:16px;font-family:var(--font-body);resize:none;background:var(--surface-muted)}.note-sheet-input:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.note-sheet-actions{display:grid;gap:12px}.note-sheet-button{border-radius:24px;padding:12px 16px;min-height:48px;font-size:16px;font-weight:600;cursor:pointer;border:2px solid transparent;background:#fff;color:var(--ink)}.note-sheet-button.secondary{background:#fff;border-color:var(--border-strong);color:var(--ink)}.note-sheet-button.primary{border-color:transparent}.note-sheet-button:disabled{opacity:.5;cursor:not-allowed}.one-on-one-completion{width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(24px,7vh,72px) 0 clamp(16px,4vh,40px)}.confirmation-checkmark{width:min(560px,100%);border-radius:30px;border:1px solid rgba(209,213,219,.85);background:#fffffff2;box-shadow:0 18px 42px #0f172a24,0 7px 16px #0f172a14;padding:clamp(28px,6vw,44px) clamp(20px,6vw,48px) clamp(22px,4vw,32px);display:grid;justify-items:center;text-align:center;gap:14px}.confirmation-checkmark-icon-stage{width:124px;height:124px;display:flex;align-items:center;justify-content:center}.confirmation-checkmark-icon-pop{width:124px;height:124px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0)}.confirmation-checkmark-icon-spin{width:124px;height:124px;display:flex;align-items:center;justify-content:center;transform:rotate(0)}.confirmation-checkmark-icon{width:96px;height:96px}.confirmation-checkmark-ring{fill:none;stroke:#8dc63f;stroke-width:4.5;stroke-linecap:round;stroke-dasharray:188;stroke-dashoffset:188;opacity:0}.confirmation-checkmark-path{fill:none;stroke:#8dc63f;stroke-width:4.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;opacity:0}.confirmation-checkmark-title{margin:0;font-family:var(--font-body);font-size:clamp(28px,4.6vw,42px);line-height:1.1;color:var(--ink);opacity:0;transform:translateY(10px);outline:none}.confirmation-checkmark-title:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:8px}.confirmation-checkmark-description{margin:0;max-width:44ch;color:var(--muted);font-size:clamp(15px,2.8vw,19px);line-height:1.45;opacity:0;transform:translateY(10px)}.confirmation-checkmark-actions{width:min(420px,100%);display:grid;gap:12px;margin-top:4px}.confirmation-checkmark-actions .button{width:100%;opacity:0;transform:translateY(12px)}.confirmation-checkmark.is-entered .confirmation-checkmark-icon-pop{animation:confirmation-check-pop .62s cubic-bezier(.22,1.28,.4,1) forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-icon-spin{animation:confirmation-check-spin .74s .1s cubic-bezier(.2,.72,.24,1) forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-ring{animation:confirmation-check-ring .42s .17s ease forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-path{animation:confirmation-check-path .3s .33s ease forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-title{animation:confirmation-text-in .4s .34s ease forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-description{animation:confirmation-text-in .4s .46s ease forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-actions .button{animation:confirmation-action-in .38s ease forwards}.confirmation-checkmark.is-entered .confirmation-checkmark-actions .button:nth-child(1){animation-delay:.6s}.confirmation-checkmark.is-entered .confirmation-checkmark-actions .button:nth-child(2){animation-delay:.7s}.confirmation-checkmark.reduced-motion .confirmation-checkmark-icon-pop,.confirmation-checkmark.reduced-motion .confirmation-checkmark-icon-spin,.confirmation-checkmark.reduced-motion .confirmation-checkmark-ring,.confirmation-checkmark.reduced-motion .confirmation-checkmark-path,.confirmation-checkmark.reduced-motion .confirmation-checkmark-title,.confirmation-checkmark.reduced-motion .confirmation-checkmark-description,.confirmation-checkmark.reduced-motion .confirmation-checkmark-actions .button{animation:none!important;transition:none!important;opacity:1;transform:none}.confirmation-checkmark.reduced-motion .confirmation-checkmark-ring,.confirmation-checkmark.reduced-motion .confirmation-checkmark-path{stroke-dashoffset:0}.completion-reward-overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:#fafbfdb3;backdrop-filter:blur(4px) saturate(110%);-webkit-backdrop-filter:blur(4px) saturate(110%);animation:completion-reward-fade-in .24s ease both}.completion-reward-card{width:min(340px,90vw);border-radius:26px;border:1px solid rgba(209,213,219,.85);background:#fffffff0;box-shadow:0 20px 44px #0f172a29,0 8px 18px #0f172a1a;padding:26px 24px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.completion-reward-icon-wrap{width:88px;height:88px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 22%,#fffffff2,#ffffff40 58%,#fff0),radial-gradient(circle at 50% 50%,#8dc63f3d,#8dc63f14 62%,#8dc63f00)}.completion-reward-icon{width:72px;height:72px}.completion-reward-ring-track{fill:none;stroke:#8dc63f42;stroke-width:4}.completion-reward-sweep{fill:none;stroke:#8dc63f;stroke-width:4.4;stroke-linecap:round;stroke-dasharray:46 164;transform-origin:center;animation:completion-reward-spin .9s linear infinite}.completion-reward-done-ring{fill:none;stroke:#8dc63f;stroke-width:4.4;stroke-linecap:round;stroke-dasharray:164;stroke-dashoffset:164;opacity:0}.completion-reward-check{fill:none;stroke:#8dc63f;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;opacity:0}.completion-reward-card.done .completion-reward-sweep{opacity:0;animation:none;transition:opacity .2s ease}.completion-reward-card.done .completion-reward-done-ring{opacity:1;animation:completion-reward-ring-draw .34s ease forwards}.completion-reward-card.done .completion-reward-check{opacity:1;animation:completion-reward-check-draw .34s .08s ease forwards}.completion-reward-title{margin:0;font-family:var(--font-body);font-size:21px;line-height:1.25;font-weight:700;color:var(--ink)}.completion-reward-subtitle{margin:0;font-size:15px;line-height:1.4;color:var(--muted)}.review-section{display:flex;flex-direction:column;gap:18px}.review-heading{margin:0;font-family:var(--font-body);font-size:clamp(28px,4vw,36px);color:var(--ink)}.review-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.review-battery-card,.review-dealbreaker-card{border-radius:22px;min-height:140px;padding:16px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #00000014;border:1px solid var(--border)}.review-battery-card{background:#fff;overflow:visible;justify-content:flex-start;align-items:center;gap:16px;text-align:left}.review-battery-display{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}.review-battery-card .battery-body{--battery-height: clamp(120px, 20vh, 180px);cursor:default;touch-action:auto;pointer-events:none}.review-battery-card .battery-gradient-core{left:0;top:0;width:100%;height:100%;border-radius:0}.review-battery-card .battery-mask{border-radius:0}.review-battery-card .battery-cap{height:8px;top:-10px;border-radius:5px}.review-battery-card .battery-splash{height:56px;top:-36px}.review-battery-text{display:flex;flex-direction:column;gap:6px}.review-battery-title{margin:0;font-size:14px;font-weight:600;color:var(--muted)}.review-battery-status{margin:0;font-size:clamp(18px,3.5vw,26px);font-weight:700;color:var(--ink)}.review-dealbreaker-card{background:#fff}.review-dealbreaker-card .deck-card{box-shadow:0 8px 18px #00000024}.review-list-card{background:#fff;border-radius:22px;padding:14px 16px;border:1px solid var(--border);display:grid;gap:12px}.review-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,220px);gap:12px;align-items:center}.review-row-title{display:flex;align-items:center;gap:10px;font-weight:600;min-width:0}.review-note-indicator{display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);flex-shrink:0}.review-note-icon{width:16px;height:16px}.review-edit-button{width:28px;height:28px;border-radius:999px;border:none;background:#11181c0f;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.review-edit-button:hover{background:#11181c1f}.review-edit-button svg{width:14px;height:14px}.review-card-edit{position:absolute;top:12px;right:12px;z-index:2}.review-index{width:28px;height:28px;border-radius:8px;background:var(--review-index-color, #775ca7);color:var(--review-index-text-color, #fff);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-index.dealbreaker{border-radius:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:var(--review-index-color, #d85d59);color:var(--review-index-text-color, #fff)}.review-name{font-size:16px;line-height:1.2;min-width:0}.review-bar{position:relative;height:16px;width:100%;border-radius:999px;background:var(--review-gradient, #e2e8f0);clip-path:polygon(0 50%,6% 0,94% 0,100% 50%,94% 100%,6% 100%)}.review-wave-bar{background:transparent;clip-path:none;border-radius:999px;isolation:isolate;--wave-shell-inset-y: -4px;--wave-shell-inset-x: -5px;overflow:visible}.review-wave-bar>*{position:relative;z-index:2}.review-wave-shell{position:relative;width:100%;height:100%}.wave-glass-shell-mini{border-color:#fff6;box-shadow:inset 0 1px #ffffffa8,inset 0 -8px 14px #ffffff2e,inset 0 0 0 1px #ffffff3d;backdrop-filter:blur(2px) saturate(114%);-webkit-backdrop-filter:blur(2px) saturate(114%)}.review-wave-svg{display:block;width:100%;height:100%;overflow:hidden;clip-path:inset(0 round 999px);border-radius:999px}.review-wave-thumb-shadow-dot,.review-wave-thumb-dot{position:absolute;top:50%;border-radius:999px;transform:translate(-50%,-50%);pointer-events:none;z-index:4}.review-wave-thumb-shadow-dot{width:10px;height:10px;background:#0000002e;filter:blur(.25px)}.review-wave-thumb-dot{width:8px;height:8px;background:#fff;border:1px solid #d8eac4}.review-bar-dot{position:absolute;top:50%;left:clamp(10px,calc(var(--review-percent) * 1%),calc(100% - 10px));width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 4px 10px #0000002e;transform:translate(-50%,-50%)}.review-bar-wrap{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex:1;min-width:0}.review-context-card{position:relative;border:1px solid var(--border);border-radius:22px;padding:20px;background:#fff;min-height:160px;max-height:min(260px,34vh);width:100%;text-align:left;cursor:pointer;appearance:none;display:flex;flex-direction:column;overflow:hidden}.review-context-edit{position:absolute;top:12px;right:12px;z-index:2}.review-context-card.readonly{cursor:default}.review-context-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.review-context-preview{margin:0;color:var(--ink);font-size:15px;line-height:1.45;white-space:pre-wrap;flex:1;min-height:0;overflow-y:auto;padding-right:4px;-webkit-overflow-scrolling:touch}.review-context-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);text-align:center;padding:20px;pointer-events:none}.review-context-icon{width:32px;height:32px;color:var(--button-primary)}.replace-banner{display:flex;flex-direction:column;gap:16px;padding:18px 20px;border-radius:22px;border:1px solid var(--border);background:#fff;margin-bottom:12px}.replace-banner-text{margin:0;font-size:18px;font-weight:600;color:var(--ink);text-align:left}.replace-banner-swap{display:flex;align-items:center;justify-content:space-between;gap:16px}.replace-banner-slot{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.replace-banner-deck{width:72px;height:72px}.replace-banner-placeholder{width:72px;height:72px;border-radius:16px;border:2px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:var(--muted)}.replace-banner-arrow{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted)}.replace-banner-arrow svg{width:min(120px,100%);height:36px}.selected-slot.locked{cursor:default}.selected-slot.locked .slot-remove{display:none}.selected-slot.replace-target{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.summary-review{overflow-y:auto;flex:1;min-height:0}.summary-header-block{display:flex;flex-direction:column;gap:10px}.summary-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.summary-edit-trigger{appearance:none;border:none;background:#11181c0f;color:#4b5563;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.summary-edit-trigger:hover{background:#11181c1f}.summary-edit-trigger svg{width:16px;height:16px}.summary-header-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%;justify-content:center}.summary-context-trigger{width:34px;height:34px;border-radius:999px;border:none;background:#004d8d1f;color:var(--button-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.summary-context-trigger svg{width:18px;height:18px}.summary-context-trigger:hover{background:#004d8d33}.summary-context-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.summary-date-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#004d8d1f;color:#20405c;font-size:14px;font-weight:600}.summary-date-icon{width:16px;height:16px}.summary-team-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#8dc63f2e;color:var(--accent-strong);font-size:13px;font-weight:600}.summary-need-trigger{border:none;background:transparent;padding:0;text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit}.summary-need-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:16px}.summary-context-card{cursor:default}.summary-context-muted{color:var(--muted)}.summary-need-overlay{position:fixed;inset:0;background:#11181c73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:7}.summary-need-modal{position:relative;width:min(92vw,560px);max-height:min(80vh,640px);background:#fff;border-radius:24px;border:1px solid var(--border);box-shadow:0 18px 40px #0003;padding:24px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.summary-context-modal{width:min(92vw,520px)}.summary-context-modal-title{margin:0;font-size:18px;font-weight:700;color:var(--ink)}.summary-context-modal-text{margin:0;color:var(--ink);font-size:15px;line-height:1.45;white-space:pre-wrap}.summary-context-modal-text.muted{color:var(--muted)}.summary-need-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:999px;border:none;background:#11181c0f;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.summary-need-close:hover{background:#11181c1f}.summary-need-close svg{width:16px;height:16px}.summary-need-edit-trigger{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:999px;border:none;background:#11181c14;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.summary-need-edit-trigger:hover{background:#11181c24}.summary-need-edit-trigger svg{width:16px;height:16px}.summary-need-header{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.summary-need-card-wrap{position:relative;width:var(--summary-need-card-size, 120px);height:var(--summary-need-card-size, 120px);flex-shrink:0}.summary-need-card{flex-shrink:0}.summary-need-meta{display:flex;flex-direction:column;gap:10px;min-width:0}.summary-need-title{margin:0;font-family:var(--font-display);font-size:22px;color:var(--ink)}.summary-need-description{margin:0;color:var(--muted);font-size:15px;line-height:1.4}.summary-need-slider .rating-slider{width:100%}.summary-need-comments{display:flex;flex-direction:column;gap:8px}.summary-need-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-need-section-title{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:var(--muted)}.summary-need-edit{width:28px;height:28px;border-radius:999px;border:none;background:#11181c0f;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.summary-need-edit:hover{background:#11181c1f}.summary-need-edit svg{width:14px;height:14px}.summary-need-card-edit{position:absolute;top:6px;left:6px;z-index:2;background:#11181c8c;color:#fff}.summary-need-card-edit:hover{background:#11181cb3}.summary-need-comments-title{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:var(--muted)}.summary-need-comments-text{margin:0;color:var(--ink);font-size:15px;line-height:1.45;white-space:pre-wrap}.summary-need-comments-text.muted{color:var(--muted)}.summary-need-comments-input{border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px;min-height:90px;font-size:16px;font-family:var(--font-body);resize:vertical;background:var(--surface-muted);width:100%}.summary-need-comments-input:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.summary-need-warning{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#d755551f;color:#9f2a2a;font-size:13px;font-weight:600}.summary-need-warning-dismiss{appearance:none;border:none;background:#11181c1a;color:currentColor;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.summary-need-warning-dismiss svg{width:12px;height:12px}.summary-need-save{width:100%;margin-top:4px}.summary-section{display:flex;flex-direction:column;flex:1;min-height:0;margin-bottom:0}.summary-board{background:#fff;border-radius:28px;padding:clamp(20px,3vw,28px);border:1px solid var(--border);box-shadow:0 12px 26px #00000014;display:flex;flex-direction:column;gap:24px;flex:1;min-height:0;overflow-y:auto}.summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.summary-user{display:flex;align-items:center;gap:18px;min-width:0}.summary-avatar{width:60px;height:60px;border-radius:999px;background:var(--button-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;font-size:20px;flex-shrink:0}.summary-avatar svg{width:30px;height:30px}.summary-user-meta{display:flex;flex-direction:column;gap:8px;min-width:0}.summary-user-name{margin:0;font-family:var(--font-display);font-size:clamp(24px,4vw,34px);line-height:1.1;color:var(--ink)}.summary-user-details{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;color:var(--muted);font-size:14px}.summary-check-context{border:1px solid var(--border);border-radius:16px;padding:10px 12px;background:var(--surface-muted);display:flex;flex-direction:column;gap:6px}.summary-context-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-toggle{align-self:flex-start}.summary-battery{display:flex;align-items:center;gap:10px}.summary-battery-shell{position:relative;width:78px;height:24px;border-radius:8px;border:2px solid var(--battery-frame);padding:3px;background:#ffffffb3}.summary-battery-shell:after{content:"";position:absolute;right:-6px;top:7px;width:4px;height:10px;border-radius:2px;background:var(--battery-frame)}.summary-battery-track{position:relative;height:100%;width:100%;border-radius:6px;background:var( --summary-battery-gradient, linear-gradient(90deg, #494949 0%, #b52b2b 20%, #f6be0a 45%, #c7dd77 65%, #8dc63f 100%) );overflow:hidden}.summary-battery-track:after{content:"";position:absolute;top:0;right:0;height:100%;width:calc(100% - (var(--summary-battery-percent, 0) * 1%));background:#fffffff2}.summary-battery-label{font-weight:600;color:var(--ink)}.summary-pill{background:#8dc63f2e;color:var(--accent-strong);font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px}.summary-close{border:none;background:transparent;width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex-shrink:0}.summary-close:hover{background:#11181c0f}.summary-close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.summary-close svg{width:22px;height:22px}.summary-list{display:flex;flex-direction:column;gap:20px}.summary-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}.summary-icon{width:36px;height:36px;border-radius:999px;background:var(--summary-icon-color, #b9c7c2);color:var(--summary-icon-text-color, #1f2d2b);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #0000001f;flex-shrink:0}.summary-icon.dealbreaker{border-radius:10px}.summary-icon svg{width:18px;height:18px}.summary-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.summary-card-title{margin:0;font-size:18px;font-weight:700;color:var(--ink)}.summary-card-note{margin:0;color:var(--muted);font-size:14px;line-height:1.5;white-space:pre-wrap}.summary-card-note.muted{color:#9ca3af}.summary-bar{position:relative;height:25px;width:100%;max-width:320px;border-radius:999px;background:var(--summary-gradient, #e2e8f0);clip-path:polygon(0 50%,6% 0,94% 0,100% 50%,94% 100%,6% 100%);align-self:flex-start}.summary-bar-dot{position:absolute;top:50%;left:clamp(8px,calc(var(--summary-percent) * 1%),calc(100% - 8px));width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 6px 12px #0003;transform:translate(-50%,-50%)}.summary-context{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:10px}.summary-context-title{margin:0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--muted)}.summary-context-text{margin:0;font-size:16px;line-height:1.6;color:var(--ink);white-space:pre-wrap}.summary-context-text.muted{color:#9ca3af}.flow-footer.summary-footer{justify-content:center;flex-wrap:wrap}.context-sheet{gap:12px;position:relative}.context-sheet-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border-radius:999px;border:none;background:#11181c0f;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.context-sheet-close:hover{background:#11181c1f}.context-sheet-close svg{width:16px;height:16px}.context-sheet-input{border:1px solid var(--border-strong);border-radius:14px;padding:12px 14px;min-height:140px;font-size:16px;font-family:var(--font-body);resize:none;background:var(--surface-muted)}.context-sheet-input:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.context-sheet-button{border-radius:24px;padding:12px 16px;min-height:48px;font-size:16px;font-weight:600;cursor:pointer;border:none;background:var(--button-primary);color:#fff}.context-sheet-button:disabled{opacity:.5;cursor:not-allowed}.context-sheet-info{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.4}.context-sheet-info-icon{width:20px;height:20px;flex-shrink:0;color:var(--muted)}.flow-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px}.floating-next{position:fixed;left:50%;bottom:33vh;transform:translate(-50%) scale(2);transform-origin:center;z-index:4}.floating-next:hover{transform:translate(-50%,-1px) scale(2)}.floating-next:disabled{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%) scale(2)}.textarea.dashed{border-style:dashed;background:var(--surface-muted)}input[type=range]:not(.rating-range){-webkit-appearance:none;appearance:none;height:8px;border-radius:999px;background:var(--range-bg, #e2e8f0);outline:none}input[type=range]:not(.rating-range)::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:999px;background:var(--accent);border:2px solid white;box-shadow:0 4px 10px #8dc63f4d}input[type=range]:not(.rating-range)::-moz-range-thumb{width:18px;height:18px;border-radius:999px;background:var(--accent);border:2px solid white;box-shadow:0 4px 10px #8dc63f4d}input[type=range]:not(.rating-range)::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:inherit}input[type=range]:not(.rating-range)::-moz-range-track{height:8px;border-radius:999px;background:inherit}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes confirmation-check-pop{0%{opacity:0;transform:scale(0)}62%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes confirmation-check-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes confirmation-check-ring{0%{opacity:.45;stroke-dashoffset:188}to{opacity:1;stroke-dashoffset:0}}@keyframes confirmation-check-path{0%{opacity:0;stroke-dashoffset:40}to{opacity:1;stroke-dashoffset:0}}@keyframes confirmation-text-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes confirmation-action-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes completion-reward-fade-in{0%{opacity:0}to{opacity:1}}@keyframes completion-reward-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes completion-reward-ring-draw{0%{stroke-dashoffset:164}to{stroke-dashoffset:0}}@keyframes completion-reward-check-draw{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}@media(max-width:900px){.topbar{flex-direction:column;align-items:flex-start}.app-logo{height:31px}.app-shell.in-progress{padding:calc(16px + env(safe-area-inset-top,0)) calc(12px + env(safe-area-inset-right,0)) calc(16px + env(safe-area-inset-bottom,0)) calc(12px + env(safe-area-inset-left,0))}.panel-header{flex-direction:column}.flip-card{min-height:150px}.battery-section{grid-template-columns:minmax(160px,1fr) minmax(140px,1fr);gap:10px 14px}.rating-card{gap:14px}.review-heading{font-size:24px}.review-section{gap:10px}.review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-battery-card,.review-dealbreaker-card{min-height:120px;padding:10px;border-radius:18px}.review-battery-card{gap:10px}.review-battery-card .battery-body{--battery-height: clamp(105px, 18vh, 150px)}.review-battery-title{font-size:13px}.review-battery-status{font-size:18px}.review-list-card{padding:10px;gap:8px}.review-row{grid-template-columns:minmax(130px,1fr) minmax(110px,150px);gap:8px}.review-edit-button{width:24px;height:24px}.review-edit-button svg{width:12px;height:12px}.summary-need-edit{width:24px;height:24px}.summary-need-edit svg{width:12px;height:12px}.review-bar-wrap{gap:6px}.review-name{font-size:14px}.review-bar{height:14px}.replace-banner-swap{width:100%}.review-bar-dot{width:14px;height:14px}.review-context-card{min-height:110px;padding:12px;max-height:min(220px,32vh)}.summary-header-meta{gap:8px}.summary-context-trigger{width:30px;height:30px}.summary-date-pill{padding:4px 10px;font-size:13px}.summary-team-pill{padding:4px 10px;font-size:12px}.summary-board{padding:18px;gap:18px}.summary-header{flex-direction:column;align-items:flex-start}.summary-close{align-self:flex-end}.summary-avatar{width:52px;height:52px;font-size:18px}.summary-avatar svg{width:26px;height:26px}.summary-user-name{font-size:22px}.summary-user-details{font-size:13px}.summary-battery-shell{width:64px;height:20px}.summary-battery-shell:after{top:6px;height:8px}.summary-list{gap:16px}.summary-row{grid-template-columns:auto 1fr}.summary-icon{width:32px;height:32px}.summary-bar{width:100%;height:25px}.summary-bar-dot{width:16px;height:16px}.summary-card-title{font-size:16px}.summary-card-note{font-size:13px}.summary-context-text{font-size:15px}.flow-footer{flex-direction:column;align-items:stretch}.energy-flow .flow-footer{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.energy-flow .flow-footer .button{flex:1 1 150px;max-width:180px}.energy-flow{gap:12px}.energy-flow.step-1 .section{justify-content:flex-start}.energy-flow.step-2 .battery-section{gap:16px 20px}.energy-flow.step-2 .battery-body{--battery-height: clamp(220px, 45vh, 340px);width:calc(var(--battery-height) / 4);height:var(--battery-height);border-radius:20px}.energy-flow.step-2 .battery-cap{height:9px}.energy-flow.step-2 .battery-legend{gap:8px}.energy-flow.step-2 .legend-item{font-size:14px}.battery-header{gap:6px}.battery-title{font-size:20px}.battery-note{font-size:16px;line-height:1.35}.battery-legend{gap:6px}.legend-item{font-size:14px}.battery-splash{height:64px;top:-38px}.energy-flow.step-3 .rating-card{gap:12px}.energy-flow.step-3 .rating-title{font-size:22px}.energy-flow.step-3 .rating-description{font-size:16px}.energy-flow.step-3 .rating-note-trigger{font-size:16px;margin-top:12px}.note-sheet{padding:12px 16px calc(16px + env(safe-area-inset-bottom,0))}.note-sheet-title{font-size:18px}.note-sheet-input{min-height:110px}.context-sheet-input{min-height:120px}.section{gap:12px;margin-bottom:14px}.energy-flow.step-0 .section,.energy-flow.step-1 .section,.energy-flow.step-2 .section,.energy-flow.step-3 .section{margin-bottom:0}.energy-flow.step-4 .section,.energy-flow.step-5 .section{margin-bottom:6px}.flow-footer.dealbreaker-footer{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding-top:8px}.flow-footer.dealbreaker-footer .button{flex:1 1 160px;max-width:180px}.dealbreaker-section{gap:8px}.dealbreaker-header{max-width:100%;gap:6px}.dealbreaker-title{font-size:18px;line-height:1.2}.dealbreaker-title-star{width:14px;height:14px;font-size:10px}.dealbreaker-note{font-size:13px;line-height:1.35}.need-overlay{width:min(400px,calc(100vw - 24px));bottom:16px;padding:16px 74px 18px 18px;border-radius:24px}.need-overlay-title{font-size:18px}.need-overlay-text{font-size:13px}.need-overlay-add{width:52px;height:52px;right:14px;bottom:14px;font-size:30px}.passcode-grid{grid-template-columns:repeat(3,1fr)}.energy-flow .flow-footer{padding-top:6px}.energy-flow .flow-footer .button{padding:10px 20px;min-height:44px;font-size:15px}}@media(max-width:900px)and (pointer:coarse){.deck-grid-pan{--deck-card-size: 90px}.deck-grid{grid-template-columns:repeat(5,var(--deck-card-size));grid-auto-rows:var(--deck-card-size);width:max-content;padding-top:var(--deck-grid-edge-pad-y, 0px);padding-bottom:var(--deck-grid-edge-pad-y, 0px);padding-left:var(--deck-grid-edge-pad-x, 0px);padding-right:var(--deck-grid-edge-pad-x, 0px)}.deck-grid-pan.pan-enabled{height:100%;max-height:100%;width:100%;max-width:calc(3.5 * var(--deck-card-size) + 4 * var(--deck-card-gap));margin:0 auto;left:auto;transform:none}}@media(max-width:900px)and (pointer:fine){.deck-grid{grid-template-columns:repeat(5,var(--deck-card-size, 110px));grid-auto-rows:var(--deck-card-size, 110px)}}
