.password-gate{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.password-gate__panel{width:100%;max-width:24rem;padding:2rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.password-gate__badge{display:inline-block;margin-bottom:1rem;padding:.25rem .625rem;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass);background:var(--color-brass-muted);border:1px solid var(--color-border-strong);border-radius:999px}.password-gate__title{margin:0 0 .5rem;font-family:var(--font-serif);font-size:1.5rem;font-weight:600}.password-gate__subtitle{margin:0 0 1.5rem;font-size:.9375rem;color:var(--color-text-muted)}.password-gate__form{display:flex;flex-direction:column;gap:1rem}.password-gate__field{display:flex;flex-direction:column;gap:.375rem}.password-gate__field span{font-size:.8125rem;color:var(--color-text-muted)}.password-gate__field input{padding:.625rem .75rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px}.password-gate__field input:focus{outline:none;border-color:var(--color-brass)}.password-gate__error{margin:0;font-size:.8125rem;color:var(--color-danger)}.password-gate__submit{width:100%}.layout{min-height:100vh;display:flex;flex-direction:column}.layout__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#131110e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.layout__brand{display:flex;align-items:center;gap:.625rem}.layout__logo{height:1.75rem;width:auto;display:block}.layout__workspace{font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-left:1px solid var(--color-border-strong);padding-left:.625rem}.layout__nav{display:flex;gap:1.25rem}.layout__nav-link{font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:2px solid transparent;padding-bottom:.125rem;transition:color .15s,border-color .15s}.layout__nav-link:hover{color:var(--color-brass)}.layout__nav-link--active{color:var(--color-text);border-bottom-color:var(--color-accent)}.layout__main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 3rem}@media (max-width: 600px){.layout__header{flex-direction:column;align-items:flex-start;gap:.75rem}.layout__main{padding:1.5rem 1rem 2rem}}.app-card{display:flex;flex-direction:column;height:100%;min-height:11rem;padding:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow-card);transition:border-color .15s,transform .15s}.app-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);color:inherit}.app-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.app-card__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1rem;background:var(--color-brass-muted);border:1px solid var(--color-border-strong);border-radius:50%}.app-card__arrow{font-size:.75rem;color:var(--color-brass)}.app-card__title{margin:0 0 .375rem;font-family:var(--font-serif);font-size:1.125rem;font-weight:600}.app-card__description{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted);flex:1}.app-card__link{margin-top:auto;font-size:.6875rem;letter-spacing:.06em;color:var(--color-brass)}.category-section{margin-bottom:3rem}.category-section__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.75rem;margin-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.category-section__title{margin:0;font-family:var(--font-serif);font-size:1.375rem;font-weight:600}.category-section__count{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.category-section__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;align-items:stretch}.landing-page__hero{margin-bottom:2.5rem}.landing-page__badge{display:inline-block;margin-bottom:1rem;padding:.25rem .625rem;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass);background:var(--color-brass-muted);border:1px solid var(--color-border-strong);border-radius:999px}.landing-page__title{margin:0 0 .75rem;font-family:var(--font-serif);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;line-height:1.2}.landing-page__title em{font-style:italic;color:var(--color-accent)}.landing-page__subtitle{margin:0;max-width:32rem;font-size:.9375rem;color:var(--color-text-muted)}.page-status{padding:2rem 0;text-align:center;color:var(--color-text-muted)}.page-status--error{color:var(--color-danger)}.add-category{padding:1.25rem;margin-bottom:1.5rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius)}.add-category__header{margin-bottom:1rem}.add-category__title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.add-category__subtitle{margin:0;font-size:.875rem;color:var(--color-text-muted)}.add-category__form{display:flex;gap:.75rem;flex-wrap:wrap}.add-category__form input{flex:1;min-width:12rem;padding:.5rem .625rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px}.add-category__form input:focus{outline:none;border-color:var(--color-brass)}.add-category__error{margin:.75rem 0 0;font-size:.8125rem;color:var(--color-danger)}.add-category__list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.add-category__tag{padding:.25rem .625rem;font-size:.8125rem;color:var(--color-brass);background:var(--color-brass-muted);border:1px solid var(--color-border-strong);border-radius:999px}.app-form{padding:1.25rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem}.app-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.app-form__field{display:flex;flex-direction:column;gap:.375rem}.app-form__field--full{grid-column:1 / -1}.app-form__field span{font-size:.8125rem;color:var(--color-text-muted)}.app-form__field input,.app-form__field select{padding:.5rem .625rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px}.app-form__field input:focus,.app-form__field select:focus{outline:none;border-color:var(--color-brass)}.app-form__error{font-size:.75rem;font-style:normal;color:var(--color-danger)}.app-form__hint{font-size:.75rem;font-style:normal;color:var(--color-text-muted)}.app-form__actions{display:flex;gap:.75rem;margin-top:1.25rem}@media (max-width: 600px){.app-form__grid{grid-template-columns:1fr}}.app-table__wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.app-table{width:100%;border-collapse:collapse;font-size:.875rem}.app-table th,.app-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.app-table th{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-card)}.app-table tbody tr:last-child td{border-bottom:none}.app-table tbody tr:hover{background:#ffffff05}.app-table__icon{font-size:1.125rem}.app-table td a{word-break:break-all}.app-table__actions{display:flex;gap:.5rem;flex-wrap:wrap}.app-table__empty{padding:2rem;text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius)}@media (max-width: 768px){.app-table thead{display:none}.app-table tr{display:block;padding:1rem;border-bottom:1px solid var(--color-border)}.app-table td{display:flex;justify-content:space-between;gap:1rem;padding:.375rem 0;border:none}.app-table td:before{content:attr(data-label);font-weight:600;color:var(--color-text-muted);flex-shrink:0}}.config-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.config-page__title{margin:0 0 .375rem;font-family:var(--font-serif);font-size:1.75rem;font-weight:600}.config-page__subtitle{margin:0;font-size:.9375rem;color:var(--color-text-muted)}.config-page__form-panel{margin-bottom:1.5rem}.config-page__form-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}@media (max-width: 600px){.config-page__header{flex-direction:column}}:root{--color-bg: #131110;--color-bg-elevated: #1c1916;--color-bg-card: #24201c;--color-border: #f4efe621;--color-border-strong: #c9a35b38;--color-text: #f4efe6;--color-text-secondary: #f4efe6c7;--color-text-muted: #9c937f;--color-brass: #c9a35b;--color-brass-bright: #d9b56d;--color-accent: #ef3b23;--color-accent-hover: #ff4f38;--color-accent-muted: #ef3b2312;--color-brass-muted: #c9a35b12;--color-jade: #3ba887;--color-danger: #c75b49;--font-sans: -apple-system, "Segoe UI", sans-serif;--font-serif: "Fraunces", "Iowan Old Style", Georgia, serif;--radius: 8px;--max-width: 960px;--shadow-card: 0 8px 24px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--color-text);background:var(--color-bg);background-image:linear-gradient(180deg,#131110,#1c1916,#131110);background-attachment:fixed;-webkit-font-smoothing:antialiased}a{color:var(--color-brass);text-decoration:none}a:hover{color:var(--color-brass-bright)}button,input,select,textarea{font:inherit}button{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text);transition:background .15s,border-color .15s,color .15s}.btn--primary{background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-text)}.btn--ghost{border-color:var(--color-border-strong);color:var(--color-text-muted)}.btn--ghost:hover{border-color:var(--color-brass);color:var(--color-brass)}.btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover{background:#c75b491f}.btn--small{padding:.3125rem .625rem;font-size:.8125rem}
