        * {
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            cursor: default;
        }
        a, button, input[type="button"], input[type="submit"], select, .cursor-pointer, [data-action] {
            cursor: pointer !important;
        }
        input[type="text"], input[type="number"], textarea {
            -webkit-user-select: text;
            -moz-user-select: text;
            -ms-user-select: text;
            user-select: text;
            cursor: text !important;
        }
        .select-all, code.select-all {
            -webkit-user-select: all;
            -moz-user-select: all;
            -ms-user-select: all;
            user-select: all;
            cursor: text;
        }
        /* Custom article styling */
        .article-body h2 {
            font-size: 1.25rem;
            font-weight: 400;
            margin-top: 1.5rem;
            margin-bottom: 0.75rem;
            color: #111827;
        }
        .dark .article-body h2 {
            color: #f9fafb;
        }
        .article-body h3 {
            font-size: 1.1rem;
            font-weight: 400;
            margin-top: 1.25rem;
            margin-bottom: 0.5rem;
            color: #1f2937;
        }
        .dark .article-body h3 {
            color: #e5e7eb;
        }
        .article-body p {
            line-height: 1.8;
            margin-bottom: 1rem;
            color: #374151;
        }
        .dark .article-body p {
            color: #d1d5db;
        }
        .article-body ul {
            list-style-type: disc;
            padding-left: 1.5rem;
            margin-bottom: 1rem;
            line-height: 1.75;
            color: #4b5563;
        }
        .dark .article-body ul {
            color: #9ca3af;
        }
        .article-body strong {
            font-weight: 400;
            color: #111827;
        }
        .dark .article-body strong {
            color: #f3f4f6;
        }
        .like-btn.active {
            color: #ef4444;
            border-color: #fca5a5;
            background-color: #fef2f2;
        }
        .dark .like-btn.active {
            background-color: rgba(127, 29, 29, 0.3);
            border-color: #991b1b;
            color: #f87171;
        }

        [hidden] { display: none !important; }
        .notice-author-avatar:not([hidden]) + .notice-author-fallback { display: none; }
        .notice-list-tools { display: flex; align-items: center; gap: 0.75rem; }
        .notice-category-tabs { flex-wrap: wrap; }
        .notice-list-row { width: 100%; text-align: start; }
        .notice-list-state { padding: 3rem 1.5rem; text-align: center; color: #4b5563; font-size: 0.875rem; }
        .notice-state-hint, .notice-editor-hint { color: #6b7280; font-size: 0.875rem; line-height: 1.65; }
        .notice-state-hint { margin: 0.5rem 0 1rem; }
        .notice-page-feedback { font-size: 0.875rem; line-height: 1.75; color: #4b5563; }
        .notice-page-feedback button { margin-top: 0.75rem; }
        .notice-editor { padding: 1.5rem; background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; }
        .notice-editor h2 { font-size: 1.25rem; font-weight: 700; color: #111827; }
        .notice-editor form { margin-top: 1.5rem; }
        .notice-editor fieldset { display: grid; gap: 1.25rem; min-width: 0; }
        .notice-editor-field { display: grid; gap: 0.5rem; min-width: 0; }
        .notice-editor-field > label { font-size: 0.875rem; font-weight: 600; }
        .notice-editor-field input, .notice-editor-field select, .notice-editor-field textarea {
            width: 100%; min-width: 0; padding: 0.75rem; border: 1px solid #d1d5db; border-radius: 0.5rem;
            background: #f9fafb; color: #111827; font-size: 1rem; line-height: 1.65; caret-color: #2563eb;
        }
        .notice-editor-field select { max-width: 18rem; }
        .notice-editor-field textarea { resize: vertical; min-height: 12rem; }
        .notice-editor-options, .notice-editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
        .notice-editor-options label { display: flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: 0.875rem; }
        .notice-editor-options input { width: 1rem; height: 1rem; accent-color: #2563eb; }
        .notice-editor-actions { justify-content: flex-end; padding-top: 0.5rem; }
        .notice-primary-button, .notice-secondary-button {
            display: inline-flex; justify-content: center; align-items: center; gap: 0.5rem;
            min-height: 2.75rem; padding: 0.625rem 1rem; border-radius: 0.5rem;
            font-size: 0.875rem; font-weight: 600; line-height: 1.5; white-space: nowrap;
        }
        .notice-primary-button { background: #2563eb; color: #fff; }
        .notice-primary-button:hover { background: #1d4ed8; }
        .notice-secondary-button { background: #f3f4f6; color: #374151; }
        .notice-secondary-button:hover { background: #e5e7eb; }
        .notice-editor-error { color: #b91c1c; font-size: 0.875rem; line-height: 1.75; }
        .notice-editor :disabled, #noticeWriteBtn:disabled { opacity: 0.6; cursor: wait !important; }
        .notice-editor :focus-visible, .notice-list-row:focus-visible, .notice-primary-button:focus-visible, .notice-secondary-button:focus-visible {
            outline: 2px solid #2563eb; outline-offset: 3px;
        }
        .notice-list-row:focus-visible { outline-offset: -3px; }
        #detailContent { white-space: pre-wrap; line-height: 1.8; color: #374151; -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; cursor: text; }
        #detailContent, #detailTitle, .notice-editor, .notice-page-feedback, .notice-list-state { word-break: keep-all; overflow-wrap: anywhere; }
        #detailContent::selection, .notice-editor input::selection, .notice-editor textarea::selection { background: #dbeafe; color: #1e3a8a; }
        .dark .notice-editor { background: #0f172a; border-color: #1e293b; }
        .dark .notice-editor h2 { color: #f9fafb; }
        .dark .notice-list-state, .dark .notice-page-feedback, .dark #detailContent { color: #d1d5db; }
        .dark .notice-state-hint, .dark .notice-editor-hint { color: #9ca3af; }
        .dark .notice-editor-field input, .dark .notice-editor-field select, .dark .notice-editor-field textarea {
            background: #1e293b; border-color: #475569; color: #f3f4f6; caret-color: #60a5fa;
        }
        .dark .notice-secondary-button { background: #1e293b; color: #e5e7eb; }
        .dark .notice-secondary-button:hover { background: #334155; }
        .dark .notice-editor-error { color: #fca5a5; }
        .dark .notice-editor :focus-visible, .dark .notice-list-row:focus-visible, .dark .notice-primary-button:focus-visible, .dark .notice-secondary-button:focus-visible {
            outline-color: #60a5fa;
        }
        @media (max-width: 639px) {
            .notice-list-tools { align-items: stretch; flex-direction: column; }
            .notice-list-tools > .notice-primary-button { align-self: flex-start; }
            .notice-editor { padding: 1.25rem; }
            #noticeSearchInput { font-size: 1rem; }
        }
