:root{--bg: #FBF9F5;--card: #FFFFFF;--zone: #F1ECE3;--border: #DFD6C4;--stroke: #B9AD97;--ink: #211D17;--muted: #6B6155;--wine: #8C2F3C;--wine-soft: #F3E1E1;--brass: #9A7530;--brass-soft: #F2E7CE;--brass-text: #6F5220;--good: #46613C;--good-soft: #E4ECDD;--sans: "Archivo", system-ui, -apple-system, sans-serif;--serif: "Fraunces", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:#e9e3d8;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.4;overscroll-behavior:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.app{position:relative;height:100dvh;max-width:430px;margin:0 auto;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}@media(min-width:431px){.app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.page{flex:1;min-height:0;display:flex;flex-direction:column}.page.dark{background:var(--ink);color:var(--bg)}.scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px 24px}.demo-banner{flex-shrink:0;background:var(--brass-soft);color:var(--brass-text);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-align:center;padding:calc(var(--safe-top) + 4px) 8px 4px}.demo-banner+.page .hdr{padding-top:6px}.hdr{display:flex;align-items:center;gap:4px;padding:calc(var(--safe-top) + 12px) 20px 6px;min-height:44px;flex-shrink:0}.hdr h1{flex:1;margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;line-height:1.15}.hdr.big h1{font-size:30px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer}.hdr .back{margin-left:-12px}.hdr .iconbtn:last-child{margin-right:-10px}.mono{font-family:var(--mono);font-size:12px;color:var(--muted)}.label{margin:18px 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline}.label a{font-family:var(--sans);font-size:13px;color:var(--wine);font-weight:500;letter-spacing:0;text-transform:none;padding:6px 0}.title-xl{font-family:var(--serif);font-style:italic;font-weight:500;font-size:28px;line-height:1.15;margin:8px 0 4px}.muted{color:var(--muted)}.small{font-size:13px}.tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:3px 7px;border-radius:2px}.tag.critique{background:var(--wine-soft);color:var(--wine)}.tag.eleve{background:var(--brass-soft);color:var(--brass-text)}.tag.modere{background:var(--zone);color:var(--muted)}.tag.faible{background:var(--card);color:var(--muted);border:1px solid var(--border)}.tag.new{background:transparent;color:var(--brass-text);border:1px dashed var(--brass);padding:2px 6px}.tag.done{background:var(--good-soft);color:var(--good)}.card{background:var(--card);border:1px solid var(--border);border-radius:3px;padding:14px 16px;margin-bottom:10px}.card.zone{background:var(--zone);border-color:var(--zone)}.card.flush{padding:0}.card.hl{border-color:var(--wine)}.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);min-height:44px}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .ttl{font-size:16px;font-weight:500;line-height:1.25;margin-top:5px}.row .ttl.first{margin-top:0}.list{border-top:1px solid var(--border)}.kpis{display:flex}.kpi{flex:1;padding:12px 12px 10px;border-right:1px solid var(--border)}.kpi:last-child{border-right:0}.kpi .n{font-family:var(--serif);font-style:italic;font-weight:500;font-size:30px;line-height:1}.kpi .l{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.25}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.kv:last-child{border-bottom:0}.kv .k{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.kv .v{font-size:15px;font-weight:500;text-align:right}.seg{display:flex;gap:6px;margin:8px 0 6px}.seg button{flex:1;height:36px;padding:0 6px;border-radius:2px;border:1px solid var(--border);background:transparent;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 16px;border-radius:3px;font-size:16px;font-weight:500;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;width:100%}.btn.secondary{background:transparent;color:var(--ink)}.btn.light{background:var(--bg);color:var(--ink);border-color:var(--bg)}.btn.small{height:44px;font-size:14px}.btn[disabled]{opacity:.55;cursor:default}.actionbar{flex-shrink:0;padding:12px 20px calc(var(--safe-bottom) + 14px);background:var(--bg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.dark .actionbar{background:transparent;border-top:0}.linkbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-size:14px;color:var(--ink);background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.tabbar{display:flex;height:calc(60px + var(--safe-bottom));padding:6px 8px var(--safe-bottom);background:var(--bg);border-top:1px solid var(--border);flex-shrink:0}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:4px;font-size:11px;color:var(--muted);min-height:44px}.tab .bar{width:22px;height:2px;background:transparent}.tab[aria-current=page]{color:var(--ink);font-weight:500}.tab[aria-current=page] .bar{background:var(--wine)}.tab.agent .pill{display:flex;align-items:center;justify-content:center;width:38px;height:32px;border-radius:3px;background:var(--ink);color:var(--bg)}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);min-height:44px}.field:last-child{border-bottom:0}.field input[type=checkbox],.field input[type=radio]{width:22px;height:22px;accent-color:var(--wine);margin:0;flex-shrink:0}.field select{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:2px;background:var(--card);min-height:40px}.choice{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:8px;border:1px solid var(--border);background:var(--card);border-radius:3px;min-height:44px}.choice.on{border-color:var(--wine)}.choice input{width:20px;height:20px;accent-color:var(--wine);margin:0}.choice b{display:block;font-size:16px;font-weight:500}.choice span{font-size:13px;color:var(--muted)}.bar-row{display:flex;align-items:center;gap:10px;padding:5px 0}.bar-row .name{width:150px;font-size:14px}.bar-row .track{flex:1;height:6px;background:var(--zone);border-radius:1px}.bar-row .fill{display:block;height:6px;background:var(--wine);border-radius:1px}.bar-row .val{width:26px;text-align:right}.state{text-align:center;padding:48px 24px}.state h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;margin:0 0 8px}.state p{margin:0 0 16px;color:var(--muted)}.skeleton{height:62px;margin:10px 0;background:linear-gradient(90deg,var(--zone),#F7F3EC,var(--zone));background-size:200% 100%;animation:sk 1.4s linear infinite;border-radius:2px}@keyframes sk{to{background-position:-200% 0}}.sheet-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#211d178c;z-index:20;display:flex;align-items:flex-end}.sheet{width:100%;background:var(--bg);border-top:1px solid var(--border);border-radius:14px 14px 0 0;padding:14px 20px calc(var(--safe-bottom) + 20px)}.sheet .grab{width:36px;height:4px;background:var(--border);margin:0 auto 14px;border-radius:2px}.sheet h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;margin:0 0 8px}.rail{display:flex;justify-content:space-between;gap:8px;margin:4px 0 14px}.rail a{display:flex;flex-direction:column;align-items:center;gap:5px;width:76px;font-size:12px;color:var(--muted)}.rail .ring{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--wine);background:var(--card);color:var(--ink)}.rail .seen .ring{border-color:var(--border)}.story{display:flex;flex-direction:column;flex:1;min-height:0;padding:calc(var(--safe-top) + 12px) 20px 0}.story .prog{display:flex;gap:4px}.story .prog i{flex:1;height:3px;background:#5a5347}.story .prog i.on{background:var(--bg)}.story h1{font-family:var(--serif);font-style:italic;font-weight:500;font-size:38px;line-height:1.12;margin:16px 0 28px}.story .kv{border-color:#4a443a}.story .kv .k{color:#d9d0bf}.story .kv .v{color:var(--bg)}.story .taps{position:absolute;top:120px;right:0;bottom:130px;left:0;display:flex}.story .taps button{flex:1;background:transparent;border:0}.diff{font-family:var(--mono);font-size:12.5px;line-height:1.5;margin-bottom:12px;border:1px solid var(--border);border-radius:3px;overflow:hidden}.diff .del{padding:8px 10px;background:var(--wine-soft);color:var(--wine);text-decoration:line-through}.diff .add{padding:8px 10px;background:var(--good-soft);color:var(--good)}.step{position:relative;display:flex;gap:14px;padding-bottom:18px}.step .dot{position:relative;width:19px;height:19px;flex-shrink:0;margin-top:2px}.step .dot i{display:block;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--ink);background:var(--ink)}.step.now .dot i{border-color:var(--wine);background:var(--wine)}.step .dot:after{content:"";position:absolute;left:9px;top:22px;bottom:-18px;width:1px;background:var(--border)}.step:last-child .dot:after{display:none}.step b{font-size:15px;font-weight:500}.step.now b{color:var(--wine)}.lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:0 28px;gap:14px}.lock h1{font-family:var(--serif);font-style:italic;font-weight:500;font-size:44px;margin:0}.input-bar{flex-shrink:0;display:flex;align-items:center;gap:10px;margin:8px 16px 12px;padding:0 8px 0 14px;height:52px;border:1px solid var(--ink);border-radius:3px;background:var(--card)}.input-bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit}.notice{font-size:13px;color:var(--brass-text);background:var(--brass-soft);border-radius:3px;padding:10px 12px;margin:10px 0;line-height:1.4}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--card);font-size:13px}.dot-s{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dot-s.ok{background:var(--good)}.dot-s.todo{border:1.5px solid var(--brass)}.ladder{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.ladder:last-child{border-bottom:0}@media print{body{background:#fff}.tabbar,.actionbar,.hdr .iconbtn,.demo-banner{display:none!important}.app{max-width:none;height:auto;overflow:visible}.scroll{overflow:visible}}
