:root{--primary: #5e106c;--primary-hover: #7a2189;--primary-tint: #f3eaf3;--primary-soft: #d9c3dc;--on-primary: #ffffff;--sage: #5e6e4a;--sage-tint: #e4e9da;--action: var(--primary);--action-hover: var(--primary-hover);--link: var(--sage);--user-bubble: var(--sage-tint);--user-bubble-border: var(--sage);--on-user-bubble: var(--dark);--secondary: #0d237a;--secondary-tint: #e6e9f4;--dark: #2c2620;--text-soft: #4b463f;--muted: #6b6259;--parchment: #f5f0e8;--surface: #fbf7f0;--surface2: #f0ebe1;--border: #e0d8cc;--border2: #ccc4b8;--error: #b3261e;--serif: "Lora", Georgia, serif;--sans: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;overflow:hidden}body{height:100%;overflow:hidden;font-family:var(--sans);background:var(--dark);color:var(--dark);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;justify-content:center;align-items:stretch;background:var(--dark)}.app-shell{width:100%;max-width:430px;height:100%;display:flex;flex-direction:column;background:var(--parchment);position:relative;overflow:hidden}button{font-family:var(--sans);cursor:pointer;border:none;outline:none}input,textarea{font-family:var(--sans);outline:none}textarea{resize:none}::-webkit-scrollbar{width:0;height:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}[style^="color: var(--link)"],[style*="; color: var(--link)"]{text-decoration:underline;text-underline-offset:2px}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:var(--action);color:var(--on-primary);border-radius:12px;font-size:15px;font-weight:500;letter-spacing:.01em;transition:background .15s,transform .1s;-webkit-appearance:none}.btn-primary:active{background:var(--action-hover);transform:scale(.98)}.btn-secondary{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;background:transparent;color:var(--dark);border:1.5px solid var(--border2);border-radius:12px;font-size:15px;font-weight:500;transition:border-color .15s,background .15s}.btn-secondary:active{background:var(--surface2)}.safe-top{padding-top:max(env(safe-area-inset-top),12px)}.safe-bottom{padding-bottom:max(env(safe-area-inset-bottom),8px)}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none}.guide-card{position:relative;display:block;cursor:pointer}.guide-card input{position:absolute;opacity:0;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.guide-card-body{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:14px 12px;text-align:center;background:var(--surface);border:1.5px solid var(--border);border-radius:14px;transition:border-color .15s,background .15s}.guide-card input:checked+.guide-card-body{border-color:var(--primary);background:var(--primary-tint);box-shadow:0 0 0 1.5px var(--primary)}.guide-card-body{position:relative}.guide-card input:checked+.guide-card-body:before{content:"";position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--primary)}.guide-card input:checked+.guide-card-body:after{content:"";position:absolute;top:12px;right:15px;width:5px;height:10px;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.guide-card input:focus-visible+.guide-card-body{outline:2px solid var(--primary);outline-offset:2px}.guide-card input:disabled+.guide-card-body{opacity:.6}.role-chips{display:flex;flex-wrap:wrap;gap:8px}.role-chip{position:relative;cursor:pointer}.role-chip input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.role-chip span{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;font-size:14px;color:var(--dark);background:var(--surface);border:1.5px solid var(--border2);border-radius:20px;transition:border-color .15s,background .15s}.role-chip input:checked+span{color:var(--on-primary);background:var(--action);border-color:var(--action)}.role-chip input:checked+span:before{content:"";width:4px;height:9px;margin:-3px 2px 0 0;border:solid var(--on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.role-chip input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.field-label{display:block;font-size:15px;font-weight:500;color:var(--dark);margin-bottom:6px}.field-hint{font-size:13px;color:var(--muted);line-height:1.5;margin:-2px 0 8px}.field-input{width:100%;padding:11px 14px;font:inherit;font-size:15px;color:var(--dark);background:var(--surface);border:1.5px solid var(--border2);border-radius:12px;resize:vertical}.field-input:focus{border-color:var(--primary);outline:none}.field-input[aria-invalid=true]{border-color:var(--error)}.field-error{font-size:13px;color:var(--error);margin-top:6px;line-height:1.5}.field-count{font-size:12px;color:var(--muted);text-align:right;margin-top:4px}.stepper{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;font-size:12.5px;color:var(--muted)}.stepper li{display:flex;align-items:center;gap:6px}.stepper li+li:before{content:"→";color:var(--border2)}.stepper [aria-current=step]{color:var(--primary);font-weight:600}
