:root{--bg: #faf7f0;--surface: #ffffff;--ink: #23301f;--ink-soft: #4d5c48;--green: #2f5d3a;--green-deep: #234a2d;--gold: #7a5406;--gold-bg: #fdf3dc;--blue: #1d4f6e;--red: #a32b1d;--red-deep: #7c1f14;--line: #ddd6c8;--radius: 12px;--tap: 48px}*{box-sizing:border-box}html{font-size:17px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:1.45rem;margin:0 0 .5rem}h2{font-size:1.15rem;margin:1.25rem 0 .5rem}h3{font-size:1rem;margin:1rem 0 .35rem}p{margin:.4rem 0}a{color:var(--green-deep)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.app{min-height:100dvh;display:flex;flex-direction:column}.main{flex:1;padding:1rem 1rem calc(84px + env(safe-area-inset-bottom));max-width:720px;width:100%;margin:0 auto}.topbar{position:sticky;top:0;z-index:20;background:var(--green);color:#fff;padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top));display:flex;align-items:center;gap:.75rem}.topbar .title{font-weight:700;font-size:1.05rem;flex:1}.emergency-button{background:var(--red);color:#fff;border:2px solid #fff;border-radius:999px;font-weight:800;font-size:1rem;min-height:var(--tap);padding:0 1.1rem;cursor:pointer}.emergency-button:active{background:var(--red-deep)}.offline-banner{background:var(--gold-bg);color:var(--gold);font-weight:600;text-align:center;padding:.4rem 1rem;border-bottom:1px solid var(--line)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;text-decoration:none;color:var(--ink-soft);font-size:.72rem;font-weight:600}.tabbar a.active{color:var(--green-deep)}.tabbar .icon{font-size:1.35rem;line-height:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin:.6rem 0}.list{list-style:none;margin:0;padding:0}.list>li{margin:.5rem 0}.row-link{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;text-decoration:none;color:var(--ink);min-height:var(--tap)}.row-link:active{background:#f2eee2}.row-link .sub{color:var(--ink-soft);font-size:.86rem;display:block;margin-top:2px}.breadcrumbs{font-size:.86rem;color:var(--ink-soft);margin-bottom:.5rem}.breadcrumbs a{color:var(--ink-soft)}.badge{display:inline-block;border-radius:999px;padding:.1rem .65rem;font-size:.78rem;font-weight:700;border:1px solid transparent}.badge.documented{background:#e4efe4;color:var(--green-deep)}.badge.gap{background:var(--gold-bg);color:var(--gold);border-color:#e5c986}.badge.recommended{background:#e3edf4;color:var(--blue)}.badge.locked{background:#eee;color:#555}.badge.type{background:#f0ece0;color:var(--ink-soft)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface);border:1.5px solid var(--green);color:var(--green-deep);border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:600;text-decoration:none;min-height:40px}.chip.locked{border-color:#999;color:#555}.chip .rel{font-weight:400;color:var(--ink-soft);font-size:.78rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--green);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;min-height:var(--tap);padding:0 1.2rem;cursor:pointer;text-decoration:none}.button:disabled{opacity:.5;cursor:default}.button.secondary{background:var(--surface);color:var(--green-deep);border:2px solid var(--green)}.button.danger{background:var(--red)}.button.small{min-height:40px;font-size:.9rem;padding:0 .9rem}.button-row{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}label.field{display:block;margin:.8rem 0;font-weight:600}label.field .hint{font-weight:400;color:var(--ink-soft);font-size:.85rem}input[type=text],input[type=email],input[type=date],input[type=tel],input[type=number],input[type=url],textarea,select{display:block;width:100%;margin-top:.3rem;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:8px;padding:.6rem .7rem;min-height:var(--tap)}textarea{min-height:5.5rem}.checkbox-field{display:flex;align-items:center;gap:.6rem;margin:.8rem 0;font-weight:600}.checkbox-field input{width:1.5rem;height:1.5rem}.step{display:flex;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--line);align-items:flex-start}.step .num{flex:none;width:2rem;height:2rem;border-radius:999px;background:var(--green);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}.step.warning{background:var(--gold-bg);border-radius:8px;padding:.7rem}.step.warning .num{background:var(--gold)}.warning-banner{background:var(--gold-bg);border:1.5px solid #e5c986;color:var(--gold);font-weight:700;border-radius:8px;padding:.6rem .9rem;margin:.6rem 0}.step input[type=checkbox]{width:1.7rem;height:1.7rem;flex:none;margin-top:2px}.emergency-screen{background:#fff}.emergency-card{border:3px solid var(--red);border-radius:var(--radius);padding:1.1rem;margin:.9rem 0;background:#fff}.emergency-card h2{color:var(--red-deep);font-size:1.5rem;margin:0 0 .6rem}.emergency-card .action{font-size:1.25rem;font-weight:700;padding:.55rem 0;border-bottom:1px solid var(--line)}.emergency-card .call{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;font-size:1.15rem}.emergency-card .call a{background:var(--red);color:#fff;text-decoration:none;font-weight:800;border-radius:10px;padding:.55rem 1rem;min-height:var(--tap);display:inline-flex;align-items:center}.diff{font-size:.92rem}.diff .field-name{font-weight:700;margin-top:.6rem}.diff .before{background:#fdeceb;text-decoration:line-through;padding:.15rem .4rem;border-radius:4px;display:block;margin:2px 0;color:var(--red-deep)}.diff .after{background:#e4efe4;padding:.15rem .4rem;border-radius:4px;display:block;margin:2px 0;color:var(--green-deep)}.guide-thread{display:flex;flex-direction:column;gap:.7rem}.bubble{border-radius:var(--radius);padding:.75rem 1rem;max-width:92%}.bubble.user{background:var(--green);color:#fff;align-self:flex-end}.bubble.guide{background:var(--surface);border:1px solid var(--line);align-self:flex-start;white-space:pre-wrap}.bubble.refusal{border-color:#e5c986;background:var(--gold-bg)}.guide-input{display:flex;gap:.5rem;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--bg);padding:.5rem 0}.guide-input input{flex:1;min-height:var(--tap)}.site-map{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:#eef3ea;touch-action:manipulation}.map-pin{cursor:pointer}.map-pin text{font-size:11px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px}.muted{color:var(--ink-soft);font-size:.9rem}.error-text{color:var(--red-deep);font-weight:600}.empty{text-align:center;color:var(--ink-soft);padding:2rem 1rem}.section-label{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--ink-soft);font-weight:700;margin:1.2rem 0 .3rem}.filter-row{display:flex;gap:.5rem;overflow-x:auto;padding:.4rem 0}.filter-row select{min-width:8rem}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:.6rem 1rem;z-index:100}.skip-link:focus{left:0}@media print{.topbar,.tabbar,.button,.button-row,.guide-input,.offline-banner{display:none!important}.main{padding:0;max-width:none}body{background:#fff;font-size:12pt}.emergency-card{break-inside:avoid}.card{border:1px solid #999}}
