@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap";:root{--brand-burgundy: #4b0f1a;--brand-plum: #6a1f2d;--brand-gold: #c9a24a;--brand-champagne: #f2e7cf;--brand-cream: #faf7f2;--brand-sage: #7b8b7a;--brand-teal: #2e6d6d;--bg-color: var(--brand-cream);--card-bg: #fffaf4;--surface-muted: #f2e7cf;--card-border: #dfcfb9;--text-primary: #351015;--text-secondary: #735c5b;--primary-color: var(--brand-burgundy);--primary-hover: #351015;--accent-color: var(--brand-gold);--success-color: #47715b;--warning-color: #9b6b1f;--danger-color: #9c3340;--disabled-bg: #e7ded3;--disabled-text: #968783}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at 50% -10%,#fffdf9 0,var(--bg-color) 49rem);color:var(--text-primary);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}.app-container{max-width:540px;margin:0 auto;padding:1.25rem 1.25rem 2.5rem;min-height:100vh;display:flex;flex-direction:column}header{text-align:center;margin:1rem 0 1.6rem;padding:.9rem 0 1.1rem;border-bottom:1px solid var(--card-border)}header h1{color:var(--brand-burgundy);font-family:Playfair Display,Georgia,serif;font-size:2.7rem;font-weight:600;letter-spacing:.16em;line-height:1;margin:0 0 .75rem .16em;text-transform:uppercase}header h1:after{color:var(--brand-gold);content:"✦";display:block;font-family:Georgia,serif;font-size:.85rem;letter-spacing:0;margin-top:.65rem}header p{color:var(--text-secondary);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:3px;box-shadow:0 14px 32px #4b0f1a14;margin-bottom:1.25rem;padding:1.5rem}.gradient-card{overflow:hidden;position:relative}.gradient-card:before{background:var(--brand-gold);content:"";display:block;height:1px;margin:-.2rem 0 1.35rem;width:100%}h2{color:var(--brand-burgundy);font-family:Playfair Display,Georgia,serif;font-size:1.7rem;font-weight:600;letter-spacing:-.015em;line-height:1.12;margin-bottom:.9rem}h3{color:var(--brand-burgundy);font-family:Playfair Display,Georgia,serif}.btn{align-items:center;border:1px solid transparent;border-radius:2px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:700;justify-content:center;letter-spacing:.08em;min-height:46px;padding:.82rem 1.2rem;text-decoration:none;text-transform:uppercase;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out,transform .18s ease-out;width:100%}.btn-primary{background:var(--brand-burgundy);box-shadow:0 8px 18px #4b0f1a29;color:var(--brand-cream)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:transparent;border-color:var(--brand-burgundy);color:var(--brand-burgundy)}.btn-secondary:hover:not(:disabled){background:var(--brand-champagne)}.btn-danger{background:var(--danger-color);color:var(--brand-cream)}.btn-danger:hover:not(:disabled){background:#7c2430}.btn:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.input-control{background:#fffdf9;border:1px solid var(--card-border);border-radius:2px;color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;padding:.8rem .9rem;transition:border-color .18s ease-out,box-shadow .18s ease-out;width:100%}.input-control:focus{border-color:var(--brand-gold);box-shadow:0 0 0 3px #c9a24a2e}.slots-grid{display:grid;gap:.55rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.slot-btn{background:#fffdf9;border:1px solid var(--card-border);border-radius:2px;color:var(--brand-burgundy);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;padding:.75rem .35rem;transition:background-color .18s ease-out,border-color .18s ease-out}.slot-btn:hover:not(:disabled){border-color:var(--brand-gold)}.slot-btn.selected{background:var(--brand-burgundy);border-color:var(--brand-burgundy);color:var(--brand-cream)}.slot-btn:disabled{background:var(--disabled-bg);border-color:transparent;color:var(--disabled-text);cursor:not-allowed}.alert{border-radius:2px;font-size:.88rem;line-height:1.45;margin-bottom:1.25rem;padding:.9rem 1rem}.alert-warning{background:#fbf1dc;border:1px solid #ddc28a;color:#735318}.alert-success{background:#eaf1e8;border:1px solid #a9bea7;color:#315941}.alert-danger{background:#f8e9e8;border:1px solid #dca9aa;color:#7c2430}.checkbox-label{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem}.checkbox-label input{accent-color:var(--brand-burgundy);margin-top:.2rem}.badge{border-radius:999px;display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:.3rem .55rem;text-transform:uppercase}.badge-success{background:#eaf1e8;color:#315941}.badge-warning{background:#fbf1dc;color:#735318}.nav-tabs{display:flex;gap:.15rem;margin:0 -.2rem 1.4rem;overflow-x:auto;padding:.05rem .2rem .65rem;scrollbar-width:thin}.nav-tab-btn{background:transparent;border:0;border-bottom:1px solid transparent;color:var(--text-secondary);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:.6rem .68rem;text-transform:uppercase;transition:border-color .18s ease-out,color .18s ease-out}.nav-tab-btn:hover,.nav-tab-btn.active{border-color:var(--brand-gold);color:var(--brand-burgundy)}.position-ring-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:1.5rem 0}.position-number{color:var(--brand-burgundy);font-family:Playfair Display,Georgia,serif;font-size:4.5rem;font-weight:600;line-height:1}.position-label{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-top:.5rem;text-transform:uppercase}@media(max-width:420px){.app-container{padding-inline:1rem}header h1{font-size:2.3rem}.slots-grid{grid-template-columns:repeat(3,1fr)}}
