.bookshelf{display:flex;min-height:100vh;background:radial-gradient(ellipse at 30% 20%,rgba(200,168,78,.05) 0%,transparent 60%),linear-gradient(135deg,var(--color-dark-wood-deep) 0%,#352a1e 100%)}.bookshelf__sidebar{width:var(--sidebar-width);min-height:100vh;background:linear-gradient(180deg,#2a1f15f2,#2a1f15d9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(200,168,78,.15);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.bookshelf__logo{padding:var(--space-lg) var(--space-md);text-align:center;border-bottom:1px solid rgba(200,168,78,.15)}.bookshelf__logo h1{font-size:var(--text-xl);color:var(--color-gold);letter-spacing:.15em;text-transform:uppercase;font-weight:400}.bookshelf__logo .subtitle{font-size:var(--text-xs);color:var(--color-old-paper-dark);margin-top:var(--space-xs);letter-spacing:.3em;text-transform:uppercase}.bookshelf__categories{flex:1;padding:var(--space-md) 0;list-style:none}.category-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);margin:2px var(--space-sm);border-radius:var(--radius-sm);color:var(--color-old-paper);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm)}.category-item:hover{background:#c8a84e1a;color:var(--color-gold)}.category-item.active{background:#c8a84e26;color:var(--color-gold);border-left:3px solid var(--color-gold)}.category-item__name{display:flex;align-items:center;gap:var(--space-sm)}.category-item__count{font-size:var(--text-xs);opacity:.6;font-family:var(--font-ui)}.bookshelf__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.bookshelf__topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);height:var(--topbar-height);background:#2a1f1599;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,168,78,.1);flex-shrink:0}.bookshelf__topbar-left{display:flex;align-items:center;gap:var(--space-md)}.bookshelf__topbar-right{display:flex;align-items:center;gap:var(--space-sm)}.version-indicator{font-size:var(--text-xs);color:var(--color-old-paper-dark);font-family:var(--font-ui);display:flex;align-items:center;gap:var(--space-xs)}.version-indicator .dot{width:6px;height:6px;border-radius:50%;background:var(--color-green-accent)}.version-indicator .dot.outdated{background:var(--color-gold);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.bookshelf__content{flex:1;padding:var(--space-xl);overflow-y:auto}.bookshelf__welcome{text-align:center;padding:var(--space-2xl);color:var(--color-old-paper-dark)}.bookshelf__welcome h2{color:var(--color-gold);font-size:var(--text-2xl);margin-bottom:var(--space-md);font-weight:400}.bookshelf__welcome p{max-width:500px;margin:0 auto;line-height:var(--line-height-relaxed);opacity:.7}.sidebar-toggle{display:none;color:var(--color-gold);font-size:var(--text-xl);padding:var(--space-xs)}@media(max-width:768px){.bookshelf__sidebar{position:fixed;left:-100%;top:0;z-index:100;width:280px;transition:left var(--transition-normal);box-shadow:var(--shadow-lg)}.bookshelf__sidebar.open{left:0}.sidebar-toggle{display:block}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.sidebar-overlay.visible{opacity:1;pointer-events:auto}}.category-detail{display:flex;height:100%;gap:var(--space-lg);animation:fadeIn var(--transition-normal) ease}.category-detail__list{width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-xs)}.category-detail__header{margin-bottom:var(--space-md)}.category-detail__header h2{color:var(--color-gold);font-size:var(--text-xl);font-weight:400;letter-spacing:.05em}.book-list-item{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.book-list-item:hover{background:#c8a84e14;border-color:#c8a84e26}.book-list-item.selected{background:#c8a84e1f;border-color:#c8a84e40}.book-list-item__title{color:var(--color-parchment);font-size:var(--text-base);font-weight:600}.book-list-item__author{color:var(--color-old-paper-dark);font-size:var(--text-xs);margin-top:2px;font-style:italic}.category-detail__preview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.book-preview{display:flex;flex-direction:column;align-items:center;max-width:480px;width:100%;animation:fadeIn var(--transition-normal) ease}.book-preview__cover{width:200px;height:280px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);margin-bottom:var(--space-lg);background:linear-gradient(145deg,var(--color-dark-wood),var(--color-dark-wood-deep));display:flex;align-items:center;justify-content:center;position:relative}.book-preview__cover img{width:100%;height:100%;object-fit:cover}.book-preview__cover-placeholder{color:var(--color-gold-dim);font-size:var(--text-3xl);opacity:.3}.book-preview__title{color:var(--color-gold);font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-xs)}.book-preview__author{color:var(--color-old-paper-dark);font-size:var(--text-sm);font-style:italic;margin-bottom:var(--space-md)}.book-preview__summary{color:var(--color-old-paper);font-size:var(--text-sm);text-align:center;line-height:var(--line-height-relaxed);max-width:400px;opacity:.8;margin-bottom:var(--space-lg)}.book-preview__actions{display:flex;gap:var(--space-sm)}.no-book-selected{text-align:center;color:var(--color-old-paper-dark);opacity:.5}.no-book-selected p{font-size:var(--text-lg);font-style:italic}@media(max-width:900px){.category-detail{flex-direction:column}.category-detail__list{width:100%;flex-direction:row;overflow-x:auto;gap:var(--space-sm);padding-bottom:var(--space-sm)}.book-list-item{min-width:180px;flex-shrink:0}}.reader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--color-dark-wood-deep);display:flex;flex-direction:column;animation:fadeIn var(--transition-normal) ease}.reader__topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);height:var(--topbar-height);background:#2a1f15e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,168,78,.1);flex-shrink:0;z-index:10}.reader__topbar-title{color:var(--color-gold);font-size:var(--text-base);font-weight:400;letter-spacing:.05em}.reader__topbar-pages{color:var(--color-old-paper-dark);font-size:var(--text-sm);font-family:var(--font-ui)}.reader__topbar-close{color:var(--color-old-paper);font-size:var(--text-lg);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.reader__topbar-close:hover{background:#c8a84e26;color:var(--color-gold)}.reader__body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);position:relative;overflow:hidden}.reader__book{position:relative;width:min(95vw,1100px);height:min(80vh,700px);display:flex;perspective:1200px}.reader__book-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-old-paper-dark) 0%,var(--color-parchment-dark) 3%,var(--color-parchment) 8%,var(--color-parchment-light) 20%,var(--color-parchment) 45%,var(--color-parchment-dark) 49%,var(--color-old-paper-dark) 49.8%,var(--color-old-paper-dark) 50.2%,var(--color-parchment-dark) 51%,var(--color-parchment) 55%,var(--color-parchment-light) 80%,var(--color-parchment) 92%,var(--color-parchment-dark) 97%,var(--color-old-paper-dark) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),inset 0 0 100px #4c3a1d0f,inset 0 0 30px #00000008,0 0 60px #0000004d;border:1px solid rgba(160,128,48,.15)}.reader__book-bg:before{content:"";position:absolute;top:0;left:49.5%;width:1%;height:100%;background:linear-gradient(90deg,#00000026,#0000000d 30%,#00000005,#0000000d 70%,#00000026);z-index:1}.reader__pages{position:relative;z-index:2;display:flex;width:100%;height:100%}.reader__page{flex:1;padding:var(--space-md) var(--space-xl) var(--space-md);overflow:hidden;position:relative;color:var(--color-ink);font-size:var(--text-lg);font-weight:500;line-height:var(--line-height-relaxed);cursor:pointer;-webkit-user-select:text;user-select:text;transition:opacity var(--transition-normal)}.reader__page:first-child{border-right:none;padding-right:var(--space-xl)}.reader__page:last-child{padding-left:var(--space-xl)}.reader__page--left:hover,.reader__page--right:hover{background:#c8a84e05}.reader__page-number{position:absolute;bottom:var(--space-xs);font-size:var(--text-xs);color:var(--color-ink-light);font-family:var(--font-ui);opacity:.5}.reader__page--left .reader__page-number{left:var(--space-xl)}.reader__page--right .reader__page-number{right:var(--space-xl)}.reader__page--single .reader__page-number{left:50%;transform:translate(-50%)}.reader__nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:80px;display:flex;align-items:center;justify-content:center;color:var(--color-old-paper-dark);font-size:var(--text-xl);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);z-index:5;opacity:.4}.reader__nav:hover{opacity:1;color:var(--color-gold);background:#2a1f1580}.reader__nav--prev{left:var(--space-sm)}.reader__nav--next{right:var(--space-sm)}.reader__nav:disabled{opacity:.1;cursor:default}.reader__page-content{animation:fadeIn .2s ease}.reader__page-content>:first-child{margin-top:0}.reader__page-content h1{font-size:var(--text-2xl);color:var(--color-dark-wood);margin-bottom:var(--space-lg);text-align:center;border-bottom:1px solid var(--color-old-paper-dark);padding-bottom:var(--space-sm)}.reader__page-content h2{font-size:var(--text-xl);color:var(--color-dark-wood);margin:var(--space-lg) 0 var(--space-md)}.reader__page-content h3{font-size:var(--text-lg);color:var(--color-dark-wood-light);margin:var(--space-md) 0 var(--space-sm)}.reader__page-content p{margin-bottom:var(--space-md);text-align:justify;text-indent:1.5em}.reader__page-content p:first-child{text-indent:0}.reader__page-content p:first-child:first-letter{font-size:2.5em;float:left;line-height:.8;margin-right:.1em;color:var(--color-dark-wood);font-weight:700}.reader__page-content p.continued{text-indent:0}.reader__page-content p.continued:first-child:first-letter{font-size:inherit;float:none;line-height:inherit;margin-right:0;color:inherit;font-weight:inherit}.reader__page-content blockquote{border-left:3px solid var(--color-gold-dim);padding-left:var(--space-md);margin:var(--space-md) 0;font-style:italic;color:var(--color-ink-light)}.reader__page-content em{color:var(--color-dark-wood-light)}.reader__page-content strong{color:var(--color-dark-wood)}.reader__page-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--color-old-paper-dark),transparent);margin:var(--space-lg) 0}.reader__page-content ul,.reader__page-content ol{padding-left:1.5em;margin-bottom:var(--space-md)}.reader__page-content li{margin-bottom:var(--space-xs)}@media(max-width:768px){.reader__book{width:98vw;height:85vh;flex-direction:column}.reader__pages{flex-direction:column}.reader__page:first-child{border-right:none;border-bottom:1px solid var(--color-old-paper-dark);padding-right:var(--space-xl)}.reader__page{padding:var(--space-md) var(--space-lg)}.reader__nav{width:40px;height:60px}.reader__book-bg:before{top:49.5%;left:0;width:100%;height:1%;background:linear-gradient(180deg,#00000026,#0000000d 30%,#00000005,#0000000d 70%,#00000026)}}.reader__book--aged-book .reader__book-bg{background:linear-gradient(90deg,#a89878,#c4b48c 3%,#d8c8a0 8%,#d0c090 20%,#c8b888 45%,#b0a078 49%,#988868 49.8%,#988868 50.2%,#b0a078 51%,#c8b888 55%,#d0c090 80%,#d8c8a0 92%,#c4b48c 97%,#a89878);box-shadow:0 8px 30px #00000080,inset 0 0 120px #3c280f26,inset 0 0 40px #00000014,0 0 60px #0006;border:1px solid rgba(100,80,40,.3)}.reader__book--aged-book .reader__book-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:radial-gradient(ellipse 80px 60px at 15% 20%,rgba(80,50,20,.08) 0%,transparent 100%),radial-gradient(ellipse 60px 90px at 75% 70%,rgba(80,50,20,.06) 0%,transparent 100%),radial-gradient(ellipse 100px 40px at 40% 85%,rgba(80,50,20,.07) 0%,transparent 100%),radial-gradient(ellipse 50px 70px at 85% 15%,rgba(80,50,20,.05) 0%,transparent 100%),radial-gradient(ellipse 70px 50px at 25% 55%,rgba(80,50,20,.04) 0%,transparent 100%);pointer-events:none;z-index:1}.reader__book--aged-book .reader__page{color:#3a2a12}.reader__book--aged-book .reader__page-content h1,.reader__book--aged-book .reader__page-content h2,.reader__book--aged-book .reader__page-content h3{color:#2e1e08}.reader__book--scroll,.reader__book--note{width:min(95vw,520px);height:min(88vh,780px)}.reader__book--scroll .reader__book-bg:before,.reader__book--note .reader__book-bg:before{display:none}.reader__book--scroll .reader__pages,.reader__book--note .reader__pages{flex-direction:column}.reader__book--scroll .reader__page--right,.reader__book--note .reader__page--right{display:none}.reader__book--scroll .reader__page--left,.reader__book--note .reader__page--left{padding:var(--space-md) var(--space-xl)}.reader__book--scroll .reader__page-number,.reader__book--note .reader__page-number{left:50%!important;right:auto!important;transform:translate(-50%)}.reader__book--scroll .reader__book-bg{background:linear-gradient(180deg,#a89070,#c8b898,#ddd0b8 8%,#e8dcc8 15%,#ecdfc8,#e8dcc8 85%,#ddd0b8 92%,#c8b898,#a89070);border-radius:var(--radius-sm);box-shadow:0 8px 30px #00000059,inset 0 8px 16px -6px #0000001f,inset 0 -8px 16px -6px #0000001f,4px 0 12px #00000014,-4px 0 12px #00000014;border:1px solid rgba(140,110,60,.25)}.reader__book--scroll .reader__book-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,transparent 6%,transparent 94%,rgba(0,0,0,.08) 100%);pointer-events:none;z-index:1}.reader__book--scroll .reader__page{color:#3e2e14}.reader__book--note{width:min(95vw,480px);height:min(85vh,700px)}.reader__book--note .reader__book-bg{background:linear-gradient(145deg,#f2e8d0,#eee2c8,#ecdcc0 60%,#e8d8b8);border-radius:2px;box-shadow:2px 3px 12px #0003,6px 8px 25px #0000001f,inset 0 0 60px #6450280a;border:none}.reader__book--note .reader__book-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 40%,rgba(0,0,0,.02) 100%);pointer-events:none;z-index:1}.reader__book--note .reader__page{color:#3a301e}.reader__book--note .reader__page-content h1,.reader__book--note .reader__page-content h2,.reader__book--note .reader__page-content h3{color:#2a2010}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl)}.admin-login__card{background:linear-gradient(145deg,#2a1f15f2,#2a1f15d9);border:1px solid rgba(200,168,78,.2);border-radius:var(--radius-lg);padding:var(--space-2xl);width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow-lg)}.admin-login__card h2{color:var(--color-gold);margin-bottom:var(--space-lg);font-weight:400;letter-spacing:.1em}.admin-login__error{color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-sm);font-family:var(--font-ui)}.admin{display:flex;min-height:100vh}.admin__sidebar{width:var(--sidebar-width);background:#2a1f15f2;border-right:1px solid rgba(200,168,78,.15);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.admin__sidebar-header{padding:var(--space-lg) var(--space-md);border-bottom:1px solid rgba(200,168,78,.15)}.admin__sidebar-header h2{color:var(--color-gold);font-size:var(--text-lg);font-weight:400;letter-spacing:.1em}.admin__book-list{flex:1;padding:var(--space-sm);list-style:none}.admin__book-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-old-paper);font-size:var(--text-sm)}.admin__book-item:hover{background:#c8a84e1a}.admin__book-item.active{background:#c8a84e26;color:var(--color-gold)}.admin__book-item-category{font-size:var(--text-xs);opacity:.5}.admin__main{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin__topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);height:var(--topbar-height);background:#2a1f1599;border-bottom:1px solid rgba(200,168,78,.1);flex-shrink:0}.admin__topbar-actions{display:flex;gap:var(--space-sm)}.admin__content{flex:1;display:flex;overflow:hidden}.admin__editor{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin__editor-tabs{display:flex;gap:2px;padding:var(--space-sm) var(--space-md);background:#0003}.admin__editor-tab{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-old-paper-dark);font-size:var(--text-sm);font-family:var(--font-ui);transition:all var(--transition-fast)}.admin__editor-tab:hover{color:var(--color-gold)}.admin__editor-tab.active{background:#c8a84e1a;color:var(--color-gold)}.admin__editor-area{flex:1;display:flex;overflow:hidden}.admin__markdown-input{flex:1;padding:var(--space-md);background:#0000004d;border:none;color:var(--color-parchment);font-family:Consolas,Fira Code,monospace;font-size:var(--text-sm);line-height:var(--line-height-relaxed);resize:none;outline:none}.admin__preview{flex:1;padding:var(--space-md);overflow-y:auto;background:var(--color-parchment);color:var(--color-ink)}.admin__metadata{padding:var(--space-lg);overflow-y:auto;max-height:100%}.admin__empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-old-paper-dark);font-style:italic;opacity:.5}:root{--color-parchment: #f0e7d8;--color-parchment-light: #f5efe4;--color-parchment-dark: #e4d8c4;--color-old-paper: #ddd0b8;--color-old-paper-dark: #c8b898;--color-dark-wood: #4a3c2f;--color-dark-wood-deep: #2a1f15;--color-dark-wood-light: #6b5a49;--color-gold: #c8a84e;--color-gold-dim: #a08030;--color-gold-bright: #e8c85e;--color-ink: #4c3a1d;--color-ink-light: #6b5434;--color-red-accent: #8b3a3a;--color-green-accent: #4a6b3a;--color-error: #a03030;--color-success: #3a6b3a;--font-body: "Post Antiqua Regular", "Palatino Linotype", "Book Antiqua", Palatino, "Georgia", serif;--font-heading: "Post Antiqua Regular", "Palatino Linotype", "Book Antiqua", Palatino, "Georgia", serif;--font-ui: "Segoe UI", system-ui, -apple-system, sans-serif;--text-xs: clamp(.7rem, .65rem + .25vw, .8rem);--text-sm: clamp(.8rem, .75rem + .3vw, .9rem);--text-base: clamp(.9rem, .85rem + .35vw, 1.05rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.3rem);--text-xl: clamp(1.3rem, 1.15rem + .75vw, 1.7rem);--text-2xl: clamp(1.6rem, 1.4rem + 1vw, 2.2rem);--text-3xl: clamp(2rem, 1.7rem + 1.5vw, 3rem);--line-height-tight: 1.3;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--space-xs: clamp(.25rem, .2rem + .25vw, .5rem);--space-sm: clamp(.5rem, .4rem + .5vw, .75rem);--space-md: clamp(.75rem, .6rem + .75vw, 1.25rem);--space-lg: clamp(1rem, .8rem + 1vw, 1.75rem);--space-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--space-2xl: clamp(2rem, 1.5rem + 2.5vw, 4rem);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--border-subtle: 1px solid rgba(74, 60, 47, .2);--border-accent: 2px solid var(--color-gold-dim);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .4);--shadow-inset: inset 0 2px 8px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--sidebar-width: clamp(220px, 20vw, 320px);--topbar-height: 56px;--max-content-width: 1400px}@font-face{font-family:Post Antiqua Regular;src:local("Post Antiqua Regular"),local("PostAntiqua-Regular"),url(/assets/PostAntiqua-Regular-0R5_8VGY.woff2) format("woff2");font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--color-ink);background-color:var(--color-dark-wood-deep);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--line-height-tight);color:var(--color-dark-wood)}a{color:var(--color-gold-dim);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold-bright)}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;font-size:inherit}img{max-width:100%;height:auto;display:block}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base)}::selection{background-color:var(--color-gold);color:var(--color-dark-wood-deep)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-dark-wood-deep)}::-webkit-scrollbar-thumb{background:var(--color-dark-wood-light);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-gold-dim)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;transition:all var(--transition-fast);text-transform:uppercase}.btn-primary{background:linear-gradient(135deg,var(--color-gold-dim),var(--color-gold));color:var(--color-dark-wood-deep);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-gold),var(--color-gold-bright));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:#4a3c2f26;color:var(--color-parchment);border:1px solid rgba(200,168,78,.3)}.btn-secondary:hover{background:#4a3c2f4d;border-color:var(--color-gold)}.btn-ghost{color:var(--color-parchment-light);opacity:.7}.btn-ghost:hover{opacity:1;background:#ffffff0d}.btn-danger{background:var(--color-red-accent);color:var(--color-parchment)}.btn-danger:hover{background:#a04040}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.card{background:linear-gradient(145deg,var(--color-parchment),var(--color-old-paper));border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-body{padding:var(--space-md)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-gold-dim) 20%,var(--color-gold) 50%,var(--color-gold-dim) 80%,transparent);margin:var(--space-md) 0;border:none}.ornament{text-align:center;color:var(--color-gold-dim);font-size:var(--text-xl);letter-spacing:.5em;-webkit-user-select:none;user-select:none}.badge{display:inline-flex;align-items:center;padding:2px var(--space-sm);border-radius:100px;font-size:var(--text-xs);font-weight:600;font-family:var(--font-ui)}.badge-gold{background:#c8a84e33;color:var(--color-gold);border:1px solid rgba(200,168,78,.3)}.badge-wood{background:#4a3c2f99;color:var(--color-old-paper)}.spinner{width:40px;height:40px;border:3px solid rgba(200,168,78,.2);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fade-in{animation:fadeIn var(--transition-normal) ease forwards}.toast{position:fixed;bottom:var(--space-lg);right:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-dark-wood);color:var(--color-parchment);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid var(--color-gold);z-index:1000;animation:fadeIn var(--transition-normal) ease;max-width:400px}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-old-paper);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-textarea,.form-select{padding:var(--space-sm) var(--space-md);background:#0003;border:1px solid rgba(200,168,78,.2);border-radius:var(--radius-sm);color:var(--color-parchment);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px #c8a84e26}.form-textarea{resize:vertical;min-height:120px;font-family:var(--font-body);line-height:var(--line-height-normal)}
