@import "https://fonts.googleapis.com/css2?family=Antonio:wght@400;700&display=swap";:root{--lcars-orange:#f90;--lcars-gold:#fc6;--lcars-peach:#fa6;--lcars-lavender:#c9c;--lcars-violet:#97a;--lcars-blue:#99f;--lcars-light-blue:#aaf;--lcars-ice:#cdf;--lcars-red:#c66;--lcars-tan:#c96;--lcars-bg:#000;--lcars-bg-panel:#1a1a2e;--lcars-text:#f90;--lcars-text-light:#fc9;--lcars-text-dark:#000;--lcars-border-radius:24px;--lcars-elbow-width:160px;--lcars-bar-height:40px;--lcars-sidebar-width:180px;--lcars-font:"Antonio", "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--lcars-font);background:var(--lcars-bg);color:var(--lcars-text);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--lcars-font);text-transform:uppercase;letter-spacing:2px;font-weight:400}.lcars-app{flex-direction:column;min-height:100vh;display:flex}.lcars-header{align-items:stretch;gap:8px;min-height:80px;padding:0;display:flex}.lcars-header__elbow{width:var(--lcars-elbow-width);min-width:var(--lcars-elbow-width);background:var(--lcars-orange);border-radius:0 0 0 var(--lcars-border-radius);align-items:flex-end;padding:8px 16px;display:flex}.lcars-header__elbow-label{color:var(--lcars-text-dark);text-transform:uppercase;letter-spacing:2px;font-size:.75rem}.lcars-header__bar{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.lcars-header__top-strip{gap:6px;height:20px;margin-bottom:6px;display:flex}.lcars-header__top-strip span{border-radius:8px;flex:1}.lcars-header__top-strip span:first-child{background:var(--lcars-lavender)}.lcars-header__top-strip span:nth-child(2){background:var(--lcars-blue);flex:2}.lcars-header__top-strip span:nth-child(3){background:var(--lcars-violet)}.lcars-header__top-strip span:nth-child(4){background:var(--lcars-gold);flex:3}.lcars-header__title-row{height:var(--lcars-bar-height);align-items:center;gap:12px;display:flex}.lcars-header__title-bar{background:var(--lcars-orange);border-radius:0 20px 20px 0;flex:1;align-items:center;height:100%;padding:0 24px;display:flex}.lcars-header__title{color:var(--lcars-text-dark);letter-spacing:4px;font-size:1.4rem}.lcars-header__actions{gap:6px;padding-right:12px;display:flex}.lcars-body{flex:1;gap:8px;padding-top:8px;display:flex}.lcars-sidebar{width:var(--lcars-sidebar-width);min-width:var(--lcars-sidebar-width);flex-direction:column;gap:6px;padding-left:0;display:flex}.lcars-sidebar__block{color:var(--lcars-text-dark);text-transform:uppercase;letter-spacing:2px;cursor:pointer;font-size:.85rem;font-family:var(--lcars-font);text-align:left;border:none;border-radius:0 20px 20px 0;padding:10px 16px;transition:filter .15s}.lcars-sidebar__block:hover{filter:brightness(1.2)}.lcars-sidebar__block--active{filter:brightness(1.3);box-shadow:inset 0 0 0 3px #ffffff4d}.lcars-sidebar__block--orange{background:var(--lcars-orange)}.lcars-sidebar__block--gold{background:var(--lcars-gold)}.lcars-sidebar__block--lavender{background:var(--lcars-lavender)}.lcars-sidebar__block--blue{background:var(--lcars-blue)}.lcars-sidebar__block--violet{background:var(--lcars-violet)}.lcars-sidebar__block--tan{background:var(--lcars-tan)}.lcars-sidebar__block--red{background:var(--lcars-red)}.lcars-sidebar__spacer{background:var(--lcars-orange);border-radius:0 20px 20px 0;flex:1;min-height:40px}.lcars-sidebar__bottom{background:var(--lcars-orange);border-radius:0 20px 0 0;height:60px}.lcars-content{flex:1;padding:16px 24px;overflow-y:auto}.lcars-footer{height:32px;padding:0 0 0 var(--lcars-sidebar-width);gap:6px;margin-top:8px;display:flex}.lcars-footer span{border-radius:16px;height:100%}.lcars-footer span:first-child{background:var(--lcars-violet);flex:2}.lcars-footer span:nth-child(2){background:var(--lcars-blue);flex:1}.lcars-footer span:nth-child(3){background:var(--lcars-lavender);flex:3}.lcars-footer span:nth-child(4){background:var(--lcars-gold);flex:1}.lcars-btn{font-family:var(--lcars-font);text-transform:uppercase;letter-spacing:2px;cursor:pointer;color:var(--lcars-text-dark);border:none;border-radius:20px;padding:8px 20px;font-size:.85rem;transition:filter .15s,transform .1s}.lcars-btn:hover{filter:brightness(1.25)}.lcars-btn:active{transform:scale(.97)}.lcars-btn--orange{background:var(--lcars-orange)}.lcars-btn--gold{background:var(--lcars-gold)}.lcars-btn--blue{background:var(--lcars-blue)}.lcars-btn--lavender{background:var(--lcars-lavender)}.lcars-btn--red{background:var(--lcars-red)}.lcars-btn--violet{background:var(--lcars-violet)}.lcars-btn--small{padding:4px 12px;font-size:.75rem}.lcars-input{font-family:var(--lcars-font);background:var(--lcars-bg-panel);border:2px solid var(--lcars-orange);color:var(--lcars-text);letter-spacing:1px;border-radius:12px;outline:none;padding:8px 14px;font-size:1rem;transition:border-color .2s}.lcars-input:focus{border-color:var(--lcars-gold)}.lcars-input::placeholder{color:#653}.lcars-select{font-family:var(--lcars-font);background:var(--lcars-bg-panel);border:2px solid var(--lcars-orange);color:var(--lcars-text);letter-spacing:1px;cursor:pointer;border-radius:12px;outline:none;padding:8px 14px;font-size:1rem}.lcars-select option{background:var(--lcars-bg);color:var(--lcars-text)}textarea.lcars-input{resize:vertical;min-height:60px}.star-rating{cursor:pointer;gap:4px;display:inline-flex}.star-rating__star{color:#333;-webkit-user-select:none;user-select:none;font-size:1.6rem;transition:color .15s,transform .1s}.star-rating__star--filled{color:var(--lcars-gold)}.star-rating__star:hover{transform:scale(1.2)}.star-rating--readonly .star-rating__star{cursor:default}.star-rating--readonly .star-rating__star:hover{transform:none}.book-list{flex-direction:column;gap:8px;display:flex}.book-card{background:var(--lcars-bg-panel);border-left:6px solid var(--lcars-orange);cursor:pointer;border-radius:0 16px 16px 0;align-items:center;gap:16px;padding:12px 20px;transition:background .15s,border-color .15s;display:flex}.book-card:hover{border-left-color:var(--lcars-gold);background:#224}.book-card--reading{border-left-color:var(--lcars-blue)}.book-card--read{border-left-color:var(--lcars-lavender)}.book-card--want-to-read{border-left-color:var(--lcars-gold)}.book-card__info{flex:1;min-width:0}.book-card__title{color:var(--lcars-text-light);white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;overflow:hidden}.book-card__meta{color:var(--lcars-tan);margin-top:2px;font-size:.85rem}.book-card__status{text-transform:uppercase;letter-spacing:2px;white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:.75rem}.book-card__status--reading{background:var(--lcars-blue);color:var(--lcars-text-dark)}.book-card__status--read{background:var(--lcars-lavender);color:var(--lcars-text-dark)}.book-card__status--want-to-read{background:var(--lcars-gold);color:var(--lcars-text-dark)}.book-card__rating{color:var(--lcars-gold);white-space:nowrap;font-size:1.1rem}.book-form{grid-template-columns:1fr 1fr;gap:16px;max-width:800px;display:grid}.book-form__field{flex-direction:column;gap:4px;display:flex}.book-form__field--full{grid-column:1/-1}.book-form__label{text-transform:uppercase;letter-spacing:2px;color:var(--lcars-tan);font-size:.8rem}.book-form__actions{grid-column:1/-1;gap:12px;margin-top:8px;display:flex}.recommendation{background:var(--lcars-bg-panel);border-left:4px solid var(--lcars-violet);border-radius:0 12px 12px 0;margin-bottom:8px;padding:10px 16px}.recommendation__from{text-transform:uppercase;letter-spacing:2px;color:var(--lcars-violet);font-size:.8rem}.recommendation__comment{color:var(--lcars-text-light);margin-top:4px;font-size:.95rem}.search-bar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-bar .lcars-input{flex:1;max-width:400px}.storage-indicator{text-transform:uppercase;letter-spacing:2px;color:var(--lcars-tan);align-items:center;gap:8px;padding:4px 12px;font-size:.75rem;display:flex}.storage-indicator__dot{background:var(--lcars-red);border-radius:50%;width:10px;height:10px}.storage-indicator__dot--connected{background:#6c6}.lcars-toast{background:var(--lcars-bg-panel);border:2px solid var(--lcars-orange);color:var(--lcars-text);letter-spacing:1px;z-index:1000;border-radius:16px;padding:12px 24px;font-size:.9rem;animation:.3s toast-in;position:fixed;bottom:60px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;color:var(--lcars-tan);padding:60px 20px}.empty-state__title{color:var(--lcars-orange);margin-bottom:12px;font-size:1.4rem}.empty-state__text{margin-bottom:24px;font-size:.95rem}.modal-overlay{z-index:999;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--lcars-bg);border:3px solid var(--lcars-orange);border-radius:var(--lcars-border-radius);width:90vw;max-width:860px;max-height:85vh;padding:32px;overflow-y:auto}.modal-content h2{color:var(--lcars-orange);margin-bottom:20px}@media (width<=768px){:root{--lcars-sidebar-width:110px;--lcars-elbow-width:110px}.lcars-header__elbow-label{font-size:.6rem}.lcars-sidebar__block{letter-spacing:1px;min-height:40px;padding:8px 10px;font-size:.7rem}.lcars-content{padding:12px}.book-form{grid-template-columns:1fr}.book-card{flex-wrap:wrap}.lcars-header__title{font-size:1rem}.search-bar .lcars-input{max-width:100%}.lcars-header__actions{flex-wrap:wrap}}.utilities-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;animation:.15s utility-fade-in;display:flex;position:fixed;inset:0}@keyframes utility-fade-in{0%{opacity:0}to{opacity:1}}.utilities-menu{background:var(--lcars-bg);border:3px solid var(--lcars-orange);border-radius:var(--lcars-border-radius);flex-direction:column;gap:10px;min-width:280px;max-width:90vw;padding:24px;display:flex}.utilities-menu__header{text-transform:uppercase;letter-spacing:3px;color:var(--lcars-orange);border-bottom:2px solid var(--lcars-orange);margin-bottom:4px;padding-bottom:8px;font-size:1.3rem}.utilities-menu__item{font-family:var(--lcars-font);text-transform:uppercase;letter-spacing:2px;cursor:pointer;color:var(--lcars-text-dark);text-align:left;border:none;border-radius:20px;padding:12px 24px;font-size:.9rem;transition:filter .15s,transform .1s}.utilities-menu__item:hover{filter:brightness(1.25)}.utilities-menu__item:active{transform:scale(.97)}.utilities-menu__item--gold{background:var(--lcars-gold)}.utilities-menu__item--lavender{background:var(--lcars-lavender)}.utilities-menu__item--violet{background:var(--lcars-violet)}.utilities-menu__item--red{background:var(--lcars-red)}.utilities-menu__item--blue{background:var(--lcars-blue)}.auth-required{flex:1;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px;display:flex}.auth-required__panel{border-radius:var(--lcars-border-radius);gap:0;width:100%;max-width:600px;display:flex;overflow:hidden}.auth-required__indicator{background:var(--lcars-orange);border-radius:var(--lcars-border-radius) 0 0 var(--lcars-border-radius);width:28px;min-height:100%;animation:2.5s ease-in-out infinite auth-pulse}.auth-required__indicator--alt{background:var(--lcars-red);border-radius:0 var(--lcars-border-radius) var(--lcars-border-radius) 0;animation-delay:1.25s}.auth-required__content{border-top:3px solid var(--lcars-orange);border-bottom:3px solid var(--lcars-orange);text-align:center;background:#0006;flex:1;padding:40px 32px}.auth-required__title{color:var(--lcars-orange);letter-spacing:3px;margin-bottom:8px;font-size:1.6rem;font-weight:700}.auth-required__subtitle{color:var(--lcars-gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;font-size:.85rem}.auth-required__text{color:var(--lcars-tan);margin-bottom:32px;font-size:.95rem;line-height:1.6}.auth-required__btn{letter-spacing:2px;text-transform:uppercase;padding:12px 36px;font-size:1.1rem}@keyframes auth-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (width<=600px){.auth-required__panel{flex-direction:column}.auth-required__indicator{border-radius:var(--lcars-border-radius) var(--lcars-border-radius) 0 0;width:100%;min-height:12px}.auth-required__indicator--alt{border-radius:0 0 var(--lcars-border-radius) var(--lcars-border-radius)}.auth-required__content{border-top:none;border-bottom:none;border-left:3px solid var(--lcars-orange);border-right:3px solid var(--lcars-orange)}}
