.vow-page{color:#14213d;max-width:760px;margin:0 auto;padding:8px 16px 40px}.vow-eyebrow{letter-spacing:.24em;color:#5a6a88;align-items:center;gap:8px;margin:16px 0 4px;font-size:.78rem;font-weight:900;display:inline-flex}.vow-eyebrow i{background:#22c55e;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 5px #22c55e2e}.vow-page h1{color:#0f1d3d;margin:4px 0 14px;font-family:Oshi Maru,Hiragino Maru Gothic ProN,Arial,sans-serif;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:700}.vow-stage{background:radial-gradient(80% 70% at 50% 40%,#1b2350,#0c1230 70%);border-radius:28px;place-items:center;padding:28px 16px 22px;display:grid}.vow-ring{justify-items:center;gap:calc(var(--size) * .1);--size:220px;--w:max(3px,calc(var(--size) * .035));background:0 0;margin:0;display:inline-grid;position:relative}.vow-ring img{width:var(--size);height:var(--size);object-fit:contain;background:#0c1230;display:block;border-radius:calc(var(--size) * .08)!important}.vow-ring-halo{display:none}.vow-ring.is-active img{outline:var(--w) solid #f7c548;outline-offset:calc(var(--size) * .07);box-shadow:0 0 0 calc(var(--size) * .07) #ffd66e14,0 0 calc(var(--size) * .22) #ffc4408c}.vow-ring.is-active,.vow-ring.is-kept{padding:calc(var(--size) * .1)}.vow-ring.is-kept img{outline:var(--w) solid #5cc483;outline-offset:calc(var(--size) * .05)}.vow-ring.is-broken img{filter:grayscale(.85);opacity:.7}.vow-ring-kept{z-index:2;color:#5a3a00;white-space:nowrap;background:linear-gradient(135deg,#ffe28a,#f2b01e);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:900;display:inline-flex;position:absolute;top:0;right:0;box-shadow:0 4px 12px #00000040}.vow-ring.is-small .vow-ring-kept{gap:0;padding:3px;font-size:0}.vow-ring.is-small .vow-ring-kept svg{width:12px;height:12px}.vow-ring figcaption{z-index:1;letter-spacing:.12em;color:#ffd77a;font-size:.95rem;font-weight:800}.vow-card{background:#fff;border:1px solid #e3e8f2;border-radius:24px;margin-top:16px;padding:20px;box-shadow:0 10px 30px -18px #14213d59}.vow-card h2{align-items:center;gap:8px;margin:0 0 14px;font-size:1.15rem;font-weight:900;display:flex}.vow-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.vow-days button{color:#14213d;font:inherit;cursor:pointer;background:#fff;border:2px solid #e3e8f2;border-radius:18px;justify-items:center;gap:2px;padding:14px 4px;display:grid}.vow-days button b{font-size:1.9rem;font-weight:900;line-height:1.1}.vow-days button span{color:#5a6a88;font-size:.8rem;font-weight:700}.vow-days button[aria-checked=true]{background:#fff6dc;border-color:#f5c133;box-shadow:inset 0 0 0 2px #f5c133}.vow-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.vow-list li{align-items:center;gap:10px;font-size:.95rem;font-weight:800;display:flex}.vow-list li svg{color:#a46c00;background:#fff1c7;border-radius:50%;flex:none;width:26px;height:26px;padding:5px}.vow-cta{color:#2b1d00;width:100%;min-height:60px;font:inherit;cursor:pointer;background:linear-gradient(#ffd45a,#f2ad12);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:18px;font-size:1.15rem;font-weight:900;text-decoration:none;display:flex;box-shadow:0 14px 30px -12px #f2ad12cc}.vow-cta:disabled{opacity:.6}.vow-note{text-align:center;color:#7a879f;margin:12px 0 0;font-size:.8rem;line-height:1.7}.vow-error{color:#c0392b;text-align:center;margin:12px 0 0;font-weight:800}.vow-done p{margin:0 0 14px;line-height:1.7}.vow-actions{flex-wrap:wrap;gap:8px;display:flex}.vow-pick{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.vow-pick button{width:100%;font:inherit;color:inherit;cursor:pointer;background:#f8faff;border:1px solid #e3e8f2;border-radius:18px;justify-items:center;gap:6px;padding:12px 6px;display:grid}.vow-pick span{font-size:.85rem;font-weight:800}.vow-pick small{color:#a46c00;font-size:.7rem;font-weight:800}.vow-mine{gap:10px;margin:0;padding:0;list-style:none;display:grid}.vow-mine li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.vow-mine li>span{display:grid}.vow-mine small{color:#5a6a88}.vow-mine em,.vows-list em{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-style:normal;font-weight:900;display:inline-flex}.vow-mine em.is-active{color:#8a5a00;background:#fff1c7}.vow-mine em.is-kept{color:#1d6b3a;background:#e2f6e8}.vow-mine em.is-broken{color:#6b7280;background:#f3f4f6}.vows-lead{color:#46536e;margin:0 0 14px;line-height:1.8}.vow-cta.is-link{max-width:420px}.vows-tabs{flex-wrap:wrap;gap:8px;margin:22px 0 12px;display:flex}.vows-tabs button{min-height:42px;font:inherit;color:#14213d;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e3e8f2;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:800;display:inline-flex}.vows-tabs button b{font-variant-numeric:tabular-nums}.vows-tabs button[aria-selected=true].is-active{background:#fff1c7;border-color:#f5c133}.vows-tabs button[aria-selected=true].is-kept{background:#e2f6e8;border-color:#5cc483}.vows-tabs button[aria-selected=true].is-broken{background:#eef0f3;border-color:#b6bcc6}.vows-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.vows-list li{background:#fff;border:1px solid #e3e8f2;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.vows-body{gap:3px;min-width:0;display:grid}.vows-body strong{font-size:1rem}.vows-body strong small{color:#8a5a00;margin-left:6px;font-size:.75rem}.vows-who{color:#1f5fae;align-items:center;gap:6px;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.vows-who img{border-radius:50%}.vows-when{color:#5a6a88;font-size:.8rem}.vows-check{color:#5a6a88;align-items:center;gap:3px;font-size:.75rem;font-weight:800;display:inline-flex}@media (max-width:560px){.vow-card{padding:16px}.vow-days button b{font-size:1.6rem}}
