:root{--color-paper: #f8f5f0;--color-paper-dark: #ebe6df;--color-ink: #2c2416;--color-ink-faded: #6b5d4d;--color-ink-light: #a89880;--color-keyword: #7a3e3e;--color-string: #4a6741;--color-comment: #8b7355;--color-function: #4a5568;--color-link: #5c4033;--color-link-hover: #3d2a22;--color-error: #8b3a3a;--color-success: #4a6741;--font-mono: "Space Mono", "SF Mono", "Consolas", "Liberation Mono", monospace;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--max-width: 30rem;--line-height: 1.7}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-paper: #1c1a17;--color-paper-dark: #252320;--color-ink: #e8e4dc;--color-ink-faded: #a8a090;--color-ink-light: #6b6560;--color-keyword: #d4a0a0;--color-string: #a0c496;--color-comment: #a89880;--color-function: #a0b0c0;--color-link: #c0a890;--color-link-hover: #e0c8b0;--color-error: #d4a0a0;--color-success: #a0c496}}:root[data-theme=dark]{--color-paper: #1c1a17;--color-paper-dark: #252320;--color-ink: #e8e4dc;--color-ink-faded: #a8a090;--color-ink-light: #6b6560;--color-keyword: #d4a0a0;--color-string: #a0c496;--color-comment: #a89880;--color-function: #a0b0c0;--color-link: #c0a890;--color-link-hover: #e0c8b0;--color-error: #d4a0a0;--color-success: #a0c496}*,*:before,*:after{box-sizing:border-box}html{font-size:17px}body{margin:0;font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-ink);background-color:var(--color-paper);-webkit-font-smoothing:antialiased}::selection{background:var(--color-ink);color:var(--color-paper)}a{color:var(--color-keyword);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:.4em}a:hover{color:var(--color-keyword);text-decoration-thickness:1.3px}a:focus-visible{outline:1px dashed var(--color-ink);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.word-list{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl);padding-top:var(--spacing-lg)}.word-list__header h1{margin:0;font-size:var(--font-size-xl);font-weight:400;letter-spacing:.05em;text-transform:uppercase}.word-list__header h1:before{content:"# ";color:var(--color-comment)}.word-list__intro{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);color:var(--color-ink-faded);font-size:var(--font-size-lg);line-height:1.5}.word-list__title-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.word-list__header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.word-list__icon-link{color:var(--color-ink-light);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs)}.word-list__icon-link:hover{color:var(--color-ink)}.word-list__icon-link:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.word-list__sort{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center;margin-top:var(--spacing-md);padding:var(--spacing-md) 0}.word-list__sort:before{content:"// Sorter:";color:var(--color-comment);font-size:var(--font-size-sm)}.word-list__sort-link{color:var(--color-keyword);text-decoration:none;font-size:var(--font-size-sm);display:flex;align-items:center}.word-list__sort-link:hover{color:var(--color-ink)}.word-list__sort-link:focus-visible{outline:1px dashed var(--color-ink);outline-offset:2px}.word-list__sort-link--active{border-bottom:1.5px dashed var(--color-keyword)}.word-list__sort-separator{color:var(--color-comment)}.word-list__sort-separator:before{content:"|"}.word-list__items{margin:0;padding:0}.word-list__empty{color:var(--color-comment)}.word-list__empty:before{content:"// "}.word-list__message{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-left:3px solid;background:var(--color-paper-dark)}.word-list__message--success{border-color:var(--color-success);color:var(--color-success)}.word-item{padding:var(--spacing-md) 0;border-bottom:2px dotted var(--color-ink-light);display:grid;grid-template-columns:3rem 1fr;gap:var(--spacing-sm)}.word-item:last-child{border-bottom:none}.word-item[data-authenticated]{grid-template-columns:3rem 1fr auto}.word-item:before{content:attr(data-position);color:var(--color-ink-light);font-size:var(--font-size-sm);padding-top:.15em}.word-item__term{color:var(--color-keyword);font-weight:400;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-sm)}.word-item__term a{color:inherit}.word-item__pronunciation{font-size:var(--font-size-sm);color:var(--color-ink-light);font-weight:400}.word-item__definition{grid-column:2;margin:0;color:var(--color-ink-faded);line-height:1.2}.word-item__definition:not(.word-item__definition--empty):before{content:"→ ";color:var(--color-ink-light)}.word-item__duplicate{font-size:var(--font-size-sm);color:var(--color-comment)}.word-item__duplicate:before{content:"("}.word-item__duplicate:after{content:")"}.word-item__actions{display:flex;gap:var(--spacing-xs);align-items:flex-start;padding-top:.15em;opacity:0;transition:opacity .15s ease}.word-item:hover .word-item__actions,.word-item:focus-within .word-item__actions{opacity:1}.word-item__action{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--color-ink-light);background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.word-item__action:hover{color:var(--color-ink)}.word-item__action:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.word-item__action--delete:hover{color:var(--color-error)}.word-item__delete-form{display:contents}.admin{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl)}.admin__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px dashed var(--color-ink-light)}.admin__header h1{margin:0;font-size:var(--font-size-xl);font-weight:400;letter-spacing:.05em;text-transform:uppercase}.admin__header h1:before{content:"# ";color:var(--color-comment)}.admin__back-link{color:var(--color-link);text-decoration:underline}.admin__back-link:hover{color:var(--color-link-hover)}.admin__back-link:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.admin__message{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-left:3px solid;background:var(--color-paper-dark)}.admin__message--success{border-color:var(--color-success);color:var(--color-success)}.admin__message--error{border-color:var(--color-error);color:var(--color-error)}.admin__nav{margin-bottom:var(--spacing-lg)}.admin__nav-link{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-paper);background:var(--color-ink);text-decoration:none;min-height:44px;line-height:1.5}.admin__nav-link:hover{background:var(--color-ink-faded)}.admin__nav-link:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.admin__nav-link:before{content:"+ "}.admin__muted{color:var(--color-ink-light)}.admin__empty{color:var(--color-comment)}.admin__empty:before{content:"// "}.admin__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.admin__table th,.admin__table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:2px dotted var(--color-ink-light)}.admin__table th{font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--color-comment);background-color:var(--color-paper-dark)}.admin__definition{color:var(--color-ink-faded)}.admin__definition em{display:block;color:var(--color-string);font-style:normal}.admin__actions{white-space:nowrap;display:flex;gap:var(--spacing-sm);align-items:center}.admin__action-link{color:var(--color-link);text-decoration:underline}.admin__action-link:hover{color:var(--color-link-hover)}.admin__action-link:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.admin__delete-form{display:inline}.admin__action-button{padding:var(--spacing-xs) var(--spacing-sm);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-ink);background:var(--color-paper-dark);border:1px solid var(--color-ink-light);cursor:pointer;min-height:44px;min-width:44px}.admin__action-button:hover{background:var(--color-paper);border-color:var(--color-ink)}.admin__action-button:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.admin__action-button--delete{color:var(--color-error);border-color:var(--color-error)}.admin__action-button--delete:hover{background:#f5e6e6}.admin__copy-definition{display:inline;background:none;border:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-link);text-decoration:underline;cursor:pointer;padding:0;margin-top:var(--spacing-sm)}.admin__copy-definition:hover{color:var(--color-link-hover)}.admin__copy-definition:focus-visible{outline:1px dashed var(--color-ink);outline-offset:2px}.admin__section{margin-bottom:var(--spacing-xl);max-width:40rem}.admin__form{max-width:40rem}.admin__fieldset{border:none;margin:0;padding:0}.admin__field{margin-bottom:var(--spacing-lg)}.admin__label{display:block;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--color-comment);margin-bottom:var(--spacing-xs)}.admin__helper-text{font-size:var(--font-size-sm);color:var(--color-ink-faded);margin:0 0 var(--spacing-sm) 0}.admin__helper-text:before{content:"// ";color:var(--color-ink-light)}.admin__input,.admin__textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-base);color:var(--color-ink);border:1px solid var(--color-ink-light);background:var(--color-paper)}:is(.admin__input,.admin__textarea):focus{outline:none;border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.admin__textarea{resize:vertical;min-height:6rem}.admin__static-text{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-paper-dark);border-left:3px solid var(--color-ink-light);margin:0 0 var(--spacing-sm) 0}.admin__source{font-size:var(--font-size-sm);color:var(--color-comment)}.admin__source-link{font-size:var(--font-size-sm);color:var(--color-link);text-decoration:underline}.admin__source-link:hover{color:var(--color-link-hover)}.admin__source-link:focus-visible{outline:1px solid var(--color-ink);outline-offset:2px}.admin__refetch-form{margin-top:var(--spacing-sm)}.admin__error{color:var(--color-error);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.admin__error:before{content:"! "}.admin__duplicate-warning{color:var(--color-comment);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.admin__duplicate-warning:before{content:"// "}.admin__duplicate-badge{display:inline-block;font-size:.75rem;color:var(--color-comment);margin-left:var(--spacing-xs)}.admin__duplicate-badge:before{content:"("}.admin__duplicate-badge:after{content:")"}.admin__submit{padding:var(--spacing-sm) var(--spacing-lg);font-family:inherit;font-size:var(--font-size-base);color:var(--color-paper);background:var(--color-ink);border:none;cursor:pointer;min-height:44px;text-transform:uppercase;letter-spacing:.05em}.admin__submit:hover{background:var(--color-ink-faded)}.admin__submit:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.site-footer{display:flex;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);margin-top:var(--spacing-xl)}.theme-toggle{display:flex;gap:var(--spacing-xs);background-color:var(--color-paper-dark);padding:var(--spacing-xs)}.theme-toggle__btn{background:none;border:none;color:var(--color-keyword);font-family:inherit;font-size:var(--font-size-sm);padding:0 var(--spacing-md);cursor:pointer}.theme-toggle__btn:hover{color:var(--color-ink)}.theme-toggle__btn:focus-visible{outline:1px dashed var(--color-ink);outline-offset:2px}.theme-toggle__btn[aria-pressed=true]{color:var(--color-ink);background-color:var(--color-paper);border:1px dashed var(--color-ink)}@media(max-width:40rem){html{font-size:15px}.word-item{grid-template-columns:2.5rem 1fr}.word-item[data-authenticated]{grid-template-columns:2.5rem 1fr auto}.admin__table{display:block}.admin__table thead{display:none}.admin__table tbody,.admin__table tr,.admin__table td{display:block}.admin__table tr{padding:var(--spacing-md) 0;border-bottom:1px dotted var(--color-ink-light)}.admin__table td{padding:var(--spacing-xs) 0;border:none}.admin__actions{margin-top:var(--spacing-sm)}}
