/*
Theme Name: 4ie-retro
Theme URI: https://4ie.net
Author: ktr3310
Author URI: https://4ie.net
Description: For Internet Explorer — Year 2001 retro web nostalgia. Windows XP era UI with classic IE6 chrome, marquee text, pixel fonts, and blink effects.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 4ie-retro
Tags: retro, ie6, windows-xp, nostalgia, two-columns, left-sidebar
*/

/* ============================================================
   RESET & BASE
   ============================================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #008080;
    font-family: 'MS Gothic', 'MS PGothic', 'ＭＳ ゴシック', monospace, Arial;
    font-size: 12px;
    color: #000000;
    min-height: 100vh;
}

a            { color: #0000cc; text-decoration: underline; }
a:visited    { color: #551a8b; }
a:hover      { color: #ff0000; }
img          { border: 0; }

/* ============================================================
   IE BROWSER WINDOW SHELL
   ============================================================ */
.ie-window {
    max-width: 1024px;
    margin: 8px auto;
    border: 2px solid #848484;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.6);
    background: #d4d0c8;
}

/* ============================================================
   TITLE BAR
   ============================================================ */
.ie-titlebar {
    background: linear-gradient(to right, #0a246a, #a6caf0);
    padding: 3px 4px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 22px;
    user-select: none;
}

.ie-titlebar-left {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ie-icon {
    width: 16px;
    height: 16px;
    font-size: 13px;
    font-weight: bold;
    font-style: italic;
    color: #4a90d9;
    background: #ffffff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-shadow: 1px 0 0 #1a5ca8;
    flex-shrink: 0;
}

.ie-titlebar-text {
    color: #ffffff;
    font-size: 11px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.4);
}

.ie-titlebar-buttons {
    display: flex;
    gap: 2px;
}

.ie-btn {
    width: 16px;
    height: 14px;
    font-size: 9px;
    border: 1px solid #848484;
    cursor: default;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #d4d0c8;
    color: #000;
    line-height: 1;
}

.ie-btn-close:hover { background: #ff0000; color: #fff; }

/* ============================================================
   MENU BAR
   ============================================================ */
.ie-menubar {
    background: #d4d0c8;
    border-bottom: 1px solid #848484;
    padding: 1px 4px;
    display: flex;
}

.ie-menubar a {
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-size: 11px;
    color: #000000;
    text-decoration: none;
    padding: 2px 6px;
    display: inline-block;
}

.ie-menubar a:hover {
    background: #0a246a;
    color: #ffffff;
}

/* ============================================================
   MENU BAR NAV (wp_nav_menu output)
   ============================================================ */
.ie-menubar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.ie-menubar-nav li {
    display: inline;
}

/* Match .ie-menubar a */
.ie-menubar-nav a {
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-size: 11px;
    color: #000000;
    text-decoration: none;
    padding: 2px 6px;
    display: inline-block;
}

.ie-menubar-nav a:hover {
    background: #0a246a;
    color: #ffffff;
}

/* Hide sub-menus in the menu bar (not IE6 style) */
.ie-menubar-nav .sub-menu {
    display: none;
}

/* ============================================================
   SIDEBAR FAVORITES (wp_nav_menu output)
   ============================================================ */
.sidebar-favorites {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-favorites li {
    padding: 1px 0;
}

.sidebar-favorites li::before {
    content: "► ";
    color: #000080;
    font-size: 9px;
}

/* Match existing sidebar link style */
.sidebar-favorites a {
    font-size: 11px;
    color: #000080;
    text-decoration: none;
}

.sidebar-favorites a:hover {
    color: #ff0000;
    text-decoration: underline;
}

/* ============================================================
   TOOLBAR
   ============================================================ */
.ie-toolbar {
    background: #d4d0c8;
    border-bottom: 1px solid #848484;
    padding: 2px 4px;
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: 26px;
}

.ie-toolbar-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 2px 5px;
    border: 1px solid transparent;
    cursor: pointer;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-size: 10px;
    color: #000;
    text-decoration: none;
    min-width: 38px;
    gap: 1px;
}

.ie-toolbar-btn:hover {
    border: 1px solid #848484;
    background: linear-gradient(to bottom, #ffffff, #d4d0c8);
    color: #000;
}

.ie-toolbar-icon { font-size: 14px; line-height: 1; }

.ie-toolbar-sep {
    width: 1px;
    height: 22px;
    background: #848484;
    margin: 0 2px;
    flex-shrink: 0;
}

/* ============================================================
   ADDRESS BAR
   ============================================================ */
.ie-addressbar {
    background: #d4d0c8;
    border-bottom: 2px solid #848484;
    padding: 2px 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
}

.ie-addressbar-label {
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-size: 11px;
    font-weight: bold;
    color: #000;
    white-space: nowrap;
}

.ie-addressbar-input {
    flex: 1;
    border: 1px inset #848484;
    background: #ffffff;
    padding: 1px 4px;
    font-family: 'Tahoma', monospace;
    font-size: 11px;
    height: 20px;
    outline: none;
    color: #000080;
}

.ie-go-btn {
    background: #d4d0c8;
    border: 1px outset #ffffff;
    padding: 1px 8px;
    font-family: 'Tahoma', sans-serif;
    font-size: 11px;
    cursor: pointer;
    height: 20px;
    white-space: nowrap;
}

.ie-go-btn:hover { background: linear-gradient(to bottom, #ffffff, #d4d0c8); }

/* ============================================================
   CONTENT AREA (sidebar + main)
   ============================================================ */
.ie-content {
    background: #ffffff;
    display: flex;
    min-height: 400px;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.ie-sidebar {
    width: 180px;
    min-width: 180px;
    background: #c0c0c0;
    border-right: 2px inset #848484;
    padding: 6px;
    flex-shrink: 0;
}

.sidebar-panel {
    background: #d4d0c8;
    border: 2px outset #ffffff;
    margin-bottom: 6px;
    padding: 4px;
}

.sidebar-panel-title {
    background: linear-gradient(to right, #0a246a, #a6caf0);
    color: #ffffff;
    font-family: 'Tahoma', sans-serif;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 4px;
    margin: -4px -4px 4px -4px;
}

.sidebar-panel ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-panel ul li { padding: 1px 0; }

.sidebar-panel ul li::before {
    content: "► ";
    color: #000080;
    font-size: 9px;
}

.sidebar-panel ul li a {
    font-size: 11px;
    color: #000080;
}

/* Retro LED counter */
.retro-counter {
    background: #000000;
    color: #00ff00;
    font-family: 'Courier New', 'Lucida Console', monospace;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 3px;
    text-align: center;
    padding: 4px 2px;
    border: 2px inset #848484;
    margin: 4px 0;
}

/* Under construction */
.uc-text {
    font-size: 10px;
    font-weight: bold;
    color: #ff0000;
    text-align: center;
    animation: blink-anim 1s step-end infinite;
    padding: 4px 2px;
}

/* Retro 88×31 badges */
.badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: 4px 0;
}

.badge {
    width: 88px;
    height: 31px;
    border: 1px solid #000000;
    font-size: 8px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    color: #ffffff;
}

.badge-green { background: #006000; }
.badge-navy  { background: #000080; }
.badge-red   { background: #800000; }

/* ============================================================
   MAIN CONTENT
   ============================================================ */
.ie-main {
    flex: 1;
    padding: 8px 12px;
    background: #ffffff;
    overflow: hidden;
}

/* ============================================================
   PAGE BANNER
   ============================================================ */
.page-banner {
    background: linear-gradient(135deg, #000080 0%, #0000cc 60%, #00ffff 100%);
    color: #ffff00;
    font-family: 'Arial Black', 'Impact', sans-serif;
    font-size: 18px;
    font-weight: bold;
    padding: 8px 12px;
    margin-bottom: 8px;
    border: 3px ridge #c0c0c0;
    text-shadow: 2px 2px 0 #000000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px;
}

.page-banner-sub {
    font-size: 11px;
    color: #00ffff;
    font-family: monospace;
    font-weight: normal;
    text-shadow: none;
}

/* Marquee bar */
.marquee-bar {
    background: #000080;
    color: #ffffff;
    padding: 3px 0;
    border: 1px solid #000040;
    margin-bottom: 8px;
    font-size: 11px;
    font-family: 'Courier New', monospace;
    overflow: hidden;
}

/* ============================================================
   BETA NOTICE — 試験運用バナー
   ============================================================ */
.beta-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(to bottom, #fffbe6, #fff3c4);
    border: 2px solid #e6a000;
    border-left: 5px solid #e6a000;
    padding: 7px 12px;
    margin: 0 4px 10px;
    font-family: Tahoma, 'MS UI Gothic', sans-serif;
    font-size: 12px;
    color: #5a3e00;
    box-shadow: 1px 1px 3px rgba(0,0,0,.2);
}
.beta-notice-icon {
    font-size: 18px;
    flex-shrink: 0;
    line-height: 1;
}
.beta-notice-text {
    line-height: 1.5;
}
.beta-notice-text strong {
    color: #3a2600;
    font-size: 13px;
}
body[data-skin="nt"] .beta-notice {
    background: linear-gradient(to bottom, #1a1200, #2a1e00);
    border-color: #ff9900;
    color: #ffcc66;
}
body[data-skin="nt"] .beta-notice-text strong { color: #ffee99; }

/* ============================================================
   BLINK / NEW BADGE
   ============================================================ */
.new-badge {
    display: inline-block;
    background: #ff0000;
    color: #ffff00;
    font-size: 9px;
    font-weight: bold;
    padding: 0 3px;
    margin-left: 4px;
    animation: blink-anim 0.8s step-end infinite;
    vertical-align: middle;
}

@keyframes blink-anim {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ============================================================
   POST CARDS (retro table style)
   ============================================================ */
.post-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
    border: 2px solid #808080;
    border-right-color: #dfdfdf;
    border-bottom-color: #dfdfdf;
    box-shadow: 2px 2px 5px rgba(0,0,0,.28);
}

.post-header-row {
    background: linear-gradient(to right, #003c8a 0%, #1a5acd 40%, #2670d8 50%, #1a5acd 60%, #003c8a 100%);
    color: #ffffff;
    font-family: Tahoma, 'MS UI Gothic', sans-serif;
    font-size: 11px;
    font-weight: bold;
    text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}

.post-header-row td { padding: 4px 8px; }

.post-header-row a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
}

.post-header-row a:hover {
    color: #ffffcc;
    text-decoration: underline;
}

/* 緑URLバー */
.post-url-row { background: #ffffff; }
.post-url-row td {
    padding: 1px 8px 2px;
    font-size: 12px;
    color: #006600;
    font-family: Tahoma, Arial, sans-serif;
    border-bottom: 1px solid #f0ede5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 0;
}

.post-meta-row { background: linear-gradient(to bottom, #f0ede5, #e0ddd5); }
.post-meta-row td {
    padding: 3px 8px;
    font-size: 11px;
    color: #444;
    border-top: 1px solid #c8c4bc;
    border-bottom: 1px solid #c8c4bc;
    font-family: Tahoma, Arial, sans-serif;
}

.post-body-row { background: #ffffff; }
.post-body-row td {
    padding: 8px 10px 10px;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.65;
    color: #333;
    font-family: Tahoma, Arial, sans-serif;
}

/* ============================================================
   SECTION TITLE BAR
   ============================================================ */
.archive-title-bar {
    background: linear-gradient(to right, #000080, #0000cc);
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
    padding: 4px 8px;
    margin-bottom: 6px;
    font-family: 'Tahoma', sans-serif;
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single-post-wrap {
    border: 2px solid #808080;
    border-right-color: #dfdfdf;
    border-bottom-color: #dfdfdf;
    box-shadow: 2px 2px 5px rgba(0,0,0,.28);
    margin-bottom: 12px;
}

.single-post-title {
    background: linear-gradient(to right, #003c8a 0%, #1a5acd 40%, #2670d8 50%, #1a5acd 60%, #003c8a 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: bold;
    padding: 5px 10px;
    font-family: Tahoma, 'MS UI Gothic', sans-serif;
    text-shadow: 1px 1px 1px rgba(0,0,0,.5);
    line-height: 1.4;
}

/* 緑URLライン（タイトル直下） */
.single-post-url {
    background: #ffffff;
    padding: 2px 10px;
    font-size: 12px;
    color: #006600;
    font-family: Tahoma, Arial, sans-serif;
    border-bottom: 1px solid #f0ede5;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    display: block;
}

.single-post-meta {
    background: linear-gradient(to bottom, #f0ede5, #e0ddd5);
    padding: 3px 10px;
    font-size: 11px;
    border-bottom: 1px solid #c8c4bc;
    color: #444;
    font-family: Tahoma, Arial, sans-serif;
}

.single-post-body {
    padding: 12px;
    line-height: 1.7;
}

.single-post-body h2 {
    border-bottom: 2px solid #000080;
    color: #000080;
    margin: 16px 0 8px;
    font-size: 14px;
}

.single-post-body h3 {
    color: #000080;
    margin: 12px 0 6px;
    font-size: 13px;
}

.single-post-body img {
    max-width: 100%;
    border: 2px outset #848484;
}

.single-post-body blockquote {
    border-left: 3px solid #000080;
    background: #f0f0f8;
    padding: 6px 10px;
    margin: 8px 0;
    color: #333;
    font-style: italic;
}

/* Post navigation */
.post-nav {
    display: flex;
    justify-content: space-between;
    margin: 8px 0;
    font-size: 11px;
}

.post-nav a {
    background: #d4d0c8;
    border: 1px outset #ffffff;
    padding: 2px 8px;
    text-decoration: none;
    color: #000080;
}

.post-nav a:hover { border: 1px inset #848484; }

/* ============================================================
   PAGINATION
   ============================================================ */
.nav-links {
    display: flex;
    gap: 4px;
    margin: 8px 0;
    font-size: 11px;
    flex-wrap: wrap;
}

.nav-links a, .nav-links span {
    border: 1px outset #848484;
    background: #d4d0c8;
    padding: 2px 8px;
    text-decoration: none;
    color: #000080;
}

.nav-links .current {
    border: 1px inset #848484;
    background: #c0c0c0;
    font-weight: bold;
    color: #000;
}

/* ============================================================
   COMMENTS
   ============================================================ */
.comments-area {
    margin-top: 16px;
    border: 2px inset #848484;
}

.comments-title-bar {
    background: #d4d0c8;
    border-bottom: 1px solid #848484;
    padding: 3px 8px;
    font-weight: bold;
    font-size: 11px;
}

/* ============================================================
   HR
   ============================================================ */
hr {
    border: none;
    border-top: 1px solid #848484;
    border-bottom: 1px solid #ffffff;
    margin: 6px 0;
}

/* ============================================================
   STATUS BAR / FOOTER
   ============================================================ */
.ie-statusbar {
    background: #d4d0c8;
    border-top: 2px solid #ffffff;
    padding: 2px 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-size: 11px;
    min-height: 20px;
}

.statusbar-right {
    display: flex;
}

.statusbar-zone {
    padding: 0 8px;
    border-left: 1px solid #848484;
    font-size: 10px;
    white-space: nowrap;
}

.ie-copyright {
    text-align: center;
    font-size: 10px;
    color: #ffffff;
    padding: 4px;
    font-family: monospace;
}

.ie-copyright a { color: #00ffff; }

/* ============================================================
   WORDPRESS CORE UTILITY CLASSES
   ============================================================ */
.alignleft  { float: left;  margin: 0 8px 4px 0; }
.alignright { float: right; margin: 0 0 4px 8px; }
.aligncenter { display: block; margin: 0 auto; }
.wp-caption { border: 1px solid #848484; background: #f0f0f0; padding: 4px; text-align: center; font-size: 10px; }
.wp-block-image img { max-width: 100%; }

/* ============================================================
   RESPONSIVE — keep retro on mobile
   ============================================================ */
@media (max-width: 640px) {
    .ie-sidebar { display: none; }
    .ie-window  { margin: 0; }
    .ie-toolbar-btn span:last-child { display: none; }
    .page-banner { font-size: 14px; }
}

/* === XP Icon Buttons === */
.xp-icon-btn {
    display: inline-flex; flex-direction: column; align-items: center;
    width: 68px; padding: 4px 2px; cursor: pointer;
    border: 1px solid transparent; background: transparent;
    font-family: "MS UI Gothic","MS Gothic",monospace;
    font-size: 10px; color: #000; text-decoration: none;
    line-height: 1.3; text-align: center;
}
.xp-icon-btn:hover { background:#cce8ff; border:1px dotted #0066cc; }
.xp-icon-btn:active { background:#99ccff; }
.xp-icon-btn svg { display:block; margin:0 auto 3px; }
.xp-apps-grid { display:flex; flex-wrap:wrap; gap:2px; padding:4px 2px; }

/* ============================================
   XP VISUAL POLISH — Gloss & Rounded Corners
   ============================================ */

/* XP Titlebar gloss */
.ie-titlebar {
    background: linear-gradient(
        to bottom,
        #6fa8e8 0%, #3a7fd5 40%, #1e57b8 41%, #2a6fd4 60%, #1a4fa8 100%
    ) !important;
    border-radius: 8px 8px 0 0;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 2px 4px rgba(0,0,0,0.4);
}

/* XP Button gloss */
.tb-btn, .ie-toolbar-btn {
    border-radius: 3px;
    background: linear-gradient(
        to bottom,
        #f0f0f0 0%, #d8d8d8 50%, #c8c8c8 51%, #e0e0e0 100%
    ) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
    transition: background 0.1s;
}
.tb-btn:hover, .ie-toolbar-btn:hover {
    background: linear-gradient(
        to bottom,
        #fff 0%, #e8e8ff 50%, #d0d0f0 51%, #e8e8ff 100%
    ) !important;
}

/* XP Main content area */
.ie-content {
    border-radius: 0 0 6px 6px;
    overflow: hidden;
}

/* XP Sidebar */
.ie-sidebar {
    background: linear-gradient(
        to bottom, #d8d8d8 0%, #c8c8c8 100%
    ) !important;
}

/* XP Sidebar panel title bars — gloss */
.sidebar-panel-title {
    border-radius: 3px;
    background: linear-gradient(
        to bottom,
        #3a7fd5 0%, #1e57b8 50%, #1a4fa8 51%, #2a6fd4 100%
    ) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
    text-shadow: 0 1px 1px rgba(0,0,0,0.4);
}

/* XP Status bar */
.ie-statusbar {
    border-radius: 0 0 4px 4px;
}

/* XP Address bar input */
.ie-addressbar-input {
    border-radius: 2px;
    background: linear-gradient(
        to bottom, #f8f8f8 0%, #ffffff 100%
    ) !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.2);
}

/* XP Counter box */
.retro-counter {
    border-radius: 4px;
    box-shadow:
        inset 0 2px 4px rgba(0,255,0,0.2),
        0 0 8px rgba(0,255,0,0.15);
}

/* XP news/post item hover */
.news-item:hover, article:hover {
    background: linear-gradient(to right, #e8f4ff, #f0f8ff);
    border-radius: 3px;
    transition: all 0.15s;
}

/* XP Scrollbar styling (webkit) */
::-webkit-scrollbar { width: 16px; }
::-webkit-scrollbar-track { background: #d4d0c8; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(
        to right, #e8e8e8 0%, #c0c0c0 50%, #a8a8a8 100%
    );
    border: 1px solid #808080;
    border-radius: 2px;
}
::-webkit-scrollbar-button {
    background: linear-gradient(to bottom, #e0e0e0, #c0c0c0);
    border: 1px solid #808080;
    height: 16px;
}

/* === APPS Auth Gate === */
.xp-apps-locked {
  text-align: center;
  padding: 6px 4px;
}
.xp-apps-lockbtn {
  display: inline-block;
  background: linear-gradient(to bottom, #e8e8e8 0%, #c8c8c8 50%, #b8b8b8 51%, #d0d0d0 100%);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #606060;
  border-right: 1px solid #606060;
  border-radius: 3px;
  padding: 3px 10px;
  font-size: 11px;
  font-family: "MS Gothic", monospace;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
.xp-apps-lockbtn:hover {
  background: linear-gradient(to bottom, #d0e8ff 0%, #b0ccee 50%, #a0bcde 51%, #c0d8f0 100%);
}
.xp-apps-grid { display: none; }
.xp-apps-grid.unlocked { display: flex; }

/* XP Auth Dialog */
#xp-auth-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 99998;
}
#xp-auth-dialog {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  background: #d4d0c8;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #404040;
  border-right: 2px solid #404040;
  z-index: 99999;
  font-family: "MS Gothic", monospace;
  font-size: 12px;
}
#xp-auth-titlebar {
  background: linear-gradient(to right, #0a246a, #a6caf0);
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
#xp-auth-body {
  padding: 16px;
}
#xp-auth-body label {
  display: block;
  font-size: 11px;
  margin-bottom: 2px;
  margin-top: 10px;
}
#xp-auth-body input {
  width: 100%;
  box-sizing: border-box;
  border-top: 1px solid #808080;
  border-left: 1px solid #808080;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  padding: 2px 4px;
  font-size: 12px;
  font-family: monospace;
  background: #fff;
}
#xp-auth-error {
  color: #cc0000;
  font-size: 11px;
  margin-top: 8px;
  min-height: 14px;
}
#xp-auth-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 14px;
}
.xp-dialog-btn {
  background: linear-gradient(to bottom, #e8e8e8, #c8c8c8);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #606060;
  border-right: 1px solid #606060;
  border-radius: 2px;
  padding: 3px 16px;
  font-size: 12px;
  font-family: "MS Gothic", monospace;
  cursor: pointer;
  min-width: 60px;
}
.xp-dialog-btn:hover {
  background: linear-gradient(to bottom, #d0e8ff, #b0ccee);
}
.xp-dialog-btn:active {
  border-top: 1px solid #606060;
  border-left: 1px solid #606060;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* ============================================
   XP DYNAMIC ENHANCEMENTS
   ============================================ */

/* ウィンドウ全体に影・起動アニメ */
.ie-window {
  box-shadow: 4px 4px 16px rgba(0,0,0,0.5);
  animation: xp-boot 0.4s ease-out;
}
@keyframes xp-boot {
  0%   { opacity: 0; transform: scale(0.97); }
  100% { opacity: 1; transform: scale(1); }
}

/* タイトルバー: ホバー時アクティブ化 */
.ie-titlebar {
  transition: background 0.3s;
}
.ie-window:hover .ie-titlebar {
  background: linear-gradient(
    to bottom,
    #7ab8f5 0%, #4a90e2 40%, #2060c0 41%, #3070d0 60%, #1a50b0 100%
  ) !important;
}

/* ============================================
   XP TASKBAR — footer
   ============================================ */

.xp-taskbar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  width: 100%;
  height: 38px;
  background: linear-gradient(
    to bottom,
    #1f5bc4 0%,
    #3a7bd5 4%,
    #2060c8 6%,
    #1a50b8 50%,
    #1848a8 51%,
    #1e54bc 100%
  );
  border-top: 2px solid #5a9aee;
  display: flex;
  align-items: center;
  padding: 0 4px;
  gap: 4px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
  z-index: 8888;
}

/* スタートボタン */
.xp-start-btn {
  height: 28px;
  background: linear-gradient(
    to bottom,
    #62c462 0%, #46a846 45%,
    #3a9a3a 51%, #4aaa4a 100%
  );
  border: 1px solid #1a6a1a;
  border-radius: 12px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  font-family: "Tahoma", "MS UI Gothic", sans-serif;
  padding: 0 14px 0 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.4),
    0 1px 3px rgba(0,0,0,0.4);
  text-shadow: 0 1px 1px rgba(0,0,0,0.5);
  white-space: nowrap;
  flex-shrink: 0;
}
.xp-start-btn:hover {
  background: linear-gradient(
    to bottom,
    #7ad47a 0%, #56b856 45%,
    #4aaa4a 51%, #5aba5a 100%
  );
}
.xp-start-btn:active {
  background: linear-gradient(
    to bottom,
    #3a9a3a 0%, #2a8a2a 100%
  );
  box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);
}

/* Windowsロゴ（CSS描画） */
.xp-win-logo {
  width: 16px;
  height: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1px;
  flex-shrink: 0;
}
.xp-win-logo span {
  border-radius: 1px;
  display: block;
}
.xp-win-logo span:nth-child(1) { background: #ff4444; }
.xp-win-logo span:nth-child(2) { background: #44cc44; }
.xp-win-logo span:nth-child(3) { background: #4444ff; }
.xp-win-logo span:nth-child(4) { background: #ffcc00; }

/* クイック起動エリア */
.xp-quicklaunch {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 4px;
  border-left: 1px solid rgba(255,255,255,0.15);
  border-right: 1px solid rgba(255,255,255,0.15);
  height: 100%;
}
.xp-ql-btn {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all 0.1s;
}
.xp-ql-btn:hover {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.3);
}
.xp-ql-btn:active {
  background: rgba(0,0,0,0.2);
}

/* タスクバーボタン（開いているウィンドウ） */
.xp-taskbar-items {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  overflow: hidden;
  height: 100%;
  padding: 4px 2px;
}
.xp-taskitem {
  height: 26px;
  background: linear-gradient(
    to bottom,
    #2a6ad4 0%, #1e54bc 50%,
    #1848a8 51%, #2258c4 100%
  );
  border: 1px solid #4a7ae0;
  border-radius: 2px;
  color: #fff;
  font-size: 11px;
  font-family: "Tahoma", "MS UI Gothic", sans-serif;
  padding: 0 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  max-width: 160px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
  text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}
.xp-taskitem:hover {
  background: linear-gradient(
    to bottom,
    #3a7ae4 0%, #2e64cc 50%,
    #2858b8 51%, #3268d4 100%
  );
}
.xp-taskitem.active {
  background: linear-gradient(
    to bottom,
    #1848a8 0%, #1e54bc 100%
  );
  border-color: #1a3a8a;
  box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);
}

/* システムトレイ */
.xp-systray {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border-left: 1px solid rgba(255,255,255,0.15);
  height: 100%;
  flex-shrink: 0;
}
.xp-systray-icons {
  display: flex;
  gap: 3px;
  align-items: center;
  font-size: 13px;
}
.xp-systray-icon {
  cursor: pointer;
  opacity: 0.85;
  transition: opacity 0.1s;
}
.xp-systray-icon:hover { opacity: 1; }

/* 時計 */
.xp-clock {
  color: #fff;
  font-size: 11px;
  font-family: "Tahoma", "MS UI Gothic", sans-serif;
  text-align: center;
  line-height: 1.4;
  text-shadow: 0 1px 1px rgba(0,0,0,0.5);
  white-space: nowrap;
  cursor: default;
  padding: 2px 4px;
  border-radius: 2px;
}
.xp-clock:hover {
  background: rgba(255,255,255,0.1);
}
.xp-clock-time {
  font-size: 12px;
  font-weight: bold;
  display: block;
}
.xp-clock-date {
  font-size: 10px;
  display: block;
  opacity: 0.85;
}

/* スタートメニュー（ポップアップ） */
.xp-startmenu {
  display: none;
  position: fixed;
  bottom: 40px;
  left: 0;
  width: 280px;
  background: #d4d0c8;
  border: 2px solid #808080;
  border-bottom: none;
  box-shadow: 4px 0 8px rgba(0,0,0,0.4);
  z-index: 9999;
  font-family: "Tahoma", "MS UI Gothic", monospace;
  font-size: 12px;
}
.xp-startmenu.open { display: block; }

.xp-startmenu-header {
  background: linear-gradient(
    to right, #1a3d7c, #3a6fc8
  );
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.xp-startmenu-avatar {
  width: 36px;
  height: 36px;
  background: #5bc8e8;
  border: 2px solid #fff;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.xp-startmenu-username {
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.xp-startmenu-body {
  display: flex;
}
.xp-startmenu-left {
  flex: 1;
  background: #fff;
  padding: 4px 0;
  border-right: 1px solid #c0c0c0;
}
.xp-startmenu-right {
  width: 110px;
  background: #d8d0e8;
  padding: 4px 0;
}

.xp-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  cursor: pointer;
  color: #000;
  text-decoration: none;
}
.xp-menu-item:hover {
  background: #316ac5;
  color: #fff;
}
.xp-menu-item-icon { font-size: 18px; flex-shrink: 0; }
.xp-menu-item-label { font-size: 12px; }
.xp-menu-sep {
  border: none;
  border-top: 1px solid #c0c0c0;
  margin: 4px 10px;
}

.xp-startmenu-footer {
  background: linear-gradient(
    to right, #1a3d7c, #3a6fc8
  );
  padding: 4px 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.xp-startmenu-footer-btn {
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  font-size: 11px;
  padding: 3px 10px;
  cursor: pointer;
  border-radius: 2px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.xp-startmenu-footer-btn:hover {
  background: rgba(255,255,255,0.25);
}

/* タスクバー分の余白 */
body { padding-bottom: 42px; }
#ie-zame-wrap { bottom: 54px !important; }

/* ホバー時ハイライト */
.news-item {
  transition: all 0.1s;
  padding: 3px 4px;
}
.news-item:hover {
  background: #cce8ff;
  cursor: pointer;
}

/* XP 選択ハイライト */
::selection {
  background: #316ac5;
  color: #fff;
}

/* ============================================
   SKIN SYSTEM: XP / NewTokyo
   data-skin="xp"  → デフォルト（変更なし）
   data-skin="nt"  → NewTokyo AKIRA MODE
   ============================================ */

/* ===== スキン切り替えボタン ===== */
#skin-toggle-btn {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 99999;
  padding: 4px 12px;
  font-size: 11px;
  font-family: "MS Gothic", monospace;
  cursor: pointer;
  border-radius: 3px;
  transition: all 0.2s;
}

body[data-skin="xp"] #skin-toggle-btn {
  background: linear-gradient(to bottom, #e8e8e8, #c8c8c8);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #606060;
  border-right: 1px solid #606060;
  color: #000;
}
body[data-skin="nt"] #skin-toggle-btn {
  background: transparent;
  border: 1px solid #ff2d78;
  color: #ff2d78;
  text-shadow: 0 0 8px #ff2d78;
  box-shadow: 0 0 8px rgba(255,45,120,0.3);
  letter-spacing: 2px;
}

/* ===== NewTokyo: ベース ===== */
body[data-skin="nt"] {
  background: #000 !important;
  color: #e0e0ff;
}

/* タイトルバー */
body[data-skin="nt"] .ie-titlebar {
  background: linear-gradient(
    to right, #0a0015, #1a0030, #0d001a
  ) !important;
  border-bottom: 1px solid #ff2d78;
  box-shadow: 0 0 12px rgba(255,45,120,0.4);
}
body[data-skin="nt"] .ie-titlebar,
body[data-skin="nt"] .ie-titlebar * {
  color: #ff2d78 !important;
  text-shadow: 0 0 8px #ff2d78;
}
body[data-skin="nt"] .ie-icon {
  background: transparent !important;
  border: 1px solid #ff2d78;
  color: #ff2d78 !important;
  box-shadow: 0 0 6px #ff2d78;
}

/* XPウィンドウボタン */
body[data-skin="nt"] .xp-winbtn-min,
body[data-skin="nt"] .xp-winbtn-max {
  background: transparent !important;
  border: 1px solid #00ffff !important;
  color: #00ffff !important;
}
body[data-skin="nt"] .xp-winbtn-close {
  background: transparent !important;
  border: 1px solid #ff2d78 !important;
  color: #ff2d78 !important;
}

/* メニューバー */
body[data-skin="nt"] .ie-menubar {
  background: #0d0020 !important;
  border-bottom: 1px solid rgba(0,255,255,0.2) !important;
  color: #00ffff !important;
}
body[data-skin="nt"] .ie-menubar span {
  color: #00ffff;
}
body[data-skin="nt"] .ie-menubar span:hover {
  background: #ff2d78 !important;
  color: #000 !important;
  text-shadow: none;
}

/* ツールバー */
body[data-skin="nt"] .ie-toolbar {
  background: #0a0018 !important;
  border-bottom: 1px solid rgba(255,45,120,0.3) !important;
}
body[data-skin="nt"] .tb-btn {
  background: #1a0030 !important;
  border-color: #ff2d78 !important;
  color: #00ffff !important;
  font-size: 10px;
}
body[data-skin="nt"] .tb-btn:hover {
  background: #ff2d78 !important;
  color: #000 !important;
}
body[data-skin="nt"] .address-input {
  background: #000 !important;
  border-color: rgba(0,255,255,0.5) !important;
  color: #00ffff !important;
}

/* コンテンツエリア */
body[data-skin="nt"] .content-area {
  background: #06000e !important;
  position: relative;
}
/* CRTスキャンライン */
body[data-skin="nt"] .content-area::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.18) 2px,
    rgba(0, 0, 0, 0.18) 4px
  );
  pointer-events: none;
  z-index: 10;
}
/* CRTグロー（全体） */
body[data-skin="nt"] .content-area::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(
    ellipse at 50% 50%,
    rgba(155, 0, 255, 0.04) 0%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 9;
}

/* サイトヘッダー（マーキーエリア） */
body[data-skin="nt"] .site-header {
  background: #000 !important;
  color: #ff2d78 !important;
  border-bottom: 1px solid #ff2d78;
  text-shadow: 0 0 8px #ff2d78;
  letter-spacing: 2px;
  font-size: 10px;
}

/* メインタイトルエリア */
body[data-skin="nt"] .main-title-area {
  background: linear-gradient(
    to bottom, #0a0015, #1a003a
  ) !important;
  border-bottom: 2px solid #ff2d78 !important;
  box-shadow: 0 4px 20px rgba(255,45,120,0.3);
}
body[data-skin="nt"] .main-logo {
  color: #ff2d78 !important;
  text-shadow:
    0 0 20px #ff2d78,
    0 0 40px rgba(255,45,120,0.5),
    2px 2px 0 #9b00ff !important;
  letter-spacing: 8px;
  animation: nt-glitch 6s infinite;
}
body[data-skin="nt"] .sub-title {
  color: #00ffff !important;
  text-shadow: 0 0 8px #00ffff;
  letter-spacing: 3px;
  font-size: 10px;
}

@keyframes nt-glitch {
  0%,90%,100% { transform: none; opacity: 1; }
  91% { transform: skewX(-3deg) translateX(3px); opacity: 0.85; }
  92% { transform: skewX(2deg) translateX(-2px); opacity: 0.9; }
  93% { transform: none; opacity: 1; }
  96% { transform: translateX(2px); opacity: 0.8; }
  97% { transform: translateX(-1px); opacity: 1; }
}

/* サイドバー */
body[data-skin="nt"] .sidebar {
  background: #08000e !important;
  border-right: 1px solid rgba(255,45,120,0.3) !important;
}
body[data-skin="nt"] .sidebar-title {
  background: linear-gradient(
    to right, #ff2d78, #9b00ff
  ) !important;
  color: #fff !important;
  text-shadow: 0 0 6px #fff;
  letter-spacing: 2px;
  font-size: 9px;
}
body[data-skin="nt"] .sidebar-link {
  color: #00ffff !important;
  font-size: 10px;
  letter-spacing: 1px;
}
body[data-skin="nt"] .sidebar-link:hover {
  background: rgba(255,45,120,0.2) !important;
  color: #ff2d78 !important;
  text-shadow: 0 0 6px #ff2d78;
}

/* カウンター */
body[data-skin="nt"] .counter-box {
  background: #000 !important;
  color: #ff2d78 !important;
  border-color: #ff2d78 !important;
  text-shadow: 0 0 8px #ff2d78;
  box-shadow: 0 0 10px rgba(255,45,120,0.3) !important;
}

/* ウェルカムボックス */
body[data-skin="nt"] .welcome-box {
  background: rgba(155,0,255,0.08) !important;
  border: 1px solid rgba(255,45,120,0.4) !important;
  color: #c0c0ff;
}
body[data-skin="nt"] .welcome-box h2 {
  color: #ff2d78 !important;
  text-shadow: 0 0 8px #ff2d78;
  border-color: #ff2d78 !important;
  letter-spacing: 3px;
}

/* ニュース */
body[data-skin="nt"] .news-item {
  border-color: rgba(255,45,120,0.2) !important;
  color: #c0c0ff;
}
body[data-skin="nt"] .news-date {
  color: #9b00ff !important;
}
body[data-skin="nt"] .news-title {
  color: #00ffff !important;
}
body[data-skin="nt"] .news-title:hover {
  color: #ff2d78 !important;
  text-shadow: 0 0 6px #ff2d78;
}
body[data-skin="nt"] .badge-new {
  background: #9b00ff !important;
  color: #fff;
  text-shadow: 0 0 4px #fff;
}

/* ポップアップ */
body[data-skin="nt"] .popup-box {
  background: #0d0020 !important;
  border: 2px solid #ff2d78 !important;
  color: #00ffff;
  box-shadow: 0 0 16px rgba(255,45,120,0.4) !important;
}

/* IEバッジ */
body[data-skin="nt"] .ie-badge {
  background: transparent !important;
  border: 1px solid #ff2d78 !important;
  color: #ff2d78 !important;
  text-shadow: 0 0 4px #ff2d78;
  letter-spacing: 1px;
  font-size: 9px;
}

/* 工事中バナー */
body[data-skin="nt"] .under-construction {
  background: rgba(255,45,120,0.1) !important;
  border: 1px solid #ff2d78 !important;
  color: #00ffff;
}
body[data-skin="nt"] .construction-icon {
  background: repeating-linear-gradient(
    45deg, #ff2d78 0 4px, #9b00ff 4px 8px
  ) !important;
}

/* XPアドレスバー: nt用上書き */
body[data-skin="nt"] .address-bar .tb-btn {
  background: #ff2d78 !important;
  color: #000 !important;
  border-color: #ff2d78 !important;
}

/* ボトムバー */
body[data-skin="nt"] .bottom-badges {
  background: #0a0018 !important;
  border-top: 1px solid rgba(255,45,120,0.3) !important;
  color: #9b00ff;
}

/* ステータスバー */
body[data-skin="nt"] .ie-statusbar {
  background: #0a0018 !important;
  border-top: 1px solid rgba(255,45,120,0.3) !important;
  color: #ff2d78;
}
body[data-skin="nt"] .ie-progress-bar {
  background: #ff2d78 !important;
  box-shadow: 0 0 6px #ff2d78;
}

/* タスクバー: NT */
body[data-skin="nt"] .xp-taskbar {
  background: linear-gradient(
    to bottom, #0a0015, #1a0030
  ) !important;
  border-top: 2px solid #ff2d78 !important;
  box-shadow: 0 -4px 16px rgba(255,45,120,0.3);
}
body[data-skin="nt"] .xp-start-btn {
  background: linear-gradient(
    to bottom, #ff2d78, #9b00ff
  ) !important;
  border-color: #ff2d78 !important;
  text-shadow: 0 0 6px #fff;
}
body[data-skin="nt"] .xp-win-logo span:nth-child(1) { background: #ff2d78; }
body[data-skin="nt"] .xp-win-logo span:nth-child(2) { background: #00ffff; }
body[data-skin="nt"] .xp-win-logo span:nth-child(3) { background: #9b00ff; }
body[data-skin="nt"] .xp-win-logo span:nth-child(4) { background: #ff2d78; }
body[data-skin="nt"] .xp-taskitem {
  background: rgba(255,45,120,0.15) !important;
  border-color: rgba(255,45,120,0.4) !important;
  color: #ff2d78 !important;
}
body[data-skin="nt"] .xp-clock {
  color: #ff2d78 !important;
  text-shadow: 0 0 6px #ff2d78;
}
body[data-skin="nt"] .xp-systray { color: #00ffff; }

/* スタートメニュー: NT */
body[data-skin="nt"] .xp-startmenu {
  background: #0d0020 !important;
  border-color: #ff2d78 !important;
}
body[data-skin="nt"] .xp-startmenu-header {
  background: linear-gradient(to right, #0a0015, #ff2d78) !important;
}
body[data-skin="nt"] .xp-startmenu-left {
  background: #06000e !important;
  border-color: rgba(255,45,120,0.3) !important;
}
body[data-skin="nt"] .xp-startmenu-right {
  background: #0a0018 !important;
}
body[data-skin="nt"] .xp-menu-item {
  color: #00ffff !important;
}
body[data-skin="nt"] .xp-menu-item:hover {
  background: rgba(255,45,120,0.2) !important;
  color: #ff2d78 !important;
}
body[data-skin="nt"] .xp-startmenu-footer {
  background: linear-gradient(to right, #0a0015, #1a0030) !important;
  border-top: 1px solid rgba(255,45,120,0.3);
}
body[data-skin="nt"] .xp-menu-sep {
  border-color: rgba(255,45,120,0.2) !important;
}

/* スクロールバー: NT */
body[data-skin="nt"] ::-webkit-scrollbar-track {
  background: #0a0018;
}
body[data-skin="nt"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #ff2d78, #9b00ff);
  border-color: #ff2d78;
}

/* ============================================================
   掲示板トピック一覧（エクスプローラー詳細表示風）
   ============================================================ */

.bbs-explorer {
    border: 2px groove #808080;
    margin: 10px 0 12px;
    background: #fff;
    font-family: 'Tahoma', 'MS UI Gothic', 'MS Gothic', sans-serif;
    font-size: 12px;
}

/* タイトルバー */
.bbs-explorer-titlebar {
    background: linear-gradient(to right, #0a246a, #3a6bc8);
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
}
.bbs-explorer-titlebar a {
    color: #cce0ff;
    font-size: 10px;
    font-weight: normal;
    text-decoration: none;
}
.bbs-explorer-titlebar a:hover { color: #fff; text-decoration: underline; }

/* 列ヘッダー */
.bbs-explorer-head {
    display: grid;
    grid-template-columns: 1fr 58px 36px 90px;
    background: linear-gradient(to bottom, #e8e4dc, #d4d0c8);
    border-bottom: 1px solid #999;
    padding: 0;
}
.bbs-explorer-head span {
    font-size: 11px;
    font-weight: bold;
    color: #000;
    padding: 2px 6px;
    border-right: 1px solid #aaa;
    cursor: default;
    white-space: nowrap;
    overflow: hidden;
}
.bbs-explorer-head span:last-child { border-right: none; }

/* 行リスト */
.bbs-explorer-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bbs-explorer-row {
    display: grid;
    grid-template-columns: 1fr 58px 36px 90px;
    border-bottom: 1px solid #f0ece4;
    min-height: 20px;
}
.bbs-explorer-row:last-child { border-bottom: none; }
.bbs-explorer-row:hover { background: #cce8ff; }
.bbs-explorer-row--locked { opacity: 0.55; }
.bbs-explorer-row--locked:hover { background: #eee; }

.bbs-explorer-row td,
.bbs-explorer-row > * {
    padding: 2px 6px;
    font-size: 11px;
    color: #000;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-right: 1px solid #f0ece4;
    display: flex;
    align-items: center;
    gap: 3px;
}
.bbs-explorer-row > *:last-child { border-right: none; }

/* タイトルセル */
.bbs-explorer-name { font-size: 11px; }
.bbs-explorer-link {
    color: #000080;
    text-decoration: none;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bbs-explorer-link:visited { color: #551a8b; }
.bbs-explorer-row:hover .bbs-explorer-link { text-decoration: underline; }
.bbs-explorer-locked-name { color: #888; font-size: 11px; }

/* 小アイコン（フォルダ的） */
.bbs-explorer-icon {
    flex-shrink: 0;
    font-size: 12px;
    line-height: 1;
}

/* カテゴリ・件数・日時 */
.bbs-explorer-board { font-size: 10px; color: #444; justify-content: center; }
.bbs-explorer-count { font-size: 11px; color: #000; justify-content: right; }
.bbs-explorer-date  { font-size: 10px; color: #444; }

/* NEW マーク（最小限） */
.bbs-explorer-new {
    font-size: 8px;
    color: #cc0000;
    font-weight: bold;
    flex-shrink: 0;
    line-height: 1;
}

/* 空 */
.bbs-explorer-empty {
    padding: 12px 8px;
    font-size: 11px;
    color: #888;
    text-align: center;
}

/* ステータスバー */
.bbs-explorer-statusbar {
    background: #d4d0c8;
    border-top: 1px solid #999;
    padding: 1px 8px;
    font-size: 11px;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 18px;
}
.bbs-explorer-statusbar a {
    color: #000080;
    text-decoration: none;
    font-size: 10px;
}
.bbs-explorer-statusbar a:hover { text-decoration: underline; }

/* NT スキン */
body[data-skin="nt"] .bbs-explorer {
    background: #08001a;
    border-color: rgba(255,45,120,0.5);
}
body[data-skin="nt"] .bbs-explorer-titlebar {
    background: linear-gradient(to right, #0a0015, #9b00ff);
}
body[data-skin="nt"] .bbs-explorer-head {
    background: linear-gradient(to bottom, #1a0030, #0d0020);
    border-bottom-color: rgba(255,45,120,0.4);
}
body[data-skin="nt"] .bbs-explorer-head span { color: #00ffff; border-right-color: rgba(255,45,120,0.3); }
body[data-skin="nt"] .bbs-explorer-row { border-bottom-color: rgba(255,45,120,0.1); }
body[data-skin="nt"] .bbs-explorer-row:hover { background: rgba(155,0,255,0.2); }
body[data-skin="nt"] .bbs-explorer-row > * { color: #e0e0ff; border-right-color: rgba(255,45,120,0.1); }
body[data-skin="nt"] .bbs-explorer-link { color: #00ffff; }
body[data-skin="nt"] .bbs-explorer-link:visited { color: #9b00ff; }
body[data-skin="nt"] .bbs-explorer-board { color: #9b00ff; }
body[data-skin="nt"] .bbs-explorer-date  { color: rgba(0,255,255,0.5); }
body[data-skin="nt"] .bbs-explorer-new   { color: #ff2d78; }
body[data-skin="nt"] .bbs-explorer-statusbar {
    background: #0d0020;
    border-top-color: rgba(255,45,120,0.3);
    color: rgba(0,255,255,0.6);
}
body[data-skin="nt"] .bbs-explorer-statusbar a { color: #ff2d78; }

/* ============================================================
   BBS トップ — Yahoo!知恵袋 × IE6/XP ウィンドウ
   ============================================================ */
.chie-top-window {
    border: 2px solid #808080;
    border-right-color: #dfdfdf; border-bottom-color: #dfdfdf;
    box-shadow: 2px 2px 5px rgba(0,0,0,.28);
    margin: 6px 4px 10px;
    font-family: Tahoma,'MS UI Gothic',sans-serif;
}

/* タイトルバー */
.chie-top-titlebar {
    background: linear-gradient(to right,#003c8a 0%,#1a5acd 40%,#2670d8 50%,#1a5acd 60%,#003c8a 100%);
    padding: 3px 6px;
    display: flex; align-items: center; gap: 5px;
    color: #fff; font-size: 11px; font-weight: bold;
    text-shadow: 1px 1px 1px rgba(0,0,0,.5); user-select: none;
}
.chie-top-tb-icon { font-size: 13px; }
.chie-top-tb-title { flex: 1; }
.chie-top-tb-btns { display: flex; gap: 2px; }
.chie-top-tb-btns span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 14px;
    background: linear-gradient(to bottom,#e4e4e4,#c8c8c8);
    border: 1px solid #888; color: #333; font-size: 9px; cursor: pointer;
}
.chie-top-tb-btns span:last-child {
    background: linear-gradient(to bottom,#e8706a,#c23b35);
    color: #fff; border-color: #a03030;
}

/* ナビゲーションバー（Yahoo!知恵袋 オレンジ） */
.chie-top-nav {
    background: linear-gradient(to bottom,#ffcc00,#ff9900);
    border-bottom: 1px solid #cc6600;
    padding: 0 8px;
    display: flex; align-items: center;
    font-size: 12px;
}
.chie-top-nav-tab {
    display: inline-block; padding: 7px 12px;
    color: #333; text-decoration: none; font-weight: bold;
    border-right: 1px solid rgba(0,0,0,.1); white-space: nowrap;
}
.chie-top-nav-tab:hover { background: rgba(255,255,255,.35); color: #333; }
.chie-top-nav-active { background: #fff; color: #cc3300; }
.chie-top-nav-active:hover { background: #fff; }
.chie-top-ask-btn {
    margin-left: auto;
    display: inline-block; padding: 4px 14px;
    background: linear-gradient(to bottom,#ff6600,#cc4400);
    border: 1px solid #993300;
    color: #fff; font-size: 12px; font-weight: bold;
    text-decoration: none; white-space: nowrap;
}
.chie-top-ask-btn:hover { background: linear-gradient(to bottom,#ff7722,#dd5511); color: #fff; }

/* 質問リスト */
.chie-top-list { background: #fff; }

.chie-top-item {
    padding: 10px 12px;
    border-bottom: 1px solid #f0e8c8;
    transition: background .1s;
}
.chie-top-item:hover { background: #fffff4; }
.chie-top-item:last-child { border-bottom: none; }

/* バッジ行 */
.chie-top-meta-row {
    display: flex; align-items: center; gap: 5px;
    flex-wrap: wrap; margin-bottom: 4px;
}
.chie-top-category {
    background: #ff6600; color: #fff;
    font-size: 10px; font-weight: bold;
    padding: 1px 8px; border-radius: 10px;
    white-space: nowrap;
}
.chie-top-status {
    font-size: 10px; font-weight: bold;
    padding: 1px 7px; border-radius: 3px; white-space: nowrap;
}
.chie-top-status--open   { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.chie-top-status--closed { background: #f0f0f0; color: #888;    border: 1px solid #ccc; }
.chie-top-badge {
    font-size: 10px; font-weight: bold;
    padding: 1px 6px; border-radius: 3px; white-space: nowrap;
}
.chie-top-badge--perm { background: #004400; color: #fff; }
.chie-top-badge--new  { background: #cc0000; color: #fff; }

/* タイトル */
.chie-top-title { margin: 2px 0 4px; }
.chie-top-title-link {
    font-size: 15px; color: #0033cc;
    text-decoration: none; font-weight: bold; line-height: 1.4;
}
.chie-top-title-link:hover { color: #cc0000; text-decoration: underline; }
.chie-top-title-locked { font-size: 14px; color: #888; font-weight: bold; }

/* メタ行 */
.chie-top-foot-row {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; flex-wrap: wrap;
}
.chie-top-reply { color: #555; font-weight: bold; }
.chie-top-ai    { color: #cc6600; }
.chie-top-time  { color: #aaa; }
.chie-top-empty { padding: 16px; text-align: center; color: #888; font-size: 13px; }

/* フッターバー */
.chie-top-footer {
    background: linear-gradient(to bottom,#fff8d0,#ffe880);
    border-top: 1px solid #ddcc66;
    padding: 5px 12px;
    display: flex; align-items: center; gap: 8px;
    font-size: 11px; color: #886600; flex-wrap: wrap;
}
.chie-top-footer-count { font-weight: bold; }
.chie-top-footer-links a { color: #0033cc; }
.chie-top-more {
    margin-left: auto;
    color: #cc3300; font-weight: bold;
    text-decoration: none; font-size: 12px; white-space: nowrap;
}
.chie-top-more:hover { text-decoration: underline; }

/* NT スキン */
body[data-skin="nt"] .chie-top-window { border-color: #9b00ff #2a0040 #2a0040 #9b00ff; }
body[data-skin="nt"] .chie-top-nav { background: linear-gradient(to bottom,#1a0035,#2a0050); border-bottom-color: #9b00ff; }
body[data-skin="nt"] .chie-top-nav-tab { color: #e0c0ff; border-right-color: rgba(155,0,255,.3); }
body[data-skin="nt"] .chie-top-nav-active { background: #0a0020; color: #ff2d78; }
body[data-skin="nt"] .chie-top-ask-btn { background: linear-gradient(to bottom,#9b00ff,#6600cc); border-color: #5500aa; }
body[data-skin="nt"] .chie-top-list { background: #0a0015; }
body[data-skin="nt"] .chie-top-item { border-bottom-color: rgba(155,0,255,.15); }
body[data-skin="nt"] .chie-top-item:hover { background: #0f0020; }
body[data-skin="nt"] .chie-top-title-link { color: #00ffff; }
body[data-skin="nt"] .chie-top-footer { background: linear-gradient(to bottom,#0a0015,#1a0035); border-top-color: rgba(155,0,255,.4); color: #e0c0ff; }
body[data-skin="nt"] .chie-top-footer-links a { color: #00ffff; }
body[data-skin="nt"] .chie-top-more { color: #ff2d78; }

/* ============================================================
   掲示板スレッド詳細ページ（/bbs/?thread=N）
   ============================================================ */

.bbs-thread-wrap {
    border: 2px groove #808080;
    margin: 8px 0;
    background: #fff;
    font-family: 'Tahoma', 'MS UI Gothic', 'MS Gothic', sans-serif;
    font-size: 12px;
}
.bbs-thread-titlebar {
    background: linear-gradient(to right, #0a246a, #3a6bc8);
    color: #fff;
    padding: 3px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.bbs-thread-back {
    color: #cce0ff; font-size: 10px; text-decoration: none;
    flex-shrink: 0;
}
.bbs-thread-back:hover { color: #fff; text-decoration: underline; }
.bbs-thread-title {
    font-size: 12px; font-weight: bold;
    flex: 1; min-width: 0;
}
.bbs-thread-board {
    font-size: 9px; background: rgba(255,255,255,0.2);
    padding: 1px 5px; border-radius: 2px; flex-shrink: 0;
}
.bbs-thread-locked {
    font-size: 10px; color: #ffccaa; flex-shrink: 0;
}
.bbs-thread-permanent {
    font-size: 10px; background: #ffe88a; color: #5a3d00;
    padding: 1px 5px; border-radius: 2px; flex-shrink: 0;
}

/* AI質問者プロフィールカード（Yahoo!知恵袋風） */
.bbs-ai-card {
    border: 2px solid #e8c84a;
    background: linear-gradient(to bottom, #fffef0, #fffce8);
    margin: 0;
}
.bbs-ai-card-header {
    display: flex; align-items: flex-start; gap: 10px;
    background: linear-gradient(to bottom, #ffee88, #ffcc00);
    border-bottom: 1px solid #ddaa00;
    padding: 8px 10px;
}
.bbs-ai-avatar {
    font-size: 28px; line-height: 1; flex-shrink: 0;
    background: #fff; border-radius: 50%;
    width: 36px; height: 36px; display: flex;
    align-items: center; justify-content: center;
    border: 2px solid #cc9900;
}
.bbs-ai-meta { flex: 1; }
.bbs-ai-name {
    font-weight: bold; font-size: 13px; color: #663300;
}
.bbs-ai-badge {
    display: inline-block; background: #cc0000; color: #fff;
    font-size: 10px; padding: 1px 6px; border-radius: 2px;
    margin-left: 6px; vertical-align: middle; font-weight: bold;
}
.bbs-ai-status {
    font-size: 11px; color: #664400; margin-top: 4px;
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.bbs-ai-example-label {
    display: inline-block;
    background: #cc0000; color: #fff;
    font-size: 11px; font-weight: bold;
    padding: 2px 8px; border-radius: 3px;
    letter-spacing: .02em;
}
.bbs-ai-status-note {
    font-size: 10px; color: #664400;
}
.bbs-ai-date {
    font-size: 10px; color: #886600; flex-shrink: 0; white-space: nowrap;
}
.bbs-ai-body {
    padding: 10px 12px; font-size: 12px; line-height: 1.8;
    color: #333; border-bottom: 1px solid #eecc66;
}
.bbs-ai-footer {
    padding: 5px 10px; background: #fffbe0;
    display: flex; gap: 10px; flex-wrap: wrap;
}
.bbs-ai-tag {
    font-size: 10px; color: #665500;
}

/* AI質問ラベル（スレッド一覧） */
.bbs-explorer-ai-label {
    display: block; font-size: 10px; color: #cc7700;
    margin-top: 2px; font-weight: normal;
}

/* NTスキン対応 */
body[data-skin="nt"] .bbs-ai-card { border-color: #ff9900; background: #0a0008; }
body[data-skin="nt"] .bbs-ai-card-header { background: linear-gradient(to right,#1a0005,#2a0010); border-color: #ff6600; }
body[data-skin="nt"] .bbs-ai-name { color: #ff9900; }
body[data-skin="nt"] .bbs-ai-body { color: #e0e0ff; border-color: #330011; }
body[data-skin="nt"] .bbs-ai-footer { background: #0d0005; }
body[data-skin="nt"] .bbs-ai-tag { color: #ff6600; }

/* ナレッジまとめ */
.bbs-knowledge {
    border: 1px solid #b0c4e0;
    border-left: 4px solid #000080;
    background: linear-gradient(to bottom, #eef2f8, #dce6f0);
    margin: 0; padding: 8px 10px;
}
.bbs-knowledge-title {
    font-weight: bold; font-size: 12px; color: #000080;
    margin-bottom: 6px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
}
.bbs-knowledge-chunk {
    background: #fff; border: 1px solid #c8d8ee;
    padding: 5px 8px; margin-bottom: 5px; border-radius: 2px;
}
.bbs-knowledge-chunk:last-child { margin-bottom: 0; }
.bbs-knowledge-range {
    font-size: 10px; color: #5566aa; font-weight: bold;
    display: block; margin-bottom: 3px;
}
.bbs-knowledge-summary {
    font-size: 11px; line-height: 1.7; color: #333;
}

/* 固定スレッド行 */
.bbs-explorer-row--permanent {
    background: #f0f4fc;
    border-left: 3px solid #000080;
}
.bbs-explorer-row--permanent:hover { background: #ddeaff; }

/* 返信折りたたみ */
.bbs-replies-collapsed { display: none; }
.bbs-toggle-replies {
    float: right; font-size: 10px; padding: 1px 6px;
    background: #d4d0c8; border: 1px solid #808080;
    cursor: pointer; font-family: 'Tahoma', sans-serif;
}
.bbs-toggle-replies:hover { background: #b8d4ff; }

/* 返信ヘッダー clearfix */
.bbs-thread-replies-header { overflow: hidden; }

.bbs-thread-body {
    padding: 8px 10px;
    font-size: 12px; line-height: 1.7; color: #444;
    border-bottom: 1px solid #e8e4dc;
    background: #fdfcfa;
}
.bbs-thread-replies-header {
    background: linear-gradient(to bottom, #e8e4dc, #d4d0c8);
    border-bottom: 1px solid #999;
    border-top: 1px solid #ccc;
    padding: 2px 8px;
    font-size: 11px; color: #333;
}
.bbs-thread-empty {
    padding: 12px 10px; color: #888; font-size: 11px;
    text-align: center;
}
.bbs-thread-locked-notice {
    padding: 8px 10px; font-size: 11px; color: #888;
    text-align: center; background: #f8f6f2;
    border-top: 1px solid #e0dbd0;
}

/* 返信一覧 */
.bbs-thread-replies {
    list-style: none; margin: 0; padding: 0;
}
.bbs-reply-row {
    display: grid;
    grid-template-columns: 24px auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 6px;
    padding: 5px 8px;
    border-bottom: 1px solid #f0ece4;
    font-size: 11px;
}
.bbs-reply-row:nth-child(even) { background: #fafaf7; }
.bbs-reply-row--new { background: #fffce8; animation: bbs-fadein 0.4s ease; }
.bbs-reply-no {
    grid-row: 1; grid-column: 1;
    color: #aaa; font-size: 10px; text-align: right;
    padding-top: 1px;
}
.bbs-reply-handle {
    grid-row: 1; grid-column: 2;
    font-weight: bold; color: #000080; font-size: 11px;
}
.bbs-reply-date {
    grid-row: 1; grid-column: 3;
    color: #aaa; font-size: 10px; text-align: right;
}
.bbs-reply-body {
    grid-row: 2; grid-column: 2 / 4;
    color: #333; line-height: 1.6; font-size: 12px;
    word-break: break-all;
    padding-top: 2px;
}

/* 書き込みフォーム */
.bbs-reply-form {
    border-top: 2px groove #808080;
    padding: 8px;
    background: #f0f0f0;
}
.bbs-reply-form-row {
    display: flex; align-items: flex-start; gap: 6px; margin-bottom: 5px;
}
.bbs-reply-label {
    font-size: 11px; color: #333; white-space: nowrap;
    padding-top: 3px; min-width: 100px;
}
.bbs-reply-form input[type="text"] {
    border: 2px inset #808080; background: #fff;
    font-size: 12px; padding: 2px 5px; width: 180px;
}
.bbs-reply-textarea-wrap { flex: 1; }
.bbs-reply-form textarea {
    border: 2px inset #808080; background: #fff;
    font-size: 12px; padding: 4px 5px;
    width: 100%; min-height: 52px; resize: vertical;
    box-sizing: border-box;
}
.bbs-reply-char { font-size: 10px; color: #666; text-align: right; margin-top: 2px; }
.bbs-reply-form-row--body { align-items: flex-start; }
.bbs-reply-form-actions {
    display: flex; align-items: center;
    justify-content: flex-end; gap: 10px;
}

/* NT スキン */
body[data-skin="nt"] .bbs-thread-wrap { background: #08001a; border-color: rgba(255,45,120,0.5); }
body[data-skin="nt"] .bbs-thread-titlebar { background: linear-gradient(to right, #0a0015, #9b00ff); }
body[data-skin="nt"] .bbs-thread-body { background: #0a0015; color: #e0e0ff; border-color: rgba(255,45,120,0.2); }
body[data-skin="nt"] .bbs-thread-replies-header { background: linear-gradient(to bottom,#1a0030,#0d0020); border-color: rgba(255,45,120,0.4); color:#00ffff; }
body[data-skin="nt"] .bbs-reply-row { border-color: rgba(255,45,120,0.1); }
body[data-skin="nt"] .bbs-reply-row:nth-child(even) { background: rgba(155,0,255,0.06); }
body[data-skin="nt"] .bbs-reply-handle { color: #ff2d78; }
body[data-skin="nt"] .bbs-reply-date   { color: rgba(0,255,255,0.4); }
body[data-skin="nt"] .bbs-reply-body   { color: #e0e0ff; }
body[data-skin="nt"] .bbs-reply-form   { background: #0d0020; border-color: rgba(255,45,120,0.4); }
body[data-skin="nt"] .bbs-reply-form input[type="text"],
body[data-skin="nt"] .bbs-reply-form textarea { background: #06000e; color: #00ffff; border-color: rgba(255,45,120,0.5); }
body[data-skin="nt"] .bbs-reply-label  { color: #00ffff; }
body[data-skin="nt"] .bbs-reply-char   { color: rgba(0,255,255,0.5); }

/* ============================================================
   掲示板アーカイブ（一覧・詳細）
   ============================================================ */

.bbs-archive-wrap {
    font-family: 'MS Gothic', 'MS PGothic', monospace, Arial;
    font-size: 12px;
}
.bbs-archive-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    background: #f0ece4;
    border-bottom: 1px solid #d9d0c0;
    font-size: 11px;
}
.bbs-archive-count { color: #888; }
.bbs-archive-back  { color: #e65c00; text-decoration: none; font-size: 11px; }
.bbs-archive-back:hover { text-decoration: underline; }

.bbs-archive-list {
    list-style: none;
    margin: 0; padding: 0;
    background: #fff;
}
.bbs-archive-item {
    display: flex;
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid #ede8df;
}
.bbs-archive-item:hover { background: #fafaf7; }

.bbs-archive-icon {
    flex-shrink: 0;
    width: 34px; height: 34px;
    border-radius: 3px;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; font-weight: bold; color: #fff;
    border: 1px solid rgba(0,0,0,0.1);
    opacity: 0.75;
}
.bbs-archive-body { flex: 1; min-width: 0; }
.bbs-archive-title-row {
    display: flex; align-items: baseline;
    gap: 5px; flex-wrap: wrap; margin-bottom: 3px;
}
.bbs-archive-link {
    font-size: 12px; font-weight: bold;
    color: #666; text-decoration: none;
}
.bbs-archive-link:hover { color: #e65c00; text-decoration: underline; }
.bbs-archive-excerpt {
    font-size: 11px; color: #999;
    margin: 2px 0; line-height: 1.5;
}
.bbs-archive-meta {
    font-size: 10px; color: #aaa;
    display: flex; flex-wrap: wrap; gap: 4px; align-items: center;
}
.bbs-archive-by  { color: #999; }
.bbs-archive-source {
    color: #e65c00; text-decoration: none; font-size: 10px;
}
.bbs-archive-source:hover { text-decoration: underline; }
.bbs-archive-pagination { padding: 8px 10px; background: #f0ece4; font-size: 11px; }
.bbs-archive-pagination .nav-links { display: flex; gap: 6px; }
.bbs-archive-pagination a { color: #e65c00; text-decoration: none; }
.bbs-archive-pagination a:hover { text-decoration: underline; }
.bbs-archive-pagination .current { color: #333; font-weight: bold; }
.bbs-archive-empty {
    text-align: center; padding: 24px;
    color: #aaa; font-size: 12px; background: #fff;
}

/* 詳細ページ */
.bbs-archive-detail {
    font-family: 'MS Gothic', 'MS PGothic', monospace, Arial;
    font-size: 12px;
    background: #fff;
    border: 1px solid #e0dbd0;
}
.bbs-archive-detail-header {
    background: #f0ece4;
    border-bottom: 2px solid #d9d0c0;
    padding: 8px 12px;
}
.bbs-archive-detail-title {
    font-size: 14px; font-weight: bold; color: #444;
    display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
    margin-bottom: 5px;
}
.bbs-archive-detail-meta {
    font-size: 11px; color: #888;
    display: flex; flex-wrap: wrap; gap: 5px; align-items: center;
}
.bbs-archive-detail-content {
    padding: 12px;
    line-height: 1.8; color: #444;
    border-bottom: 1px solid #ede8df;
}
.bbs-archive-detail-source {
    padding: 6px 12px;
    font-size: 11px; color: #999;
    border-bottom: 1px solid #ede8df;
    word-break: break-all;
}
.bbs-archive-detail-source a { color: #e65c00; }
.bbs-archive-detail-footer {
    padding: 6px 12px;
    font-size: 11px; background: #f7f5f0;
}
.bbs-archive-detail-footer a { color: #e65c00; text-decoration: none; }
.bbs-archive-detail-footer a:hover { text-decoration: underline; }

/* NT スキン */
body[data-skin="nt"] .bbs-archive-toolbar { background: #0d0020; border-color: rgba(255,45,120,0.3); }
body[data-skin="nt"] .bbs-archive-list    { background: #08001a; }
body[data-skin="nt"] .bbs-archive-item    { border-color: rgba(255,45,120,0.15); }
body[data-skin="nt"] .bbs-archive-item:hover { background: rgba(155,0,255,0.08); }
body[data-skin="nt"] .bbs-archive-link    { color: #9999cc; }
body[data-skin="nt"] .bbs-archive-link:hover { color: #ff2d78; }
body[data-skin="nt"] .bbs-archive-excerpt { color: rgba(0,255,255,0.4); }
body[data-skin="nt"] .bbs-archive-pagination { background: #0d0020; }

/* ============================================================
   お問い合わせフォーム
   ============================================================ */

.contact-wrap {
    padding: 12px;
    font-size: 12px;
}
.contact-sent {
    background: #f0fff0;
    border: 1px solid #90cc90;
    padding: 12px;
    margin-bottom: 12px;
    font-size: 12px;
    line-height: 1.8;
}
.contact-sent a { color: #000080; }
.contact-error {
    background: #fff0f0;
    border: 1px solid #cc9090;
    padding: 8px 12px;
    margin-bottom: 10px;
    color: #cc0000;
    font-size: 12px;
}
.contact-note {
    background: #fdfcfa;
    border-left: 3px solid #d4d0c8;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 12px;
    line-height: 1.7;
    color: #444;
}
.contact-note-list { margin: 4px 0 4px 16px; padding: 0; }
.contact-note-list li { margin-bottom: 2px; }
.contact-note-small { font-size: 10px; color: #888; margin-top: 6px; }
.contact-form { max-width: 480px; }
.contact-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}
.contact-row--body { align-items: flex-start; }
.contact-label {
    font-size: 11px;
    color: #333;
    min-width: 120px;
    padding-top: 3px;
    white-space: nowrap;
}
.contact-required { color: #cc0000; font-size: 10px; }
.contact-form input[type="text"] {
    border: 2px inset #808080;
    background: #fff;
    font-size: 12px;
    padding: 2px 5px;
    flex: 1;
}
.contact-form textarea {
    border: 2px inset #808080;
    background: #fff;
    font-size: 12px;
    padding: 4px 5px;
    flex: 1;
    min-height: 100px;
    resize: vertical;
}
.contact-form input:focus,
.contact-form textarea:focus { outline: 1px dotted #0000cc; }
.contact-actions { text-align: right; margin-top: 4px; }

/* NT スキン */
body[data-skin="nt"] .contact-note { background: #0a0015; border-left-color: #9b00ff; color: #e0e0ff; }
body[data-skin="nt"] .contact-form input[type="text"],
body[data-skin="nt"] .contact-form textarea { background: #06000e; color: #00ffff; border-color: rgba(255,45,120,0.5); }
body[data-skin="nt"] .contact-label { color: #00ffff; }

/* ============================================================
   掲示板 データ取扱い方針ページ
   ============================================================ */

.privacy-doc {
    padding: 12px;
    font-size: 12px;
    line-height: 1.7;
    color: #333;
}
.privacy-section {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px groove #c0c0c0;
}
.privacy-section:last-of-type { border-bottom: none; }

.privacy-h2 {
    font-size: 13px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-weight: bold;
    color: #000080;
    border-left: 4px solid #e65c00;
    padding-left: 8px;
    margin-bottom: 8px;
}
.privacy-table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
    font-size: 11px;
}
.privacy-table th, .privacy-table td {
    border: 1px solid #c0c0c0;
    padding: 4px 8px;
    text-align: left;
    vertical-align: top;
}
.privacy-table thead th {
    background: linear-gradient(to bottom, #d4d0c8, #c0bbb2);
    font-weight: bold;
}
.privacy-table tbody tr:nth-child(even) td { background: #f8f6f2; }
.privacy-table tbody th {
    background: #f0ece4;
    font-weight: bold;
    white-space: nowrap;
    width: 120px;
}
.privacy-list {
    margin: 6px 0 6px 20px;
    padding: 0;
}
.privacy-list li { margin-bottom: 3px; }
.privacy-note {
    font-size: 10px;
    color: #666;
    border-left: 3px solid #ccc;
    padding-left: 8px;
    margin-top: 6px;
}
.privacy-updated {
    font-size: 10px;
    color: #888;
    text-align: right;
}
.privacy-back {
    margin-top: 12px;
    padding-top: 8px;
    border-top: 2px groove #c0c0c0;
    font-size: 11px;
}
.privacy-back a { color: #000080; text-decoration: none; }
.privacy-back a:hover { text-decoration: underline; color: #cc0000; }

/* NT スキン */
body[data-skin="nt"] .privacy-h2  { color: #00ffff; border-left-color: #ff2d78; }
body[data-skin="nt"] .privacy-table th,
body[data-skin="nt"] .privacy-table td { border-color: rgba(255,45,120,0.3); color: #e0e0ff; }
body[data-skin="nt"] .privacy-table thead th { background: #1a0030; }
body[data-skin="nt"] .privacy-table tbody th { background: #0d001a; }
body[data-skin="nt"] .privacy-table tbody tr:nth-child(even) td { background: rgba(155,0,255,0.08); }

/* ============================================================
   AIO/LLMO 最適化: AI定義ブロック・年表テーブル
   ============================================================ */

/* AI定義ブロック（SpeakableSpecification対象 / トップバナー直下） */
.ai-definition {
    background: linear-gradient(to bottom, #eef2f8, #dce6f0);
    border: 2px groove #808080;
    border-left: 4px solid #000080;
    padding: 8px 12px;
    margin: 0 0 0;
    font-size: 12px;
    line-height: 1.7;
    color: #222;
}
.ai-definition-label {
    font-weight: bold;
    font-size: 11px;
    color: #000080;
    display: block;
    margin-bottom: 4px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
}
.ai-definition strong { color: #000080; }

/* NT スキン: AI定義ブロック */
body[data-skin="nt"] .ai-definition {
    background: linear-gradient(135deg, #0a001a 0%, #06000e 100%);
    border-color: rgba(255,45,120,0.4);
    border-left-color: #ff2d78;
    color: #e0e0ff;
}
body[data-skin="nt"] .ai-definition-label { color: #ff2d78; }
body[data-skin="nt"] .ai-definition strong { color: #00ffff; }

/* IEデータセクション（年表テーブル） */
.ie-data-section {
    border: 2px groove #808080;
    margin: 10px 0 0;
    background: #fff;
}
.ie-data-title {
    background: linear-gradient(to right, #1a3a6a, #3060a8);
    color: #fff;
    font-size: 12px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-weight: bold;
    padding: 4px 8px;
}
.ie-data-scroll {
    overflow-x: auto;
    padding: 6px 8px 4px;
}
.ie-history-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    font-family: 'MS Gothic', 'MS PGothic', monospace, Arial;
}
.ie-history-table caption {
    font-size: 10px;
    color: #666;
    text-align: left;
    padding: 2px 0 4px;
    caption-side: top;
}
.ie-history-table th {
    background: linear-gradient(to bottom, #d4d0c8, #c0bbb2);
    border: 1px solid #848484;
    padding: 4px 8px;
    text-align: left;
    font-weight: bold;
    color: #000;
    white-space: nowrap;
}
.ie-history-table td {
    border: 1px solid #c0c0c0;
    padding: 3px 8px;
    vertical-align: top;
    color: #333;
}
.ie-history-table tr:nth-child(even) td { background: #f8f6f2; }
.ie-history-table tr:hover td { background: #e8f0fc; }
.ie-highlight td {
    background: linear-gradient(to right, #fff8dc, #fffaee) !important;
    font-weight: bold;
}
.ie-edge-row td {
    background: #f0f4ff !important;
    color: #1a3a8a;
    font-style: italic;
}
.ie-data-note {
    font-size: 10px;
    color: #666;
    padding: 4px 8px 6px;
    border-top: 1px solid #e0e0e0;
}
.ie-data-note strong { color: #8b0000; }

/* NT スキン: IEデータ */
body[data-skin="nt"] .ie-data-section {
    background: #08001a;
    border-color: rgba(255,45,120,0.5);
}
body[data-skin="nt"] .ie-data-title {
    background: linear-gradient(to right, #0a0015, #7b00cc);
}
body[data-skin="nt"] .ie-history-table th {
    background: #1a0030;
    border-color: rgba(255,45,120,0.4);
    color: #00ffff;
}
body[data-skin="nt"] .ie-history-table td {
    border-color: rgba(255,45,120,0.2);
    color: #e0e0ff;
}
body[data-skin="nt"] .ie-history-table tr:nth-child(even) td {
    background: rgba(155,0,255,0.08) !important;
}
body[data-skin="nt"] .ie-history-table tr:hover td {
    background: rgba(255,45,120,0.12) !important;
}
body[data-skin="nt"] .ie-highlight td {
    background: rgba(255,45,120,0.15) !important;
    color: #ff2d78;
}
body[data-skin="nt"] .ie-edge-row td {
    background: rgba(0,255,255,0.08) !important;
    color: #00ffff;
}
body[data-skin="nt"] .ie-data-note { color: rgba(0,255,255,0.5); }
body[data-skin="nt"] .ie-data-note strong { color: #ff2d78; }

/* ============================================================
   BBS つぶやき掲示板
   ============================================================ */

.bbs-wrapper {
    border: 2px groove #808080;
    margin: 10px 0 0;
    background: #ffffff;
    font-family: 'MS Gothic', 'MS PGothic', monospace, Arial;
}

/* タイトルバー */
.bbs-titlebar {
    background: linear-gradient(to right, #0a246a, #3a6bc8);
    color: #fff;
    font-size: 12px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    font-weight: bold;
    padding: 3px 6px;
    display: flex;
    align-items: center;
    gap: 5px;
    user-select: none;
}
.bbs-titlebar-icon { font-size: 14px; }
.bbs-titlebar-sub {
    font-size: 10px;
    font-weight: normal;
    opacity: 0.85;
    flex: 1;
}
.bbs-titlebar-buttons { margin-left: auto; }
.bbs-toggle-btn {
    cursor: pointer;
    font-size: 10px;
    padding: 1px 4px;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.35);
    color: #fff;
    border-radius: 2px;
    line-height: 1.4;
}
.bbs-toggle-btn:hover { background: rgba(255,255,255,0.3); }

/* 投稿フォーム */
.bbs-form {
    background: #f0f0f0;
    border-bottom: 2px groove #808080;
    padding: 8px;
}
.bbs-form-inner { display: flex; flex-direction: column; gap: 5px; }
.bbs-form-row {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}
.bbs-form-label {
    font-size: 11px;
    color: #333;
    white-space: nowrap;
    padding-top: 3px;
    min-width: 100px;
}
.bbs-form input[type="text"] {
    border: 2px inset #808080;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    padding: 2px 5px;
    width: 200px;
}
.bbs-form input[type="text"]:focus,
.bbs-form textarea:focus {
    outline: 1px dotted #0000cc;
}
.bbs-textarea-wrap { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bbs-form textarea {
    border: 2px inset #808080;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    padding: 4px 5px;
    width: 100%;
    min-height: 58px;
    resize: vertical;
    box-sizing: border-box;
}
.bbs-form-row--body { align-items: flex-start; }
.bbs-char-wrap {
    font-size: 10px;
    color: #555;
    text-align: right;
}
.bbs-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.bbs-btn {
    background: linear-gradient(to bottom, #f0f0e8, #d4d0c8);
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: 1px solid #848484;
    border-bottom: 1px solid #848484;
    font-size: 11px;
    font-family: 'Tahoma', 'MS UI Gothic', sans-serif;
    padding: 3px 14px;
    cursor: pointer;
    white-space: nowrap;
}
.bbs-btn:hover { background: linear-gradient(to bottom, #fff8e8, #e8e4d8); }
.bbs-btn:active {
    border-top: 1px solid #848484;
    border-left: 1px solid #848484;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.bbs-msg {
    font-size: 11px;
    padding: 2px 0;
}
.bbs-msg--error { color: #cc0000; }
.bbs-msg--ok    { color: #006600; }
.bbs-msg--info  { color: #444; }

/* タイムライン */
.bbs-feed {
    padding: 4px 8px;
    max-height: 420px;
    overflow-y: auto;
}
.bbs-empty {
    padding: 16px;
    text-align: center;
    color: #888;
    font-size: 12px;
}
.bbs-tweet {
    display: flex;
    gap: 8px;
    padding: 7px 4px;
    border-bottom: 1px solid #e4e0d8;
    animation: bbs-fadein 0.35s ease;
}
.bbs-tweet:last-child { border-bottom: none; }
.bbs-tweet--new {
    background: #fffce8;
    animation: bbs-highlight 0.6s ease;
}
@keyframes bbs-fadein {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes bbs-highlight {
    0%   { background: #fffacd; }
    100% { background: transparent; }
}

/* アバター */
.bbs-avatar-wrap {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border: 1px solid #c0c0c0;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 1px 1px 0 #808080;
}
.bbs-avatar-wrap svg { display: block; }

/* つぶやき本文 */
.bbs-tweet-body {
    flex: 1;
    min-width: 0;
}
.bbs-tweet-handle {
    font-weight: bold;
    font-size: 12px;
    color: #000080;
    display: inline;
}
.bbs-tweet-handle::after { content: ': '; color: #666; font-weight: normal; }
.bbs-tweet-text {
    display: inline;
    font-size: 12px;
    line-height: 1.5;
    color: #222;
    word-break: break-all;
}
.bbs-tweet-meta {
    margin-top: 3px;
}
.bbs-tweet-time {
    font-size: 10px;
    color: #999;
}

/* もっと見るバー */
.bbs-more-bar {
    border-top: 2px groove #808080;
    text-align: center;
    padding: 5px;
    background: #f4f0ec;
    font-size: 11px;
}
.bbs-more-bar a { color: #000080; text-decoration: none; }
.bbs-more-bar a:hover { text-decoration: underline; color: #ff0000; }

/* NT スキン: BBS */
body[data-skin="nt"] .bbs-wrapper {
    border-color: rgba(255,45,120,0.5);
    background: #08001a;
}
body[data-skin="nt"] .bbs-titlebar {
    background: linear-gradient(to right, #0a0015, #9b00ff);
}
body[data-skin="nt"] .bbs-form {
    background: #0d0020;
    border-bottom-color: rgba(255,45,120,0.4);
}
body[data-skin="nt"] .bbs-form input[type="text"],
body[data-skin="nt"] .bbs-form textarea {
    background: #06000e;
    color: #00ffff;
    border-color: rgba(255,45,120,0.5);
}
body[data-skin="nt"] .bbs-form-label { color: #00ffff; }
body[data-skin="nt"] .bbs-char-wrap  { color: #9b00ff; }
body[data-skin="nt"] .bbs-btn {
    background: linear-gradient(to bottom, #1a0030, #0a0018);
    color: #ff2d78;
    border-color: rgba(255,45,120,0.6);
}
body[data-skin="nt"] .bbs-btn:hover { background: linear-gradient(to bottom, #2a0040, #1a0028); }
body[data-skin="nt"] .bbs-feed { max-height: 420px; }
body[data-skin="nt"] .bbs-tweet { border-bottom-color: rgba(255,45,120,0.2); }
body[data-skin="nt"] .bbs-tweet-handle { color: #ff2d78; }
body[data-skin="nt"] .bbs-tweet-handle::after { color: rgba(255,45,120,0.5); }
body[data-skin="nt"] .bbs-tweet-text { color: #e0e0ff; }
body[data-skin="nt"] .bbs-tweet-time { color: rgba(0,255,255,0.5); }
body[data-skin="nt"] .bbs-more-bar {
    background: #0d0020;
    border-top-color: rgba(255,45,120,0.4);
}
body[data-skin="nt"] .bbs-more-bar a { color: #00ffff; }
body[data-skin="nt"] .bbs-empty { color: rgba(0,255,255,0.4); }

/* ============================================================
   4ie 知恵箱スタイル（BBS一覧・詳細）
   ============================================================ */

/* ヘッダー */
.chie-header {
    background: linear-gradient(to bottom, #fff8d0, #ffe880);
    border-bottom: 3px solid #cc8800;
    padding: 8px 10px 6px;
    display: flex; align-items: baseline; gap: 8px;
    flex-wrap: wrap;
}
.chie-logo { display: flex; align-items: baseline; gap: 4px; }
.chie-logo-ie {
    font-size: 22px; font-weight: bold;
    font-family: 'Arial','Helvetica',sans-serif;
    color: #990000; letter-spacing: -1px;
}
.chie-logo-ie em { color: #003399; font-style: normal; }
.chie-logo-name {
    font-size: 18px; font-weight: bold; color: #333;
    font-family: 'MS PGothic','Hiragino Kaku Gothic Pro',sans-serif;
}
.chie-logo-tagline {
    font-size: 10px; color: #886600;
    margin-left: auto; align-self: center;
}

/* ナビゲーション */
.chie-nav {
    display: flex; align-items: center; flex-wrap: wrap;
    background: linear-gradient(to bottom, #ffcc00, #ff9900);
    border-bottom: 1px solid #cc6600;
    padding: 0 6px;
    font-size: 11px;
}
.chie-nav-item {
    display: inline-block; padding: 5px 10px;
    color: #333; text-decoration: none; font-weight: bold;
    border-right: 1px solid rgba(0,0,0,.15);
}
.chie-nav-item:hover { background: rgba(255,255,255,.3); }
.chie-nav-item.chie-nav-active {
    background: #fff; color: #cc0000;
    border-bottom: 2px solid #fff; position: relative;
}

/* 質問カード一覧 — IE6 検索結果ウィンドウ */
.chie-list {
    background: #fff;
    border: 2px solid #808080;
    border-right-color: #dfdfdf;
    border-bottom-color: #dfdfdf;
    box-shadow: 2px 2px 5px rgba(0,0,0,.28);
}
.chie-card {
    border-bottom: 1px solid #eeeeee;
    padding: 10px 12px;
    background: #fff;
    transition: background 0.1s;
}
.chie-card:hover { background: #f8f8ff; }
.chie-card--ai { border-left: 3px solid #ff9900; }
.chie-card--closed { opacity: 0.75; }

.chie-card-meta {
    display: flex; align-items: center; gap: 5px;
    margin-bottom: 3px; flex-wrap: wrap;
}
.chie-category {
    background: #ff6600; color: #fff;
    font-size: 10px; padding: 1px 7px; border-radius: 10px;
    font-weight: bold; white-space: nowrap;
}
.chie-badge {
    font-size: 10px; padding: 1px 5px; border-radius: 2px;
    font-weight: bold; white-space: nowrap;
}
.chie-badge--ai  { background: #cc6600; color: #fff; }
.chie-badge--new { background: #cc0000; color: #fff; }
.chie-badge--perm { background: #006600; color: #fff; }
.chie-status {
    font-size: 10px; padding: 1px 6px; border-radius: 2px;
    font-weight: bold; white-space: nowrap; margin-left: auto;
}
.chie-status--open   { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.chie-status--closed { background: #f0f0f0; color: #888; border: 1px solid #ccc; }

.chie-card-title { margin: 2px 0 1px; }
.chie-q-link {
    font-size: 16px; font-weight: normal;
    color: #0000cc; text-decoration: underline;
    font-family: Tahoma, Arial, sans-serif;
    line-height: 1.35;
}
.chie-q-link:hover { color: #cc0000; }
.chie-q-locked { font-size: 15px; font-weight: normal; color: #888; font-family: Tahoma, Arial; }

/* 緑URL行 */
.chie-q-url {
    font-size: 12px; color: #006600;
    font-family: Tahoma, Arial, sans-serif;
    margin: 2px 0 5px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    display: block;
}

.chie-card-summary {
    font-size: 13px; color: #444; margin: 3px 0 5px;
    line-height: 1.6;
    font-family: Tahoma, Arial, sans-serif;
}
.chie-card-footer {
    display: flex; align-items: center; gap: 6px;
    font-size: 10px; color: #888; margin-top: 4px;
    flex-wrap: wrap;
}
.chie-asker { color: #996600; font-weight: bold; }
.chie-footer-sep { color: #ccc; }
.chie-reply-count { color: #555; }
.chie-reply-count strong { color: #cc0000; font-size: 12px; }
.chie-time { color: #999; }

/* フッターバー */
.chie-footer-bar {
    background: #fff8d0; border-top: 1px solid #ddcc66;
    padding: 4px 10px; font-size: 10px; color: #886600;
}
.chie-footer-bar a { color: #0033cc; }
.chie-empty {
    padding: 20px; text-align: center; color: #888;
    font-size: 13px; background: #fff;
}

/* 回答ヘッダー */
.chie-answers-header {
    background: linear-gradient(to bottom, #fff8d0, #ffe880);
    border-top: 2px solid #ddaa00; border-bottom: 1px solid #ddcc66;
    padding: 4px 10px; font-size: 12px;
    display: flex; align-items: center;
}
.chie-answers-count strong { color: #cc0000; font-size: 14px; }

/* 回答カード */
.chie-answer-list {
    list-style: none; margin: 0; padding: 0; background: #fff;
}
.chie-answer-card {
    border-bottom: 1px solid #e8d870;
    padding: 8px 10px;
}
.chie-answer-card:hover { background: #fffff8; }
.chie-answer-profile {
    display: flex; align-items: flex-start; gap: 8px;
    margin-bottom: 6px;
}
.chie-answer-avatar svg { display: block; width: 32px; height: 32px; border-radius: 3px; flex-shrink: 0; }
.chie-answer-meta { flex: 1; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.chie-answer-handle { font-weight: bold; font-size: 12px; color: #333; }
.chie-best-badge {
    background: #ff6600; color: #fff;
    font-size: 10px; padding: 1px 6px; border-radius: 2px; font-weight: bold;
}
/* AI生成返信バッジ */
.chie-answer-ai-badge {
    background: #cc0000; color: #fff;
    font-size: 10px; padding: 1px 6px; border-radius: 2px; font-weight: bold;
    letter-spacing: .02em;
}
.chie-answer-card--ai {
    background: #fffef0;
    border-left: 3px solid #cc0000;
}
.chie-answer-card--ai:hover { background: #fffce0; }
.chie-ai-avatar-icon {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; font-size: 20px;
    background: #ffe066; border: 2px solid #cc9900; border-radius: 3px;
    flex-shrink: 0;
}
.chie-answer-no { font-size: 10px; color: #999; }
.chie-answer-date { font-size: 10px; color: #999; margin-left: auto; white-space: nowrap; }
.chie-answer-body {
    font-size: 12px; line-height: 1.8; color: #333;
    padding-left: 40px;
}

/* 回答フォーム */
.chie-form {
    background: linear-gradient(to bottom, #fffef0, #fffce0);
    border-top: 2px solid #ddaa00;
    padding: 10px 12px;
}
.chie-form-title {
    font-size: 13px; font-weight: bold; color: #663300;
    border-left: 4px solid #ff9900; padding-left: 6px;
    margin-bottom: 8px;
}
.chie-form-row {
    display: flex; align-items: flex-start; gap: 8px;
    margin-bottom: 6px;
}
.chie-form-label {
    width: 110px; font-size: 11px; color: #664400;
    font-weight: bold; padding-top: 4px; flex-shrink: 0; text-align: right;
}
.chie-form-input {
    flex: 1; max-width: 280px; padding: 4px 6px;
    border: 1px solid #cca844; font-size: 12px;
    font-family: inherit; background: #fff;
}
.chie-form-input:focus { border-color: #ff6600; outline: none; }
.chie-form-textarea {
    width: 100%; box-sizing: border-box;
    height: 80px; padding: 4px 6px; resize: vertical;
    border: 1px solid #cca844; font-size: 12px; font-family: inherit;
    background: #fff;
}
.chie-form-textarea:focus { border-color: #ff6600; outline: none; }
.chie-form-char { font-size: 10px; color: #999; text-align: right; margin-top: 2px; }
.chie-form-actions { display: flex; align-items: center; gap: 10px; margin-top: 6px; padding-left: 118px; }
.chie-submit-btn {
    background: linear-gradient(to bottom, #ff9900, #ff6600);
    color: #fff; border: 1px solid #cc4400; font-weight: bold;
    font-size: 12px; padding: 5px 20px; cursor: pointer;
    font-family: inherit;
}
.chie-submit-btn:hover { background: linear-gradient(to bottom, #ffaa00, #ff7700); }
.chie-closed-notice {
    background: #f8f8f0; border-top: 1px solid #ddd;
    padding: 10px; font-size: 12px; color: #888; text-align: center;
}

/* NTスキン対応 */
body[data-skin="nt"] .chie-header { background: linear-gradient(to right,#0a0020,#1a0030); border-color: #ff2d78; }
body[data-skin="nt"] .chie-logo-ie { color: #ff2d78; }
body[data-skin="nt"] .chie-logo-name { color: #e0e0ff; }
body[data-skin="nt"] .chie-logo-tagline { color: #aa88ff; }
body[data-skin="nt"] .chie-nav { background: linear-gradient(to right,#1a0035,#2a0050); border-color: #9b00ff; }
body[data-skin="nt"] .chie-nav-item { color: #e0c0ff; }
body[data-skin="nt"] .chie-nav-item.chie-nav-active { background: #0a0020; color: #ff2d78; }
body[data-skin="nt"] .chie-card { background: #0a0015; border-color: #2a0040; }
body[data-skin="nt"] .chie-card:hover { background: #0f0020; }
body[data-skin="nt"] .chie-q-link { color: #8888ff; }
body[data-skin="nt"] .chie-card-summary { color: #aa88cc; }
body[data-skin="nt"] .chie-answers-header { background: linear-gradient(to right,#0a0020,#1a0030); border-color: #9b00ff; }
body[data-skin="nt"] .chie-answer-card { background: #0a0015; border-color: #2a0040; }
body[data-skin="nt"] .chie-answer-card--ai { background: #100010; border-color: #ff4400; }
body[data-skin="nt"] .chie-answer-ai-badge { background: #ff2200; }
body[data-skin="nt"] .bbs-ai-example-label { background: #ff2200; }
body[data-skin="nt"] .bbs-ai-status-note { color: #ff9966; }
body[data-skin="nt"] .chie-answer-body { color: #e0e0ff; }
body[data-skin="nt"] .chie-form { background: #0d0020; border-color: #9b00ff; }
body[data-skin="nt"] .chie-form-input,
body[data-skin="nt"] .chie-form-textarea { background: #0a0015; color: #e0e0ff; border-color: #440088; }

/* ============================================================
   ASCII Art Studio — 全スタイル (2026-05-27)
   ============================================================ */

/* ---- XP ウィンドウ風コンテナ (ページ内) ---- */
.aa-welcome-window {
    margin: 12px 0;
    border: 2px solid #848484;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
    background: #d4d0c8;
    font-family: 'MS Gothic', 'MS PGothic', monospace;
}

.ie-xp-window {
    border: 2px solid #848484;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
    background: #d4d0c8;
    font-family: 'MS Gothic', 'MS PGothic', monospace;
}

.ie-xp-titlebar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to right, #0831d9 0%, #2196f3 40%, #006af9 70%, #3e92f3 100%);
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 6px;
    user-select: none;
}
.ie-xp-titlebar-left { display: flex; align-items: center; gap: 5px; }
.ie-xp-icon { font-size: 13px; }
.ie-xp-titlebar-btns { display: flex; gap: 2px; }
.ie-xp-btn-min, .ie-xp-btn-max, .ie-xp-btn-close {
    width: 18px; height: 16px;
    border: 1px solid #fff;
    border-radius: 2px;
    font-size: 9px;
    font-weight: bold;
    cursor: pointer;
    background: linear-gradient(to bottom, #4e9de8, #1e5ba8);
    color: #fff;
    padding: 0;
    line-height: 1;
}
.ie-xp-btn-close {
    background: linear-gradient(to bottom, #e84e4e, #a81e1e);
}
.ie-xp-btn-min:hover, .ie-xp-btn-max:hover { background: linear-gradient(to bottom, #6ab4ff, #2e7ad8); }
.ie-xp-btn-close:hover { background: linear-gradient(to bottom, #ff7070, #cc3030); }

/* ---- ボディ ---- */
.aa-welcome-body {
    background: #fff;
    border: 2px inset #848484;
    padding: 16px 20px;
}

/* ---- アスキーアート 表示エリア ---- */
.aa-art-wrapper {
    background: #000;
    border: 2px inset #848484;
    padding: 16px;
    overflow-x: auto;
    margin-bottom: 12px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aa-art-pre {
    font-family: 'MS Gothic', 'Courier New', 'Lucida Console', monospace;
    font-size: 13px;
    line-height: 1.45;
    color: #00ff00;
    white-space: pre;
    margin: 0;
    padding: 0;
    text-shadow: 0 0 6px #00cc00;
    transition: opacity 0.2s ease;
}

/* ---- メッセージ ---- */
.aa-message-text {
    font-size: 12px;
    color: #333;
    padding: 8px 4px;
    border-left: 3px solid #0831d9;
    padding-left: 10px;
    margin-bottom: 12px;
    min-height: 24px;
    line-height: 1.6;
}

/* ---- コントロール行 ---- */
.aa-controls-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.aa-page-num {
    font-size: 11px;
    color: #666;
    font-family: monospace;
    padding: 0 4px;
}
.aa-btn-tool {
    margin-left: auto;
    background: linear-gradient(to bottom, #e8f0e8, #c0d0c0) !important;
}
.aa-hint {
    font-size: 10px;
    color: #888;
    text-align: right;
}

/* ---- XP リトロボタン ---- */
.xp-button-retro {
    background: linear-gradient(to bottom, #e8e8e8 0%, #d0d0d0 50%, #b8b8b8 100%);
    border: 1px solid #848484;
    border-radius: 3px;
    padding: 3px 10px;
    font-size: 11px;
    font-family: 'MS Gothic', monospace;
    cursor: pointer;
    color: #000;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    transition: background 0.1s;
}
.xp-button-retro:hover {
    background: linear-gradient(to bottom, #f0f8ff 0%, #d8eeff 50%, #b8d8f0 100%);
    border-color: #0831d9;
}
.xp-button-retro:active {
    background: linear-gradient(to bottom, #b8b8b8 0%, #c8c8c8 100%);
    box-shadow: inset 1px 1px 2px rgba(0,0,0,0.3);
}
.xp-button-retro:disabled {
    background: #d4d0c8;
    color: #888;
    cursor: not-allowed;
}
.xp-button-sm {
    padding: 2px 7px !important;
    font-size: 10px !important;
}

/* ---- サイドバー AA ボタン行 ---- */
.aa-sidebar-btnrow {
    display: flex;
    gap: 4px;
    justify-content: center;
    padding: 4px 2px;
}

/* ---- サイドバー AA ボタン ---- */
.xp-aa-sidebar-btn {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #000;
    padding: 4px 6px;
    background: linear-gradient(to bottom, #f8f8f8, #d4d0c8);
    border: 1px solid #848484;
    border-radius: 3px;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    transition: background 0.1s, box-shadow 0.1s;
}
.xp-aa-sidebar-btn:hover {
    background: linear-gradient(to bottom, #e8f0ff, #b8d0f8);
    border-color: #0831d9;
    color: #0000cc;
    box-shadow: 1px 1px 5px rgba(8,49,217,0.3);
    text-decoration: none;
}
.aa-btn-icon {
    font-family: 'MS Gothic', monospace;
    font-size: 16px;
    font-weight: bold;
    color: #0831d9;
    letter-spacing: 1px;
}
.aa-btn-label {
    font-size: 9px;
    color: #333;
    margin-top: 2px;
    display: block;
}

/* ============================================================
   AA 作成ツール — モーダル
   ============================================================ */
#aa-maker-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
}

#aa-maker-modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(580px, 95vw);
    max-height: 85vh;
    z-index: 9999;
    flex-direction: column;
    background: #d4d0c8;
    border: 2px solid #848484;
    box-shadow: 4px 4px 12px rgba(0,0,0,0.7);
    font-family: 'MS Gothic', monospace;
    font-size: 12px;
    overflow: hidden;
}

/* モーダル タイトルバー */
.aa-modal-titlebar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to right, #0831d9 0%, #2196f3 40%, #006af9 70%, #3e92f3 100%);
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 8px;
    user-select: none;
    flex-shrink: 0;
}
.aa-modal-titlebar-left { display: flex; align-items: center; gap: 5px; }
.aa-modal-close {
    width: 18px; height: 16px;
    border: 1px solid #fff;
    border-radius: 2px;
    font-size: 10px;
    cursor: pointer;
    background: linear-gradient(to bottom, #e84e4e, #a81e1e);
    color: #fff;
    padding: 0;
    line-height: 1;
}
.aa-modal-close:hover { background: linear-gradient(to bottom, #ff7070, #cc3030); }

/* タブバー */
.aa-tabs {
    display: flex;
    border-bottom: 2px solid #848484;
    background: #d4d0c8;
    flex-shrink: 0;
}
.aa-tab {
    padding: 5px 14px;
    font-size: 11px;
    font-family: 'MS Gothic', monospace;
    cursor: pointer;
    background: linear-gradient(to bottom, #c0bcb4, #a8a49c);
    border: 1px solid #848484;
    border-bottom: none;
    color: #333;
    margin-right: 2px;
    margin-top: 2px;
    border-radius: 3px 3px 0 0;
    transition: background 0.1s;
}
.aa-tab:hover { background: linear-gradient(to bottom, #d8d4cc, #c0bcb4); }
.aa-tab.active {
    background: #fff;
    border-bottom: 2px solid #fff;
    margin-bottom: -2px;
    color: #000;
    font-weight: bold;
}

/* パネル */
.aa-panel {
    padding: 12px;
    overflow-y: auto;
    flex: 1;
    background: #fff;
    border-top: 1px solid #848484;
}

/* ---- 顔文字タブ ---- */
.aa-kaomoji-search {
    margin-bottom: 8px;
}
.aa-kaomoji-search input {
    width: 100%;
    padding: 4px 8px;
    font-size: 12px;
    font-family: 'MS Gothic', monospace;
    border: 1px inset #848484;
    background: #fff;
    box-sizing: border-box;
}

.aa-kaomoji-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 8px;
}
.kc-cat-btn {
    padding: 3px 8px;
    font-size: 11px;
    font-family: 'MS Gothic', monospace;
    border: 1px solid #848484;
    background: linear-gradient(to bottom, #e8e8e8, #d4d0c8);
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.1s;
}
.kc-cat-btn:hover { background: linear-gradient(to bottom, #d8eeff, #b8d8f0); border-color: #0831d9; }
.kc-cat-btn.active { background: linear-gradient(to bottom, #0831d9, #2196f3); color: #fff; border-color: #0831d9; }

.aa-kaomoji-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-height: 120px;
    max-height: 200px;
    overflow-y: auto;
    padding: 4px;
    border: 1px inset #d4d0c8;
    background: #fafafa;
}
.kc-item {
    padding: 5px 10px;
    font-size: 13px;
    font-family: 'MS Gothic', monospace;
    border: 1px solid #c8c4bc;
    background: #fff;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.1s, border-color 0.1s;
    white-space: nowrap;
}
.kc-item:hover { background: #e8f0ff; border-color: #0831d9; color: #0000cc; }
.kc-item:active { background: #d0e0ff; }

.aa-copy-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: #0831d9;
    color: #fff;
    padding: 8px 20px;
    border-radius: 4px;
    font-size: 12px;
    z-index: 10000;
    transition: opacity 0.3s;
    pointer-events: none;
}

/* ---- テキストアート生成タブ ---- */
.aa-gen-form { display: flex; flex-direction: column; gap: 8px; }
.aa-gen-row { display: flex; flex-direction: column; gap: 3px; }
.aa-gen-row label { font-size: 11px; color: #444; }
.aa-gen-row input, .aa-gen-row select {
    padding: 4px 8px;
    font-size: 12px;
    font-family: 'MS Gothic', monospace;
    border: 1px inset #848484;
    background: #fff;
}
.aa-gen-notice {
    background: #fffbe6;
    border: 1px solid #f0c040;
    border-radius: 3px;
    padding: 6px 10px;
    font-size: 11px;
    color: #666;
    line-height: 1.6;
}
.aa-gen-notice a { color: #0000cc; }

.aa-gen-loading {
    text-align: center;
    padding: 20px;
    font-size: 12px;
    color: #555;
    line-height: 2;
}
.aa-spinner { font-size: 20px; display: block; animation: aa-spin 1.5s linear infinite; }
@keyframes aa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.aa-gen-result-area {
    margin-top: 10px;
}
.aa-result-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #444;
    margin-bottom: 6px;
}
.aa-result-pre {
    color: #00cc00 !important;
    background: #111 !important;
    padding: 12px !important;
    font-size: 12px !important;
    border: 1px solid #444;
    border-radius: 2px;
    overflow-x: auto;
    max-height: 180px;
    overflow-y: auto;
    text-shadow: 0 0 4px #009900 !important;
}

/* ---- AKIRA MODE (NT skin) 対応 ---- */
body[data-skin="nt"] .aa-art-pre { color: #ff00ff; text-shadow: 0 0 8px #cc00cc; }
body[data-skin="nt"] .aa-art-wrapper { background: #0a0010; border-color: #cc00cc; }
body[data-skin="nt"] .aa-welcome-body { background: #0d0020; color: #e0e0ff; }
body[data-skin="nt"] .aa-message-text { color: #ccccff; border-left-color: #ff00ff; }
body[data-skin="nt"] .ie-xp-titlebar { background: linear-gradient(to right, #33007a, #9b00ff); }
body[data-skin="nt"] .aa-modal-titlebar { background: linear-gradient(to right, #33007a, #9b00ff); }
body[data-skin="nt"] .aa-welcome-window { border-color: #9b00ff; }
body[data-skin="nt"] #aa-maker-modal { background: #0d0020; border-color: #9b00ff; }
body[data-skin="nt"] .aa-tab { background: linear-gradient(to bottom,#1a0030,#0a0020); color: #cc88ff; border-color: #440088; }
body[data-skin="nt"] .aa-tab.active { background: #0d0020; color: #ff88ff; }
body[data-skin="nt"] .aa-panel { background: #0d0020; color: #e0e0ff; border-top-color: #440088; }
body[data-skin="nt"] .kc-item { background: #1a0030; border-color: #440088; color: #cc88ff; }
body[data-skin="nt"] .kc-item:hover { background: #2a0050; border-color: #ff00ff; color: #ffaaff; }
body[data-skin="nt"] .aa-gen-row input, body[data-skin="nt"] .aa-gen-row select { background: #0a0015; color: #e0e0ff; border-color: #440088; }
body[data-skin="nt"] .xp-button-retro { background: linear-gradient(to bottom,#1a0030,#0a0020); color: #cc88ff; border-color: #440088; }
body[data-skin="nt"] .xp-button-retro:hover { background: linear-gradient(to bottom,#2a0050,#1a0030); border-color: #ff00ff; color: #ffaaff; }
body[data-skin="nt"] .xp-aa-sidebar-btn { background: linear-gradient(to bottom,#1a0030,#0a0020); border-color: #440088; }
body[data-skin="nt"] .xp-aa-sidebar-btn:hover { background: linear-gradient(to bottom,#2a0050,#1a0030); border-color: #ff00ff; }
body[data-skin="nt"] .aa-btn-icon { color: #ff00ff; }
body[data-skin="nt"] .aa-btn-label { color: #cc88ff; }

/* ---- AA キャラ生成タブ専用 (2026-05-27) ---- */
.aa-chara-options { margin-top: 2px; }
.aa-radio-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    padding: 4px 0;
}
.aa-radio-group label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    cursor: pointer;
    color: #333;
}
.aa-radio-group input[type="radio"] { cursor: pointer; }

.aa-chara-pre {
    font-size: 14px !important;
    line-height: 1.5 !important;
    min-height: 100px;
}

.aa-chara-comment {
    margin-top: 6px;
    padding: 4px 8px;
    font-size: 11px;
    color: #555;
    background: #f8f8f8;
    border-left: 3px solid #6688cc;
    line-height: 1.6;
}

/* NT スキン対応 */
body[data-skin="nt"] .aa-chara-comment { background: #0a0015; color: #cc88ff; border-left-color: #9900ff; }
body[data-skin="nt"] .aa-radio-group label { color: #cc88ff; }

/* ---- 保存メッセージ ---- */
.aa-saved-msg {
    margin-top: 6px;
    padding: 5px 10px;
    font-size: 11px;
    border-radius: 2px;
    line-height: 1.6;
}
.aa-saved-ok  { background: #e8ffe8; border: 1px solid #44aa44; color: #226622; }
.aa-saved-err { background: #ffe8e8; border: 1px solid #aa4444; color: #662222; }
.aa-saved-ok  a { color: #0000cc; }
.aa-save-btn  { background: linear-gradient(to bottom, #e8f8e8, #c0e8c0) !important; }
.aa-save-btn:hover { background: linear-gradient(to bottom, #d0f0d0, #a8dca8) !important; border-color: #44aa44 !important; }

/* ---- 4ie歴史的人物博物館 ---- */
.aa-museum-header { padding: 8px 12px !important; }

.aa-museum-desc {
    font-size: 11px;
    color: #555;
    margin-bottom: 8px;
    background: #fffde7;
    border: 1px solid #f0c040;
    border-radius: 2px;
    padding: 3px 0;
}

.aa-museum-stats {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.aa-museum-stat-box {
    font-size: 12px;
    background: #d4d0c8;
    border: 1px solid #848484;
    padding: 3px 10px;
    border-radius: 2px;
}

.aa-museum-genbtn { text-decoration: none !important; }

/* フィルターバー */
.aa-museum-filter-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 6px 8px;
    background: #d4d0c8;
    border: 1px solid #848484;
    margin: 8px 0;
    font-family: 'MS Gothic', monospace;
}

.aa-filter-btn {
    padding: 3px 10px;
    font-size: 11px;
    font-family: 'MS Gothic', monospace;
    border: 1px solid #848484;
    background: linear-gradient(to bottom, #e8e8e8, #d4d0c8);
    cursor: pointer;
    border-radius: 2px;
}
.aa-filter-btn:hover { background: linear-gradient(to bottom, #d8eeff, #b8d8f0); border-color: #0831d9; }
.aa-filter-btn.active { background: linear-gradient(to bottom, #0831d9, #2196f3); color: #fff; border-color: #0831d9; }

/* グリッド */
.aa-museum-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 10px;
    margin-top: 4px;
}

/* カード */
.aa-museum-card {
    border: 2px outset #fff;
    background: #d4d0c8;
    font-family: 'MS Gothic', monospace;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
    transition: box-shadow 0.15s;
}
.aa-museum-card:hover { box-shadow: 2px 2px 8px rgba(0,0,0,0.4); }

.aa-museum-card-titlebar {
    display: flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(to right, #0a246a, #a6caf0);
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 3px 6px;
}
.aa-museum-card-type  { font-size: 10px; background: rgba(255,255,255,0.2); padding: 1px 4px; border-radius: 2px; flex-shrink: 0; }
.aa-museum-card-title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aa-museum-del-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.5);
    color: #fff;
    width: 16px;
    height: 14px;
    font-size: 10px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
}
.aa-museum-del-btn:hover { background: rgba(255,0,0,0.4); }

.aa-museum-art-wrap {
    background: #111;
    padding: 10px;
    overflow-x: auto;
    min-height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.aa-museum-art {
    font-family: 'MS Gothic', 'Courier New', monospace;
    font-size: 11px;
    line-height: 1.4;
    color: #00ff00;
    white-space: pre;
    margin: 0;
    text-shadow: 0 0 4px #009900;
}

.aa-museum-card-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border-top: 1px solid #848484;
    flex-wrap: wrap;
    background: #c8c4bc;
}
.aa-museum-meta { font-size: 10px; color: #555; flex: 1; }
.aa-museum-date { font-size: 10px; color: #666; font-family: monospace; }

/* NT スキン対応 */
body[data-skin="nt"] .aa-museum-card { background: #0d0020; border-color: #440088; }
body[data-skin="nt"] .aa-museum-card-titlebar { background: linear-gradient(to right,#33007a,#9b00ff); }
body[data-skin="nt"] .aa-museum-art { color: #ff00ff; text-shadow: 0 0 6px #cc00cc; }
body[data-skin="nt"] .aa-museum-art-wrap { background: #0a0010; }
body[data-skin="nt"] .aa-museum-card-footer { background: #0a0015; border-top-color: #440088; }
body[data-skin="nt"] .aa-museum-meta, body[data-skin="nt"] .aa-museum-date { color: #9988cc; }
body[data-skin="nt"] .aa-museum-filter-bar { background: #0d0020; border-color: #440088; color: #cc88ff; }
body[data-skin="nt"] .aa-filter-btn { background: linear-gradient(to bottom,#1a0030,#0a0020); color: #cc88ff; border-color: #440088; }
body[data-skin="nt"] .aa-filter-btn.active { background: linear-gradient(to bottom,#33007a,#9b00ff); color: #fff; }
body[data-skin="nt"] .aa-museum-desc { background: #100020; border-color: #440088; color: #9988cc; }
body[data-skin="nt"] .aa-museum-stat-box { background: #1a0030; border-color: #440088; color: #cc88ff; }
body[data-skin="nt"] .aa-saved-ok  { background: #002200; border-color: #00aa00; color: #88ff88; }
body[data-skin="nt"] .aa-saved-err { background: #220000; border-color: #aa0000; color: #ff8888; }
