@import"https://fonts.googleapis.com/css2?family=Arizonia&family=Dancing+Script:wght@700&family=Noto+Serif:wght@400;700&display=swap";:root{--color-primary: #d97706;--color-primary-dark: #b45309;--color-primary-light: #fde68a;--color-parchment: #FCFBF8;--color-parchment-dark: #F5F0E8;--color-stone: #78716c;--color-stone-light: #e7e5e4;--color-text: #1c1917;--color-text-muted: #57534e;--color-border: #d6d3d1;--color-border-light: #e7e5e4;--color-red: #9B2335;--color-green: #1A6B3C;--color-blue: #1E3A5F;--color-gold: #8B6914;--shadow-soft: 0 2px 12px rgba(0,0,0,.08);--shadow-card: 0 4px 24px rgba(0,0,0,.1);--radius: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:"Noto Serif",Georgia,serif;background:var(--color-parchment);color:var(--color-text);font-size:14px;line-height:1.5}.sao-name{font-size:clamp(8px,1.5vw,12px);line-height:1.2}.safe-area-page{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.mobile-drawer{width:100%;height:100%;transition:transform .24s ease;will-change:transform}.mobile-drawer.open{transform:translate(0)}.mobile-drawer.closed{transform:translate(100%)}@media(max-width:375px){.compact-laso-grid{gap:1px}.compact-laso-grid .sao-phu{display:none!important}}@media(min-width:376px)and (max-width:768px){.laso-grid-mobile-two-col{grid-template-columns:repeat(2,1fr)}}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-parchment-dark)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-red{color:var(--color-red)}.text-green{color:var(--color-green)}.text-blue{color:var(--color-blue)}.text-gold{color:var(--color-gold)}.font-script{font-family:Dancing Script,cursive}.font-arizonia{font-family:Arizonia,cursive}.font-slab{font-family:"Noto Serif",serif}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1px solid transparent;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary-dark)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-stone-light)}.btn-amber{background:#fef3c7;color:#92400e;border-color:#fde68a}.btn-amber:hover{background:#fde68a}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}input[type=number],input[type=text],select{font-family:inherit;font-size:13px;border:1px solid var(--color-border);border-radius:6px;padding:5px 10px;background:#fff;color:var(--color-text);outline:none;transition:border-color .15s}input:focus,select:focus{border-color:var(--color-primary)}.chip{display:inline-flex;align-items:center;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--color-border);background:#fff;transition:all .15s}.chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary-dark)}.divider{border:none;border-top:1px solid var(--color-border-light);margin:12px 0}.tooltip-wrap{position:relative}.tooltip-wrap:hover .tooltip{display:block}.tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1c1917d9;color:#fff;font-size:12px;border-radius:4px;padding:4px 8px;white-space:nowrap;pointer-events:none;z-index:100}.tab-bar{display:flex;border-bottom:2px solid var(--color-border-light);gap:0}.tab-item{padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--color-text-muted);transition:color .15s,border-color .15s;white-space:nowrap}.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-item:hover{color:var(--color-text)}
