:root{--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-800:#166534;--color-green-900:#14532d;--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-700:#6b21a8;--color-purple-900:#581c87;--color-white:#fff;--color-gray-900:#1a1a1a;--color-gray-600:#4b4b4b;--color-red-900:#7f1d1d;--color-background:var(--color-white);--color-background-soft:var(--color-green-50);--color-background-mute:var(--color-green-100);--color-border:var(--color-green-200);--color-border-hover:var(--color-purple-200);--color-heading:var(--color-green-900);--color-text:var(--color-gray-900);--color-text-muted:var(--color-gray-600);--color-primary:var(--color-green-900);--color-primary-hover:var(--color-green-800);--color-on-primary:var(--color-white);--color-accent:var(--color-purple-900);--color-accent-hover:var(--color-purple-700);--color-accent-soft:var(--color-purple-100);--color-on-accent:var(--color-white);--color-danger:var(--color-red-900);--radius:8px;--section-gap:96px}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background-soft);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.6;transition:color .4s,background-color .4s}h1,h2,h3,h4{color:var(--color-heading);font-weight:700;line-height:1.25}h1{margin-bottom:1rem;font-size:2rem}h2{margin:1.5rem 0 .75rem;font-size:1.5rem}h3{color:var(--color-accent);margin:1.25rem 0 .5rem;font-size:1.15rem}p{margin-bottom:.75rem}a{color:var(--color-accent);-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:all .2s}a:hover,a:focus-visible{color:var(--color-accent-hover);text-decoration-color:currentColor}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}#app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-primary);padding:1rem 2rem}.app-title{color:var(--color-on-primary);margin:0 0 .75rem}.app-nav{flex-wrap:wrap;gap:.5rem;display:flex}.app-nav a{color:var(--color-on-primary);border-radius:var(--radius);padding:.5rem .9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s}.app-nav a:hover,.app-nav a:focus-visible{background-color:var(--color-primary-hover);color:var(--color-on-primary)}.app-nav a.router-link-active{background-color:var(--color-accent-soft);color:var(--color-accent)}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem}.page{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem}.page-section{margin-top:1.5rem}.actions{flex-wrap:wrap;gap:.75rem;margin:.75rem 0;display:flex}button,.btn{border-radius:var(--radius);cursor:pointer;background-color:var(--color-primary);color:var(--color-on-primary);border:2px solid #0000;padding:.6rem 1.2rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s}button:hover,.btn:hover{background-color:var(--color-primary-hover)}button:focus-visible,.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}button.btn-secondary,.btn-secondary{background-color:var(--color-background);color:var(--color-accent);border-color:var(--color-accent)}button.btn-secondary:hover,.btn-secondary:hover{background-color:var(--color-accent-soft)}button:disabled,.btn:disabled{background-color:var(--color-background-mute);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed}.field{margin-bottom:1rem}.field label,.field p.field-label{color:var(--color-heading);margin-bottom:.35rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],select{border:2px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-background);width:100%;max-width:24rem;color:var(--color-text);padding:.55rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,select:focus-visible{border-color:var(--color-accent);outline:none}.message{border-radius:var(--radius);margin-top:.75rem;padding:.6rem .9rem;font-weight:600}.message-error{background-color:var(--color-background);color:var(--color-danger);border:2px solid var(--color-danger)}.message-info{background-color:var(--color-accent-soft);color:var(--color-accent);border:2px solid var(--color-accent)}@media (width>=1024px){.app-main{padding:2.5rem}}
