/* SparkBoard v3 — visual rules derived directly from the supplied interaction demo. */
.v-sb-idea-launch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:0 15px;border:0;border-radius:24px;background:#f6f8ff;color:#122035;box-shadow:0 9px 24px #0003;font:inherit;font-size:14px;font-weight:800;line-height:1;cursor:pointer;overflow:hidden;isolation:isolate;touch-action:manipulation}
.v-sb-idea-launch>span:not(.v-sb-touch-ripple),.v-sb-idea-launch>.v-sb-thought-icon{position:relative;z-index:2}
.v-sb-thought-icon{display:block;width:25px;height:25px;flex:none;overflow:visible}
.v-sb-thought-icon .thought-main,.v-sb-thought-icon .thought-tail{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.v-sb-thought-icon .thought-highlight{fill:none;stroke:#8eafe7;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 31;stroke-dashoffset:22;opacity:0;pointer-events:none}
.v-sb-touch-ripple{position:absolute;z-index:1;width:16px;height:16px;left:50%;top:50%;border-radius:50%;background:radial-gradient(circle,rgba(119,153,207,.30) 0 26%,rgba(119,153,207,.14) 40%,rgba(119,153,207,0) 72%);opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.1)}
.v-sb-touch-ripple.play{animation:v-sb-touch-ripple .52s cubic-bezier(.18,.72,.2,1)}
@keyframes v-sb-touch-ripple{0%{opacity:.8;transform:translate(-50%,-50%) scale(.18)}60%{opacity:.34}100%{opacity:0;transform:translate(-50%,-50%) scale(7.2)}}
.v-sb-idea-launch:focus-visible,.v-sb-progress :is(button,a):focus-visible,.v-sb-composer :is(button,textarea):focus-visible{outline:2px solid #73a8ff;outline-offset:3px}

/* The approved B asset is a separate animation layer; content never rotates with it. */
.v-sb-scrim{position:fixed;inset:0;z-index:110;background:#02050b8a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.v-sb-scrim.is-open{opacity:1;pointer-events:auto}
.v-sb-composer-wrap{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(8px,var(--safe-top,env(safe-area-inset-top,0px))) max(8px,var(--safe-right,env(safe-area-inset-right,0px))) max(8px,var(--safe-bottom,env(safe-area-inset-bottom,0px)));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility 0s linear .15s}
.v-sb-composer-wrap.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .15s ease,visibility 0s linear 0s}
.v-sb-composer-wrap:not(.is-open) .v-sb-composer,.v-sb-composer-wrap:not(.is-open) .v-sb-composer *{pointer-events:none}
.v-sb-composer{position:relative;width:min(96vw,460px,var(--v-sb-bubble-fit,96vw));aspect-ratio:440/455;filter:none;transform:translateY(10px) scale(.97);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.v-sb-composer-wrap.is-open .v-sb-composer{transform:none}
.v-sb-composer-asset{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 22px 34px rgba(0,0,0,.38))}
.v-sb-composer-content{position:absolute;left:17.8%;right:17.8%;top:25.4%;bottom:22.8%;display:flex;flex-direction:column;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .22s ease .36s,transform .22s ease .36s}
.v-sb-composer-wrap.is-open .v-sb-composer-content{opacity:1;transform:none}
.v-sb-composer h2{margin:0 36px 8px 0;color:#fff;font-size:29px;font-weight:800;letter-spacing:-.035em;line-height:1.1}
.v-sb-composer-subtitle{margin:0;color:#d7e1f2;font-size:13px;line-height:1.5}
.v-sb-idea-field{width:100%;flex:1 1 auto;min-height:64px;margin:16px 0 8px;padding:0;border:0;outline:0;resize:none;background:transparent;color:#fff;caret-color:#fff;font:inherit;font-size:15px;line-height:1.6;pointer-events:auto}
.v-sb-idea-field::placeholder{color:var(--v-sb-placeholder,#d4ddecad);opacity:1}
.v-sb-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:auto;pointer-events:auto}
.v-sb-composer-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 13px;border-radius:23px;font:inherit;font-size:12.5px;font-weight:760;line-height:1;white-space:nowrap;cursor:pointer}
.v-sb-progress-link{border:1px solid #ffffff16;background:#edf2ff1a;color:#f1f5ff}
.v-sb-send{min-width:80px;border:0;background:#f6f8ff;color:#18243c}
.v-sb-composer-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.v-sb-toast{position:fixed;z-index:140;left:50%;bottom:calc(var(--nav-total,76px) + 14px);max-width:calc(100vw - 32px);padding:10px 15px;border-radius:100px;background:#eff4ff;color:#18243a;font-size:12px;line-height:1.3;opacity:0;pointer-events:none;transform:translateX(-50%) translateY(8px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap}
.v-sb-toast.is-visible{opacity:1;transform:translateX(-50%)}

/* Progress page — the supplied light paper surface and five-stage timeline. */
.v-sb-progress{position:fixed;z-index:120;isolation:isolate;inset:0;overflow:hidden;padding:0;background:var(--v-sb-progress-surface,#f4f3ef);color:#183142;pointer-events:none;transform:translateX(100%);transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.v-sb-progress.is-open{transform:translateX(0);pointer-events:auto}
.v-sb-progress.is-swiping{transition:none}
.v-sb-progress.is-detail-open{overflow:hidden}
.v-sb-progress-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior-y:contain;scroll-padding-top:16px;scroll-padding-bottom:calc(var(--nav-total,76px) + 28px);touch-action:pan-y;padding:var(--v-sb-progress-header-space,82px) max(20px,var(--safe-right,env(safe-area-inset-right,0px))) calc(var(--nav-total,76px) + 28px) max(20px,var(--safe-left,env(safe-area-inset-left,0px)))}
.v-sb-progress-inner{width:min(100%,980px);min-height:100%;margin:auto}
.v-sb-refresh-status{height:0;overflow:hidden;color:#728597;font-size:12px;text-align:center;transition:height .18s ease}
.v-sb-refresh-status.is-visible{height:34px;line-height:34px}
.v-sb-progress-top{position:absolute;z-index:20;top:0;left:50%;width:min(100%,980px);box-sizing:border-box;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;margin:0;padding:16px 20px 14px;background:var(--v-sb-progress-surface,#f4f3ef);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateX(-50%)}
.v-sb-back{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(24,49,66,.12);border-radius:50%;background:rgba(255,255,255,.72);color:#183142;box-shadow:0 8px 20px rgba(33,47,58,.05);cursor:pointer}
.v-sb-back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}
.v-sb-brand .eyebrow{color:#64798e;font-size:11px;font-weight:800;letter-spacing:.2em}
.v-sb-brand h1{margin:4px 0 0;color:#183142;font-size:25px;font-weight:790;letter-spacing:-.03em;line-height:1.1}
.v-sb-progress-meta{display:flex;align-items:center;gap:10px;color:#718397;font-size:12px;font-weight:700;text-align:center}
.v-sb-brain-dot{width:36px;height:36px;border-radius:14px;background:radial-gradient(circle at 35% 30%,#fff 0 12%,transparent 13%),radial-gradient(circle at 60% 35%,#cfe0ff 0 22%,transparent 23%),radial-gradient(circle at 50% 68%,#9fc2ff 0 24%,transparent 25%),linear-gradient(145deg,#edf4ff,#dbe8fb 55%,#c4d7ef);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 8px 18px rgba(80,110,145,.12)}
.v-sb-intro{margin:6px 4px 12px}
.v-sb-intro strong{display:block;margin-bottom:4px;font-size:13px}
.v-sb-intro p{margin:0;color:#718397;font-size:13px;line-height:1.55}
.v-sb-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:none}
.v-sb-filters::-webkit-scrollbar{display:none}
.v-sb-filter{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 15px;border:1px solid rgba(24,49,66,.08);border-radius:22px;background:rgba(255,255,255,.56);color:#63778b;font:inherit;font-size:13px;font-weight:680;white-space:nowrap;cursor:pointer}
.v-sb-filter.is-active{background:#fff;color:#183142;box-shadow:0 8px 18px rgba(55,70,83,.06)}
.v-sb-count{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:11px;background:#e4e8ea;color:#607486;font-size:12px}
.v-sb-cards{display:grid;gap:14px}
.v-sb-card{position:relative;overflow:hidden;padding:20px;border:1px solid rgba(24,49,66,.07);border-radius:28px;background:rgba(251,251,248,.9);box-shadow:0 18px 40px rgba(46,56,65,.08);cursor:pointer}
.v-sb-card.is-featured{padding:22px;background:radial-gradient(120% 90% at 100% 0,rgba(206,225,255,.75),transparent 46%),linear-gradient(180deg,#fbfcfb,#f7f8f6)}
.v-sb-card.is-featured::after{position:absolute;right:-34px;top:64px;width:150px;height:150px;border-radius:42% 58% 52% 48% / 55% 40% 60% 45%;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(167,196,241,.6));content:"";opacity:.38;pointer-events:none;transform:rotate(24deg)}
.v-sb-card-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.v-sb-status{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:15px;font-size:13px;font-weight:760;white-space:nowrap}
.v-sb-status::before{width:8px;height:8px;border-radius:50%;content:""}
.v-sb-status.review{background:#e9f1ff;color:#3476e4}.v-sb-status.review::before{background:#4f8df7}
.v-sb-status.revise{background:#f0ecff;color:#735ad1}.v-sb-status.revise::before{background:#8f79e8}
.v-sb-status.vote{background:#fff4d9;color:#bb7f11}.v-sb-status.vote::before{background:#eca92f}
.v-sb-status.adopted{background:#eaf7f1;color:#218c60}.v-sb-status.adopted::before{background:#43b883}
.v-sb-updated{color:#7e8fa0;font-size:12px}
.v-sb-card h2,.v-sb-card h3{position:relative;z-index:2;color:#183142;letter-spacing:-.025em}
.v-sb-card h2{max-width:78%;margin:0 0 10px;font-size:23px;line-height:1.28}.v-sb-card h3{margin:0 0 6px;font-size:17px;line-height:1.35}.v-sb-card-open{display:inline-block;min-height:44px;box-sizing:border-box;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}.v-sb-card-open:focus-visible{outline:2px solid #4369a8;outline-offset:3px}
.v-sb-summary{position:relative;z-index:2;max-width:82%;margin:0;color:#687c8f;font-size:14px;line-height:1.65}
.v-sb-card-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.v-sb-chevron{display:grid;width:34px;height:34px;place-items:center;border-radius:17px;background:#f1f3f2;color:#62778a;font-size:22px}
.v-sb-progress-steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);margin:20px 0 14px}
.v-sb-progress-steps::before{position:absolute;left:7%;right:7%;top:9px;height:2px;background:#d9dfe3;content:""}
.v-sb-step{position:relative;padding-top:26px;color:#8796a4;font-size:11px;text-align:center}
.v-sb-step::before{position:absolute;top:2px;left:50%;width:14px;height:14px;border:2px solid #cfd7dc;border-radius:50%;background:#e9edf0;content:"";transform:translateX(-50%);z-index:1}
.v-sb-step.is-done{color:#5f7384}.v-sb-step.is-done::before{border-color:#43b883;background:#43b883;box-shadow:0 0 0 4px #e7f5ee}
.v-sb-step.is-current{color:#2c72df;font-weight:760}.v-sb-step.is-current::before{top:0;width:18px;height:18px;border:4px solid #4f8df7;background:#fff;box-shadow:0 0 0 4px #e9f1ff}
.v-sb-meta-row{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#7a8b9b;font-size:12px}
.v-sb-avatar-stack{display:flex}.v-sb-avatar{width:24px;height:24px;margin-left:-6px;border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#33536d,#a8c0d0)}.v-sb-avatar:first-child{margin-left:0}.v-sb-avatar.ai{background:linear-gradient(145deg,#1f2638,#7b8cae)}.v-sb-avatar.human{background:linear-gradient(145deg,#8b694e,#e3b48a)}
.v-sb-skill{margin-left:auto;padding:5px 8px;border-radius:12px;background:#eef4ff;color:#4779bf;font-size:11px;font-weight:700}
.v-sb-empty{padding:40px 10px;color:#8795a2;font-size:14px;text-align:center}

/* Proposal detail uses the same sheet relationship as the approved demo. */
.v-sb-detail-scrim{position:fixed;z-index:125;inset:0;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:center;background:rgba(20,35,45,.24);overscroll-behavior:contain;touch-action:pan-y;opacity:0;pointer-events:none;transition:opacity .2s ease}
.v-sb-detail-scrim.is-open{opacity:1;pointer-events:auto}
.v-sb-detail{width:min(100%,760px);max-height:90%;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-padding-bottom:var(--nav-total,76px);padding:0 max(20px,var(--safe-right,env(safe-area-inset-right,0px))) calc(var(--nav-total,76px) + 24px) max(20px,var(--safe-left,env(safe-area-inset-left,0px)));border-radius:30px 30px 0 0;background:#fbfbf8;color:#183142;box-shadow:0 -18px 50px rgba(46,56,65,.18);transform:translateY(20px);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.v-sb-detail-scrim.is-open .v-sb-detail{transform:none}
.v-sb-detail-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 14px;background:linear-gradient(180deg,rgba(251,251,248,.98),rgba(251,251,248,.9) 75%,rgba(251,251,248,0));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.v-sb-detail-close{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(24,49,66,.1);border-radius:50%;background:rgba(255,255,255,.7);color:#183142;font-size:24px;cursor:pointer}
.v-sb-detail h2{margin:4px 0 14px;color:#183142;font-size:24px;line-height:1.3;letter-spacing:-.025em}
.v-sb-detail-section{padding:16px 0;border-bottom:1px solid rgba(24,49,66,.1)}.v-sb-detail-section h3{margin:0 0 10px;color:#183142;font-size:16px}.v-sb-detail-section p{margin:7px 0;color:#687c8f;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.v-sb-detail-author{display:flex;align-items:center;gap:10px;color:#687c8f;font-size:13px}.v-sb-detail-author .v-sb-avatar{flex:none;width:32px;height:32px;margin:0;border:0}
.v-sb-record{padding:13px 0;border-top:1px solid rgba(24,49,66,.08)}.v-sb-record:first-of-type{border-top:0}.v-sb-record strong{color:#183142;font-size:14px}.v-sb-record .v-sb-status{height:24px;margin-left:7px;padding:0 8px;font-size:11px}
.v-sb-detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0}.v-sb-detail-fact{padding:12px 10px;border-radius:14px;background:#f0f2f1;text-align:center}.v-sb-detail-fact b{display:block;color:#183142;font-size:20px}.v-sb-detail-fact span{color:#718397;font-size:11px}
.v-sb-version{display:inline-flex;margin-left:5px;padding:5px 8px;border-radius:10px;background:#eef4ff;color:#4779bf;font-size:12px;font-weight:760}.v-sb-detail-note{padding:12px;border-radius:13px;background:#f0f4f6;color:#687c8f;font-size:13px;line-height:1.6}

@media(max-width:640px){.v-sb-idea-launch{width:44px;padding:0}.v-sb-idea-launch>span:not(.v-sb-touch-ripple){display:none}.v-sb-composer h2{font-size:26px}.v-sb-composer-content{left:17%;right:17%;top:24.8%;bottom:21.5%}.v-sb-composer-actions button{padding:0 10px;font-size:11.5px}.v-sb-progress-scroll{padding-left:max(16px,var(--safe-left,env(safe-area-inset-left,0px)));padding-right:max(16px,var(--safe-right,env(safe-area-inset-right,0px)))}
.v-sb-progress-top{padding-left:16px;padding-right:16px}.v-sb-card{padding:18px}.v-sb-card.is-featured{padding:20px 18px}.v-sb-card h2{max-width:84%;font-size:21px}.v-sb-summary{max-width:100%}.v-sb-detail{padding-left:max(18px,var(--safe-left,env(safe-area-inset-left,0px)));padding-right:max(18px,var(--safe-right,env(safe-area-inset-right,0px)))}}
@media(max-width:370px){.v-sb-brand h1{font-size:22px}.v-sb-progress-top{grid-template-columns:46px 1fr auto;gap:9px}.v-sb-back{width:44px;height:44px}.v-sb-card h2{font-size:19px}.v-sb-step{font-size:10px}}
@media(max-height:640px){.v-sb-composer{width:min(88vw,360px,var(--v-sb-bubble-fit,88vw))}}
@media(min-width:760px){.v-sb-detail-scrim{align-items:center;padding:24px}.v-sb-detail{max-height:88%;border-radius:30px}}
@media(prefers-reduced-motion:reduce){.v-sb-touch-ripple.play{animation:none}.v-sb-scrim,.v-sb-composer-wrap,.v-sb-composer,.v-sb-composer-content,.v-sb-progress,.v-sb-detail-scrim,.v-sb-detail{transition:none}}

/* v3 follow-up polish: the help copy is an overlay, never page layout. */
.v-sb-brand{position:relative;min-width:0}
.v-sb-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.v-sb-title-row h1{min-width:0}
.v-sb-progress-help-trigger{display:grid;flex:none;width:44px;height:44px;place-items:center;margin:-5px 0;padding:0;border:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.56) 0 16px,rgba(24,49,66,.25) 16px 17px,transparent 17px);color:#50677b;font:700 15px/1 inherit;cursor:pointer;touch-action:manipulation}
.v-sb-progress-help-trigger[aria-expanded=true]{background:radial-gradient(circle,#183142 0 17px,transparent 17px);color:#fff}
.v-sb-progress-help{position:absolute;z-index:40;top:calc(100% + 8px);left:50%;width:min(360px,calc(100vw - 32px));padding:16px 18px;border:1px solid rgba(24,49,66,.12);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 18px 44px rgba(25,40,53,.18);color:#183142;transform:translateX(-50%)}
.v-sb-progress-help[hidden]{display:none}
.v-sb-progress-help strong{display:block;margin-bottom:5px;font-size:14px;line-height:1.4}
.v-sb-progress-help p{margin:0;color:#687c8f;font-size:13px;line-height:1.65}
.v-sb-composer.is-preparing .v-sb-composer-asset{visibility:hidden}
.v-sb-composer.is-ready .v-sb-composer-asset{visibility:visible}
.v-sb-composer .v-sb-idea-field{font-size:16px;border:0;outline:0;box-shadow:none}
.v-sb-composer .v-sb-idea-field:focus,.v-sb-composer .v-sb-idea-field:focus-visible{border:0!important;outline:none!important;outline-width:0!important;outline-offset:0!important;box-shadow:none!important}

/* The progress page follows the app theme instead of retaining the light demo palette. */
:root[data-theme="dark"] .v-sb-progress{background:#050a12;color:#eef4ff}
:root[data-theme="dark"] .v-sb-progress-top{background:linear-gradient(180deg,rgba(5,10,18,.98),rgba(5,10,18,.92) 72%,rgba(5,10,18,0))}
:root[data-theme="dark"] .v-sb-refresh-status{color:#a8b8c9}
:root[data-theme="dark"] .v-sb-back{border-color:rgba(225,239,255,.16);background:rgba(21,31,45,.9);color:#eef4ff;box-shadow:0 8px 20px rgba(0,0,0,.28)}
:root[data-theme="dark"] .v-sb-brand .eyebrow{color:#9eb3ca}
:root[data-theme="dark"] .v-sb-brand h1{color:#f2f6fd}
:root[data-theme="dark"] .v-sb-progress-meta{color:#a8b8c9}
:root[data-theme="dark"] .v-sb-progress-help-trigger{background:radial-gradient(circle,rgba(30,44,62,.9) 0 16px,rgba(225,239,255,.28) 16px 17px,transparent 17px);color:#d5e4f4}
:root[data-theme="dark"] .v-sb-progress-help-trigger[aria-expanded=true]{background:radial-gradient(circle,#eaf2ff 0 17px,transparent 17px);color:#132238}
:root[data-theme="dark"] .v-sb-progress-help{border-color:rgba(225,239,255,.16);background:rgba(13,23,36,.98);box-shadow:0 18px 44px rgba(0,0,0,.45);color:#f2f6fd}
:root[data-theme="dark"] .v-sb-progress-help p{color:#b4c2d1}
:root[data-theme="dark"] .v-sb-filter{border-color:rgba(225,239,255,.13);background:rgba(21,32,47,.78);color:#b4c2d1}
:root[data-theme="dark"] .v-sb-filter.is-active{background:#18283b;color:#f2f6fd;box-shadow:0 8px 18px rgba(0,0,0,.25)}
:root[data-theme="dark"] .v-sb-count{background:#2a3949;color:#c6d3e0}
:root[data-theme="dark"] .v-sb-status.review{background:#18345b;color:#a9caff}:root[data-theme="dark"] .v-sb-status.review::before{background:#76a9ff}
:root[data-theme="dark"] .v-sb-status.revise{background:#2b2550;color:#c0b4ff}:root[data-theme="dark"] .v-sb-status.revise::before{background:#a392ff}
:root[data-theme="dark"] .v-sb-status.vote{background:#49371a;color:#ffd58a}:root[data-theme="dark"] .v-sb-status.vote::before{background:#f3b84b}
:root[data-theme="dark"] .v-sb-status.adopted{background:#153d30;color:#91e0bc}:root[data-theme="dark"] .v-sb-status.adopted::before{background:#56c994}
:root[data-theme="dark"] .v-sb-card{border-color:rgba(225,239,255,.12);background:rgba(13,23,36,.96);box-shadow:0 18px 40px rgba(0,0,0,.28)}
:root[data-theme="dark"] .v-sb-card.is-featured{background:radial-gradient(120% 90% at 100% 0,rgba(42,70,113,.7),transparent 48%),linear-gradient(180deg,#101d2d,#0c1623)}
:root[data-theme="dark"] .v-sb-card.is-featured::after{background:linear-gradient(145deg,rgba(120,157,221,.38),rgba(61,89,143,.26));opacity:.46}
:root[data-theme="dark"] .v-sb-card h2,:root[data-theme="dark"] .v-sb-card h3{color:#f2f6fd}
:root[data-theme="dark"] .v-sb-summary{color:#b4c2d1}
:root[data-theme="dark"] .v-sb-updated{color:#9eafc0}
:root[data-theme="dark"] .v-sb-chevron{background:#1b2a3b;color:#b8c8d8}
:root[data-theme="dark"] .v-sb-progress-steps::before{background:#334454}
:root[data-theme="dark"] .v-sb-step{color:#9eafc0}
:root[data-theme="dark"] .v-sb-step::before{border-color:#506273;background:#263544}
:root[data-theme="dark"] .v-sb-step.is-done{color:#b8c8d8}
:root[data-theme="dark"] .v-sb-step.is-done::before{border-color:#43b883;background:#43b883;box-shadow:0 0 0 4px #163a2c}
:root[data-theme="dark"] .v-sb-step.is-current{color:#8bb5ff}
:root[data-theme="dark"] .v-sb-step.is-current::before{border-color:#76a9ff;background:#0d1724;box-shadow:0 0 0 4px #19345b}
:root[data-theme="dark"] .v-sb-meta-row{color:#a5b5c5}
:root[data-theme="dark"] .v-sb-avatar{border-color:#0d1724}
:root[data-theme="dark"] .v-sb-skill{background:#1b3150;color:#a9caff}
:root[data-theme="dark"] .v-sb-empty{color:#a5b5c5}
:root[data-theme="dark"] .v-sb-detail-scrim{background:rgba(0,0,0,.58)}
:root[data-theme="dark"] .v-sb-detail{background:#0b1420;color:#eef4ff;box-shadow:0 -18px 50px rgba(0,0,0,.5)}
:root[data-theme="dark"] .v-sb-detail-head{background:linear-gradient(180deg,rgba(11,20,32,.98),rgba(11,20,32,.9) 75%,rgba(11,20,32,0))}
:root[data-theme="dark"] .v-sb-detail-close{border-color:rgba(225,239,255,.16);background:rgba(24,38,54,.9);color:#eef4ff}
:root[data-theme="dark"] .v-sb-detail h2,:root[data-theme="dark"] .v-sb-detail-section h3,:root[data-theme="dark"] .v-sb-record strong{color:#f2f6fd}
:root[data-theme="dark"] .v-sb-detail-section{border-color:rgba(225,239,255,.14)}
:root[data-theme="dark"] .v-sb-detail-section p,:root[data-theme="dark"] .v-sb-detail-author{color:#b4c2d1}
:root[data-theme="dark"] .v-sb-record{border-color:rgba(225,239,255,.1)}
:root[data-theme="dark"] .v-sb-detail-fact{background:#172536}
:root[data-theme="dark"] .v-sb-detail-fact b{color:#f2f6fd}
:root[data-theme="dark"] .v-sb-detail-fact span{color:#a8b8c9}
:root[data-theme="dark"] .v-sb-version{background:#1b3150;color:#a9caff}
:root[data-theme="dark"] .v-sb-detail-note{background:#172536;color:#b4c2d1}

@media(max-width:640px){.v-sb-progress-help{width:min(320px,calc(100vw - 32px))}}

/* Keep the thought composer inside the visual viewport when the iOS keyboard opens. */
html.v-sb-composer-open,html.v-sb-composer-open body{overscroll-behavior:none}
.v-sb-composer-wrap{overflow:hidden;overscroll-behavior:none}
.v-sb-scrim{touch-action:none}
.v-sb-idea-field{overflow-y:auto;overscroll-behavior-y:none;touch-action:pan-y}
.v-sb-composer-wrap{top:var(--v-sb-vv-top,0px);bottom:auto;height:var(--v-sb-vv-height,100dvh);min-height:0;box-sizing:border-box;--v-sb-bubble-fit:calc((var(--v-sb-vv-height,100dvh) - max(8px,var(--safe-top,env(safe-area-inset-top,0px))) - max(8px,var(--safe-bottom,env(safe-area-inset-bottom,0px)))) * .967032967)}
.v-sb-composer-wrap.is-keyboard-open .v-sb-composer{width:min(88vw,360px,var(--v-sb-bubble-fit))}
.v-sb-composer-wrap.is-keyboard-open .v-sb-idea-field{min-height:0;margin:8px 0}
.v-sb-composer-actions{flex-shrink:0}


/* The progress surface fills the viewport and clears the app fade; the floating navigation remains the app's topmost control layer while the page scrolls underneath it. */
html body.v-sb-progress-open .dao-bottom-nav-dock{z-index:130}

/* Day theme: keep the composer light, let the input inherit the bubble, and use only shape-based soft shadows. */
:root[data-theme="light"] .v-sb-scrim{background:rgba(41,57,71,.18);-webkit-backdrop-filter:blur(5px) saturate(1.04);backdrop-filter:blur(5px) saturate(1.04)}
:root[data-theme="light"] .v-sb-composer-asset{filter:drop-shadow(0 18px 30px rgba(52,70,94,.15)) drop-shadow(0 4px 10px rgba(75,94,122,.08))}
:root[data-theme="light"] .v-sb-composer-content{color:#223744}
:root[data-theme="light"] .v-sb-composer h2{color:#20364d}
:root[data-theme="light"] .v-sb-composer-subtitle{color:#536a7f}
:root[data-theme="light"] .v-sb-composer .v-sb-idea-field{background:transparent!important;border:0!important;color:#223744;caret-color:#885d20;box-shadow:none!important}
:root[data-theme="light"] .v-sb-composer{--v-sb-placeholder:#929299}
:root[data-theme="light"] .v-sb-composer-actions .v-sb-progress-link{border-color:rgba(34,55,68,.16);background:rgba(255,255,255,.25);color:#365268}
:root[data-theme="light"] .v-sb-composer-actions .v-sb-send{background:rgba(255,255,255,.88);color:#223744;box-shadow:0 8px 18px rgba(55,75,100,.12)}
/* Release retry marker: keep the published bundle identity unique. */

/* The browser viewport starts below browser chrome. In standalone mode,
   keep the status-bar area opaque and pin the header below the system inset. */
:root{--v-sb-progress-surface:#f4f3ef}
:root[data-theme="dark"]{--v-sb-progress-surface:#050a12}
.v-sb-progress{background:var(--v-sb-progress-surface)}
.v-sb-progress-top{background:var(--v-sb-progress-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
:root[data-theme="dark"] .v-sb-progress-top{background:var(--v-sb-progress-surface)}
:root[data-vovry-display-mode="standalone"]{--v-sb-safe-top:max(var(--safe-top,env(safe-area-inset-top,0px)),44px)}
:root[data-vovry-display-mode="standalone"]{--v-sb-progress-header-space:calc(var(--v-sb-safe-top) + 82px)}
:root[data-vovry-display-mode="standalone"] .v-sb-progress-top{padding-top:calc(16px + var(--v-sb-safe-top));background:var(--v-sb-progress-surface)}
