.ob{max-width:560px;margin:0 auto;padding:28px 20px 64px}.ob-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);padding:28px 24px}.ob h1{font-size:clamp(1.7rem,4.6vw,2.2rem);margin-bottom:.3em}.ob h2{font-size:1.35rem;margin-bottom:.35em}.ob .lead{font-size:1.02rem;margin-bottom:18px}.ob-stack{display:grid;gap:16px}.ob-progress{display:flex;align-items:center;gap:12px;margin-bottom:18px}.ob-bar{flex:1 1;height:6px;background:var(--line);overflow:hidden}.ob-bar,.ob-bar>i{border-radius:99px}.ob-bar>i{display:block;height:100%;background:var(--lagoon-ink);transition:width .3s ease}.ob-count{font:600 .8rem var(--mono);color:var(--ink-2);white-space:nowrap}.ob-back{justify-self:start;text-align:left;background:none;border:0;padding:6px 0;font:600 .92rem var(--body);color:var(--ink-2);cursor:pointer}.ob-back:hover{color:var(--ink)}.ob-tiles{display:grid;gap:10px}.ob-tiles.two{grid-template-columns:1fr 1fr}.ob-tile{position:relative;display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:14px 16px;min-height:56px;background:var(--paper);border:1.5px solid var(--line);border-radius:16px;font:600 1rem var(--body);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.ob-tile:hover{border-color:var(--ink-2)}.ob-tile[aria-checked=true],.ob-tile[aria-pressed=true]{border-color:var(--lagoon-ink);background:var(--mint);box-shadow:inset 0 0 0 1px var(--lagoon-ink)}.ob-tile small{display:block;font-weight:500;font-size:.86rem;color:var(--ink-2);margin-top:2px}.ob-tile .ob-dot{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);background:#fff}.ob-tile[aria-checked=true] .ob-dot{border:6px solid var(--lagoon-ink)}.ob-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.ob-chip{min-height:46px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);font:700 .95rem var(--body);color:var(--ink);cursor:pointer}.ob-chip[aria-checked=true],.ob-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.ob-chip:disabled{opacity:.4;cursor:not-allowed}.ob-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ob-err{color:#8a2a12;font-size:.88rem;font-weight:600}.ob-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ob-pw{position:relative}.ob-pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;font:600 .85rem var(--body);color:var(--lagoon-ink);cursor:pointer;padding:8px}.ob-code-input{font:700 1.6rem var(--mono)!important;letter-spacing:.4em;text-align:center}.ob-actions{display:grid;gap:10px;margin-top:6px}.ob-actions .btn{width:100%}.ob-legal{font-size:.82rem;color:var(--ink-2)}.ob-facts{display:grid;margin:0;padding:4px 14px;list-style:none;border-radius:16px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.ob-facts li{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 0;font-size:.9rem;line-height:1.45}.ob-facts li+li{border-top:1px solid var(--line)}.ob-facts strong{font-size:.84rem;color:var(--ink)}.ob-facts span{color:var(--ink-2)}.ob-kid{border-radius:14px;background:var(--lilac-soft);padding:12px 14px;font-size:.9rem}.ob-kid summary{cursor:pointer;font-weight:700}.ob-kid ul{margin:8px 0 0;padding-left:18px}.ob-avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ob-avatar{aspect-ratio:1;border-radius:20px;border:2px solid transparent;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer;padding:10px}.ob-avatar[aria-checked=true]{border-color:var(--lagoon-ink);background:var(--mint)}.ob-avatar svg{width:100%;height:100%}.ob-codebox{border-radius:20px;background:var(--ink);color:#fff;padding:22px;text-align:center}.ob-codebox .lbl{font:600 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a9b8cc}.ob-codebox .code{font:700 clamp(1.6rem,7vw,2.2rem) var(--mono);letter-spacing:.06em;margin:6px 0 10px}.ob-stop{text-align:center}.ob-stop .ob-icon{width:64px;height:64px;margin:0 auto 12px}.ob-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:14px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:18px}.ob-tabs button{min-height:42px;border:0;border-radius:10px;background:none;font:700 .95rem var(--body);color:var(--ink-2);cursor:pointer}.ob-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(14,27,44,.12)}.ob-learner{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;padding:16px;border-radius:18px;background:var(--paper)}.ob-learner,.ob-learner .av{box-shadow:inset 0 0 0 1px var(--line)}.ob-learner .av{width:56px;height:56px;border-radius:16px;background:var(--surface);padding:8px}.ob-learner .meta{font-size:.88rem;color:var(--ink-2)}.ob-learner .code{font:700 .95rem var(--mono);color:var(--ink)}@media (max-width:420px){.ob-card{padding:22px 18px}.ob-tiles.two{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ob-bar>i{transition:none}}.lc-tag{font:600 .74rem var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);padding:4px 9px;border-radius:99px}.lc-phases{flex:1 1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.lc-phases i{height:6px;border-radius:99px;background:var(--line)}.lc-phases i[data-on="1"]{background:var(--lagoon-ink)}.lc-q{border-radius:20px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);padding:18px 20px}.lc-q p{margin:0 0 8px;font-weight:600}.lc-expr{font:700 clamp(1.7rem,7vw,2.3rem) var(--mono);letter-spacing:.02em;color:var(--ink)}.lc-opt{font:700 1.15rem var(--mono)}.lc-hints{justify-items:start}.lc-fb,.lc-hints{display:grid;gap:8px}.lc-fb{border-radius:18px;padding:16px 18px}.lc-fb.ok{background:var(--lime-2);box-shadow:inset 0 0 0 1px #9ccc2a}.lc-fb.no{background:var(--lilac-soft);box-shadow:inset 0 0 0 1px var(--line)}.lc-fb ol,.lc-fb p{margin:0}.lc-fb ol{padding-left:18px;font:500 .95rem var(--mono)}.lc-result{border-radius:20px;background:var(--ink);color:#fff;padding:22px;text-align:center}.lc-result p{margin:4px 0 0;color:#d9e2ee}.lc-big{font:700 clamp(2.4rem,10vw,3.2rem) var(--mono)}.pcards{display:grid;gap:10px;margin-top:12px}.pcard{border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:12px 14px;font-size:.9rem}.pcard strong{display:block;font-size:.8rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.pcard ul{margin:0;padding-left:18px}