:root{--bg: #f8f8f6;--surface: #ffffff;--ink: #1c1c1c;--ink-soft: #4a4a4a;--ink-muted: #6f6f6f;--border: #e3e1dd;--accent: #2f6b5e;--accent-soft: #d8eae4;--pink: #f4c6d2;--pink-ink: #1c1c1c;--yellow: #f6dca0;--yellow-ink: #1c1c1c;--warn: #b3322a;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);--radius: 10px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.15rem;color:var(--ink)}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.login{font-size:.9rem;color:var(--ink-soft);background:transparent;border:1px solid var(--border);padding:6px 12px;border-radius:8px;cursor:pointer}.login:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.search{flex:1;max-width:420px;margin:0 24px;position:relative}.search input{width:100%;padding:7px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font:inherit;font-size:.92rem;color:var(--ink)}.search input::placeholder{color:var(--ink-muted)}.search input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);max-height:60vh;overflow-y:auto;z-index:100}.search-result{display:block;padding:10px 14px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--ink)}.search-result:last-child{border-bottom:none}.search-result:hover,.search-result:focus{background:var(--accent-soft);text-decoration:none;outline:none}.search-title{font-weight:600;font-size:.92rem;margin-bottom:2px;color:var(--ink)}.search-snippet{font-size:.82rem;color:var(--ink-soft);line-height:1.45}.search-snippet mark{background:#2f6b5e2e;color:var(--ink);padding:0 2px;border-radius:2px}.search-empty{padding:12px 14px;color:var(--ink-muted);font-size:.88rem}@media(max-width:720px){.search{margin:0 12px;max-width:none}.search input{font-size:16px}}.body{display:grid;grid-template-columns:240px 1fr 280px;gap:0;align-items:stretch}@media(max-width:1000px){.body{grid-template-columns:200px 1fr}.timers-rail{display:none}}@media(max-width:720px){.body{grid-template-columns:1fr}.tab-rail{display:none}}.tab-rail{background:var(--surface);border-right:1px solid var(--border);padding:16px 0;position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px);overflow-y:auto}.tab-rail-title{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:var(--ink-muted);padding:0 18px 8px}.tab-list{list-style:none;padding:0;margin:0}.tab-item a{display:block;padding:9px 18px;color:var(--ink-soft);font-size:.92rem;border-left:3px solid transparent}.tab-item a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.tab-item a.active{background:var(--accent-soft);color:var(--accent);border-left-color:var(--accent);font-weight:600}.content{padding:28px 36px 80px;max-width:880px;margin:0 auto;width:100%}.content h1{font-size:1.6rem;margin:0 0 .5em;line-height:1.25}.content h2{font-size:1.1rem;margin:1.8em 0 .6em;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.content h3{font-size:1rem;margin:1.4em 0 .4em}.content p{margin:.6em 0}.content ol,.content ul{padding-left:1.4em;margin:.6em 0}.content ol>li,.content ul>li{margin:.35em 0}.content ol ol,.content ol ul,.content ul ol,.content ul ul{margin:.25em 0}.ex,.tip{display:block;margin:.4em 0 .4em 1.4em;padding:.5em .8em;border-radius:6px;font-size:.95em}.ex{background:#f3f1ed;border-left:3px solid var(--ink-muted);font-style:italic;color:var(--ink-soft)}.ex:before{content:"Ex: ";font-weight:700;font-style:normal;color:var(--ink)}.tip{background:#fff8e5;border-left:3px solid #d9a93b}.tip:before{content:"Tip: ";font-weight:700;color:#8a6b1c}.cardinal-rules{margin-top:2em;padding:16px 20px;background:#fafaf8;border:1px solid var(--border);border-radius:var(--radius)}.cardinal-rules h2{margin:0 0 .4em;color:var(--warn);font-size:.85rem}.fg-footer{margin-top:3em;padding-top:1em;border-top:1px solid var(--border);font-size:.8rem;color:var(--ink-muted);display:flex;justify-content:space-between}.card-pink{background:linear-gradient(180deg,#f4c6d2,#efb6c5);border-radius:var(--radius);padding:24px 28px;color:var(--pink-ink)}.card-pink h1,.card-pink h2{color:var(--pink-ink)}.card-yellow{background:linear-gradient(180deg,#f6dca0,#f1cf85);border-radius:var(--radius);padding:24px 28px;color:var(--yellow-ink)}.card-yellow h1,.card-yellow h2{color:var(--yellow-ink)}.card-white{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px}.lede{background:#fff9;border:1px solid rgba(0,0,0,.08);padding:12px 14px;border-radius:6px;margin:0 0 1em;font-size:.95em}.timers-rail{padding:20px 18px;background:var(--surface);border-left:1px solid var(--border);position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px)}.timer{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px}.timer-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:6px}.timer-display{font-family:var(--mono);font-size:1.6rem;font-weight:600;color:var(--ink);letter-spacing:.02em;font-variant-numeric:tabular-nums;background:transparent;border:1px dashed transparent;padding:2px 6px;border-radius:6px;cursor:pointer;width:100%;text-align:left}.timer-display:hover:not(.is-running){border-color:var(--border);background:#00000005}.timer-display.is-running{cursor:default}.timer-display.is-done{color:var(--warn);animation:pulse .9s ease-in-out 3}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.timer-presets{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.preset-chip{flex:1 0 auto;min-width:36px;font-size:.74rem;padding:3px 8px;border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:999px;cursor:pointer;font-variant-numeric:tabular-nums}.preset-chip:hover{border-color:var(--accent);color:var(--accent)}.preset-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.timer-actions{display:flex;gap:6px;margin-top:10px}.timer-actions button:disabled{opacity:.45;cursor:not-allowed}.timer-actions button{flex:1;border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:6px 8px;border-radius:6px;font-size:.82rem;cursor:pointer}.timer-actions button:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.timer-actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.timer-actions button.primary:hover{background:#245549}.timer-actions button.danger{color:var(--warn)}.flowchart{display:grid;grid-template-columns:1fr;gap:18px}.fc-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.fc-box{background:#d4c6a8;border:1px solid #a08e6a;border-radius:8px;padding:12px 14px;min-width:160px;text-align:center;font-size:.92rem}.fc-box.call988{background:#1c1c1c;color:#fff;font-weight:700;border-radius:999px;padding:12px 22px;min-width:unset}.fc-box.action{background:#e8dec5}.fc-arrow{color:var(--ink-soft);font-size:1.1rem;display:inline-flex;align-items:center;gap:4px}.fc-arrow .label{font-size:.78rem;color:var(--ink-muted)}.landing-hero{padding:12px 0 24px;border-bottom:1px solid var(--border);margin-bottom:24px}.landing-hero h1{font-size:2rem;margin:0 0 .3em;line-height:1.2}.landing-sub{font-size:1.05rem;color:var(--ink-soft);max-width:56ch;margin:0 0 1.2em}.landing-cta{margin-top:.4em}.btn-primary{display:inline-block;background:var(--accent);color:#fff;padding:10px 18px;border-radius:8px;font-weight:600;text-decoration:none}.btn-primary:hover{background:#245549;text-decoration:none}.landing-group{margin-bottom:28px}.landing-group h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0 0 10px}.landing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.landing-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:border-color .12s,transform .12s}.landing-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.landing-card-title{font-weight:600;font-size:.98rem}.landing-card-meta{font-size:.82rem;color:var(--ink-muted)}.landing-tips{background:var(--accent-soft);border-radius:var(--radius);padding:16px 20px;margin-top:8px}.landing-tips h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 .4em}.landing-tips ul{margin:0;padding-left:1.2em;color:var(--ink-soft)}.landing-tips li{margin:.3em 0}@media print{.header,.tab-rail,.timers-rail,.login{display:none}.body{grid-template-columns:1fr}.content{max-width:none;padding:0}}
