:root{--beacon-ink:#123b50;--beacon-soft:#527083;--beacon-blue:#2f789e;--beacon-deep:#0b5577;--beacon-gold:#e6b95c;--beacon-line:rgba(47,120,158,.19);--beacon-paper:rgba(255,255,255,.9)}
.bs-beacon-page{background:linear-gradient(180deg,#edf8fc 0,#fffdf7 36%,#f6fbfd 100%);color:var(--beacon-ink)}
.bs-beacon-shell{width:min(100%,1080px);margin:0 auto;padding-bottom:2rem}
.bs-beacon-welcome{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:1rem;align-items:center;margin:.55rem auto .85rem;padding:clamp(1rem,3vw,1.55rem);border:1px solid var(--beacon-line);border-radius:28px;background:radial-gradient(circle at 12% 10%,#fff 0,rgba(255,255,255,.78) 32%,transparent 33%),linear-gradient(135deg,#e0f4fb,#fff4d6);box-shadow:0 20px 48px rgba(12,63,88,.1);overflow:hidden}
.bs-beacon-welcome h1{margin:.18rem 0 .18rem;color:var(--beacon-ink);font-size:clamp(2rem,5vw,3.7rem);line-height:.96;letter-spacing:-.045em}
.bs-beacon-welcome p{max-width:66ch;margin:.48rem 0 0;color:var(--beacon-soft);font-size:1rem;line-height:1.46}
.bs-beacon-welcome .bs-beacon-date{margin:.35rem 0 0;color:var(--beacon-deep);font-weight:800}
.bs-beacon-kicker{display:block;color:var(--beacon-blue);font-size:.76rem;font-weight:900;letter-spacing:.105em;text-transform:uppercase}
.bs-beacon-mark{position:relative;width:150px;aspect-ratio:1;justify-self:end;border-radius:50%;background:radial-gradient(circle,#fff 0 11%,#f4c563 12% 17%,transparent 18% 38%,rgba(255,255,255,.6) 39% 42%,transparent 43%),linear-gradient(145deg,#bde8f6,#fff0bd);box-shadow:inset 0 0 0 1px rgba(47,120,158,.13),0 18px 35px rgba(25,94,125,.13)}
.bs-beacon-mark:before,.bs-beacon-mark:after{content:"";position:absolute;inset:18%;border:2px solid rgba(47,120,158,.3);border-radius:50%;transform:rotate(35deg)}
.bs-beacon-mark:after{inset:29%;transform:rotate(-28deg)}
.bs-beacon-mark span{position:absolute;width:16px;height:16px;left:13%;top:46%;border-radius:50%;background:var(--beacon-blue);box-shadow:0 0 0 7px rgba(47,120,158,.11)}
.bs-beacon-privacy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:center;margin:.8rem auto;padding:.9rem 1rem;border:1px solid rgba(44,133,104,.2);border-radius:20px;background:rgba(239,250,245,.9)}
.bs-beacon-privacy h2{margin:.12rem 0 .25rem;color:#195c49;font-size:clamp(1.15rem,2.5vw,1.55rem)}
.bs-beacon-privacy p{margin:0;color:#41675c;line-height:1.42}
.bs-beacon-lock{display:grid;place-items:center;width:48px;aspect-ratio:1;border-radius:15px;background:#d8f2e8;color:#176047;font-size:1.35rem;font-weight:900}
.bs-beacon-form{display:grid;gap:.78rem}
.bs-beacon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.78rem}
.bs-beacon-card{padding:1rem;border:1px solid var(--beacon-line);border-radius:21px;background:var(--beacon-paper);box-shadow:0 12px 28px rgba(12,63,88,.065);min-width:0}
.bs-beacon-card>label:first-child,.bs-beacon-card-heading{display:flex;gap:.6rem;align-items:center;margin-bottom:.68rem;color:var(--beacon-ink)}
.bs-beacon-card label strong,.bs-beacon-card-heading strong{font-size:1.03rem;line-height:1.2}
.bs-beacon-step{display:grid;place-items:center;flex:0 0 28px;width:28px;aspect-ratio:1;border-radius:50%;background:#dff3fa;color:var(--beacon-deep);font-size:.78rem;font-weight:900}
.bs-beacon-card input,.bs-beacon-card textarea,.bs-beacon-card select{display:block;width:100%;box-sizing:border-box;border:1px solid rgba(47,120,158,.22);border-radius:14px;background:#fbfeff;color:var(--beacon-ink);font:inherit;font-size:1rem;line-height:1.42;padding:.78rem .85rem;outline:none;transition:border-color .15s,box-shadow .15s}
.bs-beacon-card textarea{resize:vertical;min-height:7.4rem}
.bs-beacon-card input:focus,.bs-beacon-card textarea:focus,.bs-beacon-card select:focus{border-color:var(--beacon-blue);box-shadow:0 0 0 4px rgba(47,120,158,.11)}
.bs-beacon-focus-card input{font-size:clamp(1.05rem,2vw,1.23rem);font-weight:700;background:#fffdf6;border-color:rgba(205,154,55,.27)}
.bs-beacon-subfield{display:block;margin:.65rem 0 .35rem;color:var(--beacon-soft);font-size:.78rem;font-weight:800}
.bs-beacon-card-heading>div{display:grid}.bs-beacon-card-heading small{margin-top:.15rem;color:var(--beacon-soft);font-size:.82rem;font-weight:600}
.bs-beacon-links{display:grid;gap:.55rem}
.bs-beacon-link-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(220px,1.25fr) auto;gap:.55rem;align-items:end;padding:.62rem;border-radius:15px;background:rgba(231,247,252,.55)}
.bs-beacon-link-row label span{display:block;margin:0 0 .28rem;color:var(--beacon-soft);font-size:.75rem;font-weight:800}
.bs-beacon-link-row input{padding:.65rem .72rem}
.bs-beacon-link-row a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 .78rem;border-radius:12px;background:#dff3fa;color:var(--beacon-deep);font-size:.85rem;font-weight:900;text-decoration:none}
.bs-beacon-savebar{position:sticky;bottom:.5rem;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;margin:.9rem auto;padding:.75rem .85rem;border:1px solid rgba(47,120,158,.24);border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(12,63,88,.16);backdrop-filter:blur(12px)}
.bs-beacon-save-state{display:flex;gap:.58rem;align-items:center}.bs-beacon-save-state>div{display:grid;gap:.1rem}.bs-beacon-save-state strong{color:var(--beacon-ink);font-size:.9rem}.bs-beacon-save-state small{color:var(--beacon-soft);font-size:.75rem}
.bs-beacon-saved-dot{width:11px;height:11px;border-radius:50%;background:#3d9679;box-shadow:0 0 0 5px rgba(61,150,121,.12)}
.bs-beacon-savebar.is-saving .bs-beacon-saved-dot{background:var(--beacon-gold);box-shadow:0 0 0 5px rgba(230,185,92,.15)}
.bs-beacon-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.bs-beacon-actions button{min-height:38px;padding:.44rem .65rem;border:1px solid rgba(47,120,158,.2);border-radius:11px;background:#e4f5fb;color:var(--beacon-deep);font:inherit;font-size:.77rem;font-weight:900;cursor:pointer}.bs-beacon-actions button:hover{transform:translateY(-1px)}.bs-beacon-actions .bs-beacon-clear{background:#fff7f4;color:#92533f;border-color:rgba(146,83,63,.16)}
.bs-beacon-footnote{margin:1rem auto 0;padding:1rem;text-align:center;border-radius:21px;background:linear-gradient(135deg,rgba(255,248,224,.7),rgba(232,247,252,.72));border:1px solid var(--beacon-line)}
.bs-beacon-footnote h2{margin:.1rem 0 .35rem;color:var(--beacon-ink);font-size:1.2rem}.bs-beacon-footnote p{max-width:78ch;margin:.35rem auto;color:var(--beacon-soft);font-size:.9rem;line-height:1.45}.bs-beacon-footnote .bs-beacon-signoff{margin-top:.72rem;color:var(--beacon-deep);font-weight:900}
.bs-beacon-noscript{padding:1rem;border-radius:15px;background:#fff2e6;color:#743e23;font-weight:700}
.bs-beacon-daybar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;margin:.8rem auto;padding:.75rem;border:1px solid var(--beacon-line);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 10px 25px rgba(12,63,88,.055)}
.bs-beacon-daytabs{display:flex;gap:.3rem;padding:.25rem;border-radius:14px;background:#eaf7fb}.bs-beacon-daytabs button,.bs-beacon-new-day{min-height:42px;padding:.55rem .82rem;border:1px solid transparent;border-radius:11px;color:var(--beacon-deep);font:inherit;font-size:.86rem;font-weight:900;cursor:pointer}.bs-beacon-daytabs button{background:transparent}.bs-beacon-daytabs button[aria-selected=true]{background:#fff;border-color:rgba(47,120,158,.18);box-shadow:0 5px 12px rgba(12,63,88,.09)}.bs-beacon-day-heading{display:grid;gap:.13rem;text-align:center}.bs-beacon-day-heading strong{color:var(--beacon-ink);font-size:.95rem}.bs-beacon-new-day{background:#fff7dc;border-color:rgba(205,154,55,.23);color:#755413}
.bs-beacon-day-actions{display:flex;gap:.4rem}.bs-beacon-day-actions>button{min-height:42px;padding:.55rem .72rem;border:1px solid rgba(47,120,158,.2);border-radius:11px;background:#e5f5fb;color:var(--beacon-deep);font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}.bs-beacon-day-actions .bs-beacon-new-day{background:#fff7dc;border-color:rgba(205,154,55,.23);color:#755413}
.bs-beacon-essentials{border:1px solid rgba(205,154,55,.28);border-radius:21px;background:linear-gradient(135deg,#fffdf5,#eef9fc);box-shadow:0 12px 28px rgba(12,63,88,.06);overflow:hidden}.bs-beacon-essentials summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;cursor:pointer;list-style:none}.bs-beacon-essentials summary::-webkit-details-marker{display:none}.bs-beacon-essentials summary strong{display:block;margin-top:.12rem;color:var(--beacon-ink);font-size:1.25rem}.bs-beacon-essentials-summary{max-width:40ch;color:var(--beacon-soft);font-size:.84rem;text-align:right}.bs-beacon-essentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0 1rem 1rem}.bs-beacon-essentials-grid label{display:grid;gap:.3rem;color:var(--beacon-soft);font-size:.78rem;font-weight:900}.bs-beacon-essentials-grid input,.bs-beacon-essentials-grid textarea{box-sizing:border-box;width:100%;padding:.7rem .75rem;border:1px solid var(--beacon-line);border-radius:12px;background:#fff;color:var(--beacon-ink);font:inherit;font-size:.95rem}.bs-beacon-essential-wide{grid-column:1/-1;position:relative}.bs-beacon-essential-wide button{position:absolute;right:.4rem;bottom:.4rem;padding:.4rem .55rem;border:0;border-radius:9px;background:#e4f5fb;color:var(--beacon-deep);font-weight:900;cursor:pointer}.bs-beacon-copy-all{margin:0 1rem 1rem;padding:.55rem .75rem;border:1px solid rgba(47,120,158,.2);border-radius:11px;background:#fff;color:var(--beacon-deep);font-weight:900;cursor:pointer}
.bs-beacon-link-dialog{width:min(92vw,650px);padding:0;border:1px solid var(--beacon-line);border-radius:23px;background:#f8fcfd;color:var(--beacon-ink);box-shadow:0 28px 80px rgba(6,38,54,.3)}.bs-beacon-link-dialog::backdrop{background:rgba(4,28,42,.58);backdrop-filter:blur(3px)}.bs-beacon-link-inner{padding:1rem}.bs-beacon-link-head{display:flex;justify-content:space-between;gap:1rem}.bs-beacon-link-head h2{margin:.15rem 0;font-size:clamp(1.3rem,4vw,1.9rem)}.bs-beacon-link-head>button{width:38px;height:38px;border:1px solid var(--beacon-line);border-radius:50%;background:#fff;color:var(--beacon-deep);font-size:1.25rem}.bs-beacon-link-inner>p{color:var(--beacon-soft);line-height:1.45}.bs-beacon-link-status{padding:.7rem;border-radius:13px;background:#eaf7fb;color:var(--beacon-deep);font-weight:850}.bs-beacon-pairing{display:grid;gap:.5rem;margin-top:.7rem}.bs-beacon-pairing label{display:grid;gap:.3rem;font-size:.8rem;font-weight:850}.bs-beacon-pairing input{width:100%;box-sizing:border-box;padding:.65rem;border:1px solid var(--beacon-line);border-radius:11px;background:#fff}.bs-beacon-pairing button,.bs-beacon-link-buttons button{padding:.6rem .75rem;border:1px solid rgba(47,120,158,.2);border-radius:11px;background:#dff3fa;color:var(--beacon-deep);font:inherit;font-weight:900;cursor:pointer}.bs-beacon-pairing small{color:var(--beacon-soft);line-height:1.4}.bs-beacon-link-buttons{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.bs-beacon-link-buttons .bs-beacon-unlink{background:#fff5f2;color:#8b4b39}
.bs-beacon-tasks{display:grid;gap:.45rem}.bs-beacon-task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center}.bs-beacon-task>input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0}.bs-beacon-task>span{display:grid;place-items:center;width:25px;aspect-ratio:1;border:2px solid rgba(47,120,158,.32);border-radius:50%;background:#fff;cursor:pointer}.bs-beacon-task>input[type=checkbox]:checked+span{border-color:#3d9679;background:#3d9679}.bs-beacon-task>input[type=checkbox]:checked+span:after{content:'✓';color:#fff;font-size:.8rem;font-weight:900}.bs-beacon-task>input[type=checkbox]:focus-visible+span{box-shadow:0 0 0 4px rgba(47,120,158,.14)}.bs-beacon-task>input[type=checkbox]:checked~input{text-decoration:line-through;color:#71858e;background:#f3f8f6}.bs-beacon-task>input[type=text]{padding:.58rem .7rem}
.bs-beacon-always-card textarea{min-height:5.5rem;background:#fffdf6;border-color:rgba(205,154,55,.25)}
.bs-beacon-recent{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:1rem;align-items:start;margin:.9rem auto;padding:1rem;border:1px solid var(--beacon-line);border-radius:22px;background:linear-gradient(135deg,rgba(229,246,252,.82),rgba(255,249,229,.7))}.bs-beacon-recent h2{margin:.15rem 0 .3rem;color:var(--beacon-ink);font-size:clamp(1.25rem,3vw,1.7rem)}.bs-beacon-recent p{margin:0;color:var(--beacon-soft);font-size:.9rem;line-height:1.45}.bs-beacon-recent-list{display:grid;gap:.45rem}.bs-beacon-recent-day{display:grid;grid-template-columns:minmax(95px,.32fr) minmax(0,1fr);gap:.7rem;align-items:center;width:100%;padding:.7rem .75rem;border:1px solid rgba(47,120,158,.16);border-radius:14px;background:rgba(255,255,255,.88);color:var(--beacon-ink);font:inherit;text-align:left;cursor:pointer}.bs-beacon-recent-day strong{color:var(--beacon-deep);font-size:.78rem}.bs-beacon-recent-day span{overflow:hidden;color:var(--beacon-soft);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.bs-beacon-empty{padding:.8rem;border-radius:14px;background:rgba(255,255,255,.62);text-align:center}
@media(max-width:760px){.bs-beacon-welcome{grid-template-columns:1fr;text-align:center}.bs-beacon-mark{width:115px;justify-self:center;grid-row:1}.bs-beacon-daybar{grid-template-columns:1fr}.bs-beacon-daytabs,.bs-beacon-day-actions{justify-content:center}.bs-beacon-day-actions>button{flex:1}.bs-beacon-grid,.bs-beacon-essentials-grid{grid-template-columns:1fr}.bs-beacon-essential-wide{grid-column:auto}.bs-beacon-essentials summary{grid-template-columns:1fr}.bs-beacon-essentials-summary{text-align:left}.bs-beacon-link-row{grid-template-columns:1fr}.bs-beacon-link-row a{width:100%;box-sizing:border-box}.bs-beacon-recent{grid-template-columns:1fr}.bs-beacon-savebar{position:static;grid-template-columns:1fr}.bs-beacon-actions{justify-content:stretch}.bs-beacon-actions button{flex:1 1 45%}}
@media(max-width:440px){.bs-beacon-shell{padding-left:.15rem;padding-right:.15rem}.bs-beacon-privacy{grid-template-columns:1fr;text-align:center}.bs-beacon-lock{margin:auto}.bs-beacon-actions button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
