 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Cinzel:wght@700&family=JetBrains+Mono:wght@400;600&display=swap');:root {--bg: #1a0d2b;--panel: #0e1627;--card: #2b1a47;--muted: #b8a4d2;--accent: #a100a1;--accent-2: #36d399;--accent-3: #facc15;--glass: rgba(161, 0, 161, 0.1);--glass-2: rgba(161, 0, 161, 0.05);--text: #e6d7f8;--button-text: #2b0047;--control-bg: #160f2a;--control-border: rgba(214, 188, 250, 0.34);--control-border-hover: rgba(54, 211, 153, 0.72);--control-shadow: rgba(0, 0, 0, 0.28);--radius: 12px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", "Courier New", monospace;--repeat-gradient: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 48px);--font-family: 'Inter', ui-sans-serif, system-ui, Segoe UI, Roboto, Helvetica, Arial;}[data-theme="light"] {--bg: #f0eff5;--surface: #ffffff;--card: #f9f8ff;--border: rgba(0,0,0,0.08);--text: #1a1030;--muted: #6b5f80;--accent: #7700b3;--accent2: #9900dd;--glow: rgba(119,0,179,0.15);--tile-bg: #ffffff;--tile-border-t: rgba(0,0,0,0.12);--tile-border-b: rgba(0,0,0,0.04);--tile-hover-bg: #f3f0ff;--tile-sel-bg: #ede5ff;--tile-sel-border: var(--accent);--text: #1a1030;--muted: #6b5f80;--accent: #7700b3;--accent2: #9900dd;--panel: #ffffff;--glass: rgba(255,255,255,0.6);--glass-2: rgba(255,255,255,0.3);}html {scrollbar-width: thin;scrollbar-color: var(--accent) var(--panel);}*::-webkit-scrollbar {width: 10px;height: 10px;}*::-webkit-scrollbar-track {background: var(--panel);}*::-webkit-scrollbar-thumb {background: var(--accent);border-radius: 8px;border: 2px solid var(--panel);}*::-webkit-scrollbar-thumb:hover {background: var(--accent-2);}*, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}body {font-family: var(--font-family);background: var(--repeat-gradient), radial-gradient(ellipse at 20% 30%, rgba(161,0,161,0.12) 0%, transparent 55%), radial-gradient(ellipse at 80% 80%, rgba(54,211,153,0.08) 0%, transparent 50%), var(--bg);color: var(--text);min-height: 100vh;line-height: 1.6;}.breadcrumb {max-width: 1100px;margin: 12px auto 0;padding: 0 24px;}.breadcrumb ol {list-style: none;display: flex;flex-wrap: wrap;align-items: center;gap: 6px;margin: 0;padding: 0;font-size: 0.8rem;}.breadcrumb li {display: flex;align-items: center;text-transform: lowercase;}.breadcrumb li:not(:last-child)::after {content: "\203a";margin-left: 6px;color: var(--muted);opacity: 0.55;}.breadcrumb a {color: var(--muted);text-decoration: none;}.breadcrumb a:hover {color: var(--accent-2);text-decoration: underline;}.breadcrumb [aria-current="page"] {color: var(--text);font-weight: 600;}.hero {text-align: center;padding: 48px 24px 32px;}.hero h1 {font-family: 'Press Start 2P', monospace;font-size: clamp(1.6rem, 4vw, 2.4rem);letter-spacing: 0.03em;margin-bottom: 10px;}.hero p {color: var(--muted);font-size: 1rem;max-width: 560px;margin: 0 auto;}.hero-cta {display: inline-flex;align-items: center;gap: 6px;margin-top: 14px;padding: 7px 15px;background: var(--glass-2);border: 1px solid var(--control-border);border-radius: 20px;font-size: 0.8rem;font-weight: 600;color: var(--muted);text-decoration: none;transition: all 0.15s;}.hero-cta:hover {color: var(--text);border-color: var(--accent);background: var(--control-bg);text-decoration: none;}.toolbar {max-width: 1100px;margin: 0 auto;padding: 0 20px 20px;display: flex;flex-wrap: wrap;gap: 12px;align-items: center;}.search-wrap {flex: 1;min-width: 180px;position: relative;}.search-wrap svg {position: absolute;left: 12px;top: 50%;transform: translateY(-50%);opacity: 0.45;pointer-events: none;}#flagSearch {width: 100%;padding: 10px 14px 10px 38px;background: var(--panel);border: 1px solid var(--control-border);border-radius: 8px;color: var(--text);font-size: 0.9rem;font-family: var(--font-family);outline: none;transition: border-color 0.2s;}#flagSearch:focus {border-color: var(--accent);}#flagSearch::placeholder {color: var(--muted);}.region-tabs {display: flex;gap: 6px;flex-wrap: wrap;}.region-tab {background: var(--glass);border: 1px solid var(--control-border);border-radius: 20px;padding: 6px 14px;font-size: 0.82rem;font-weight: 500;color: var(--muted);cursor: pointer;transition: all 0.18s;white-space: nowrap;}.region-tab:hover {background: var(--glass-2);color: var(--text);}.region-tab.active {background: var(--accent);border-color: var(--accent);color: #fff;}.main-layout {max-width: 1100px;margin: 0 auto;padding: 0 20px 60px;display: grid;grid-template-columns: 1fr 340px;gap: 24px;align-items: start;}@media (max-width: 820px) {.main-layout {grid-template-columns: 1fr;}.detail-panel {order: -1;}}.flags-count {font-size: 0.8rem;color: var(--muted);margin-bottom: 12px;}.flag-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));gap: 12px;}.flag-card {background: var(--panel);border: 1px solid var(--control-border);border-radius: var(--radius);padding: 14px 10px 10px;cursor: pointer;transition: border-color 0.18s, transform 0.14s, box-shadow 0.18s;display: flex;flex-direction: column;align-items: center;gap: 8px;text-align: center;}.flag-card:hover {border-color: var(--accent);transform: translateY(-2px);box-shadow: 0 6px 24px rgba(161,0,161,0.18);}.flag-card.selected {border-color: var(--accent-3);box-shadow: 0 0 0 2px rgba(250,204,21,0.25);}.flag-banner-wrap {width: 52px;height: 52px;display: flex;align-items: center;justify-content: center;}.flag-banner-wrap svg {width: 100%;height: auto;}.flag-emoji {font-size: 1.4rem;line-height: 1;}.flag-name {font-size: 0.78rem;font-weight: 500;color: var(--text);line-height: 1.3;}.flag-accuracy {font-size: 0.68rem;font-weight: 600;padding: 2px 7px;border-radius: 10px;text-transform: uppercase;letter-spacing: 0.04em;}.no-results {grid-column: 1/-1;text-align: center;padding: 40px;color: var(--muted);font-size: 0.9rem;}.detail-panel {position: sticky;top: 74px;background: var(--panel);border: 1px solid var(--control-border);border-radius: var(--radius);padding: 20px;min-height: 300px;max-height: calc(100vh - 74px - 20px);overflow-y: auto;}.detail-empty {display: flex;flex-direction: column;align-items: center;justify-content: center;min-height: 260px;color: var(--muted);font-size: 0.9rem;gap: 10px;text-align: center;}.detail-empty svg {opacity: 0.3;}.detail-head {display: flex;align-items: flex-start;gap: 14px;margin-bottom: 16px;}.detail-banner-large {width: 64px;flex: none;}.detail-banner-large svg {width: 100%;height: auto;}.detail-meta h2 {font-family: 'Cinzel', serif;font-size: 1.1rem;color: var(--accent-3);margin-bottom: 4px;}.detail-accuracy-badge {display: inline-block;font-size: 0.72rem;font-weight: 700;padding: 2px 8px;border-radius: 10px;text-transform: uppercase;letter-spacing: 0.05em;margin-bottom: 6px;}.detail-note {font-size: 0.8rem;color: var(--muted);font-style: italic;}.edit-cta {display: flex;align-items: center;justify-content: center;width: 100%;box-sizing: border-box;margin-bottom: 16px;padding: 10px 14px;font-size: 0.86rem;}.detail-facts {background: var(--glass-2);border: 1px solid var(--control-border);border-radius: var(--radius);padding: 12px 14px;margin-bottom: 16px;}.detail-fact {font-size: 0.82rem;color: var(--text);margin-bottom: 6px;}.detail-fact:last-child {margin-bottom: 0;}.detail-fact-label {display: inline-block;font-size: 0.68rem;font-weight: 700;color: var(--accent-3);text-transform: uppercase;letter-spacing: 0.05em;margin-right: 8px;}.detail-about {font-size: 0.82rem;color: var(--muted);line-height: 1.55;margin: 6px 0 0;}.cloth-row {margin-bottom: 14px;}.cloth-row label {display: block;font-size: 0.78rem;font-weight: 600;color: var(--muted);margin-bottom: 6px;text-transform: uppercase;letter-spacing: 0.05em;}.cloth-swatches {display: flex;flex-wrap: wrap;gap: 5px;}.cloth-swatch {width: 22px;height: 22px;border-radius: 4px;border: 2px solid rgba(255,255,255,0.3);cursor: pointer;transition: transform 0.12s, border-color 0.12s;}.cloth-swatch:hover {transform: scale(1.15);border-color: rgba(255,255,255,0.6);}.cloth-swatch.active {border-color: #fff;box-shadow: 0 0 0 1px rgba(0,0,0,0.5);}.steps-section {margin-top: 16px;}.hidden {display: none !important;}.steps-header {display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;}.steps-header h3 {font-size: 0.78rem;font-weight: 700;color: var(--muted);text-transform: uppercase;letter-spacing: 0.06em;margin: 0;}.seg-toggle {display: flex;gap: 0;border: 1px solid var(--control-border);border-radius: 6px;overflow: hidden;}.seg-toggle button {background: transparent;border: none;color: var(--muted);padding: 3px 10px;font-size: 0.72rem;font-weight: 600;cursor: pointer;font-family: var(--font-family);transition: all 0.15s;}.seg-toggle button + button {border-left: 1px solid var(--control-border);}.seg-toggle button[aria-selected="true"] {background: var(--accent);color: #fff;}.steps-ol {list-style: none;display: flex;flex-direction: column;gap: 5px;}.steps-ol li {display: flex;align-items: center;gap: 8px;font-size: 0.83rem;color: var(--text);}.step-num {min-width: 20px;height: 20px;border-radius: 50%;background: var(--accent);color: #fff;font-size: 0.7rem;font-weight: 700;display: flex;align-items: center;justify-content: center;flex: none;}.step-dot {width: 14px;height: 14px;border-radius: 3px;border: 1px solid rgba(255,255,255,0.2);flex: none;}.step-pattern-icon {width: 22px;flex: none;border-radius: 2px;overflow: hidden;}.step-pattern-icon svg {width: 100%;height: auto;display: block;}.loom-cards {display: flex;flex-direction: column;gap: 7px;}.loom-card {background: var(--glass-2);border: 1px solid var(--control-border);border-radius: 7px;padding: 7px 9px;}.loom-card-flow {display: flex;align-items: center;gap: 5px;flex-wrap: nowrap;}.loom-step-num {min-width: 18px;height: 18px;border-radius: 50%;background: var(--accent);color: #fff;font-size: 0.66rem;font-weight: 700;display: flex;align-items: center;justify-content: center;flex: none;}.loom-mini-banner {width: 22px;flex: none;}.loom-mini-banner svg {width: 100%;height: auto;display: block;}.loom-sym {color: var(--muted);font-size: 0.75rem;flex: none;line-height: 1;}.loom-dye-badge {display: flex;align-items: center;gap: 4px;background: var(--glass);border: 1px solid var(--control-border);border-radius: 5px;padding: 2px 6px;font-size: 0.72rem;white-space: nowrap;flex-shrink: 1;min-width: 0;overflow: hidden;}.loom-dye-dot {width: 10px;height: 10px;border-radius: 2px;border: 1px solid rgba(255,255,255,0.2);flex: none;}.loom-pattern-icon {width: 22px;flex: none;border-radius: 3px;overflow: hidden;border: 1px solid rgba(255,255,255,0.1);}.loom-pattern-icon svg {width: 100%;height: auto;display: block;}.loom-card-label {font-size: 0.7rem;color: var(--muted);margin-top: 4px;padding-left: 2px;}.loom-done {font-size: 0.78rem;color: var(--accent-2);font-weight: 600;padding: 5px 2px 0;}.cmd-section {margin-top: 14px;}.cmd-section-label {font-size: 0.78rem;font-weight: 600;color: var(--muted);margin: 0 0 8px;text-transform: uppercase;letter-spacing: 0.05em;}.option-row {display: flex;align-items: center;gap: 10px;margin-bottom: 10px;flex-wrap: wrap;}.option-label {font-size: 0.75rem;color: var(--muted);font-weight: 600;min-width: 52px;}.rotation-select {font-family: var(--font-family);font-size: 0.78rem;color: var(--text);background: var(--control-bg);border: 1px solid var(--control-border);border-radius: 6px;padding: 6px 8px;}.command-box {background: rgba(0,0,0,0.35);border: 1px solid var(--control-border);border-radius: 7px;padding: 10px 12px;font-family: var(--mono);font-size: 0.72rem;color: var(--accent-2);min-height: 60px;word-break: break-all;white-space: pre-wrap;line-height: 1.5;margin-bottom: 4px;}.command-box:empty::before {content: "Select a flag to generate a command…";color: var(--muted);opacity: 0.55;}.cmd-warning {font-size: 0.72rem;color: #f9801d;margin-bottom: 6px;line-height: 1.4;}.cmd-buttons {display: flex;gap: 7px;flex-wrap: wrap;margin-top: 10px;}.btn {font-family: var(--font-family);font-size: 0.82rem;font-weight: 600;color: #fff;background: var(--accent);border: 1px solid var(--accent);box-shadow: 0 2px 8px rgba(161,0,161,0.3);padding: 8px 14px;cursor: pointer;border-radius: 8px;transition: filter 0.15s ease, transform 0.08s ease, background 0.15s ease;text-decoration: none;display: inline-flex;align-items: center;gap: 5px;}.btn:hover {filter: brightness(1.15);text-decoration: none;}.btn:active {transform: translateY(1px);}.btn.secondary {background: var(--accent-2);border-color: var(--accent-2);color: #0d1f1a;box-shadow: 0 2px 8px rgba(54,211,153,0.3);}.btn.ghost {background: var(--glass-2);border-color: var(--control-border);color: var(--text);box-shadow: none;}.btn.ghost:hover {background: var(--control-bg);filter: none;}.btn.copied {background: var(--accent-2);border-color: var(--accent-2);color: #0d1f1a;}.btn:disabled {opacity: 0.4;cursor: not-allowed;filter: none;}.detail-overlay {display: none;position: fixed;inset: 0;background: rgba(0,0,0,0.65);backdrop-filter: blur(4px);z-index: 250;animation: overlayFadeIn 0.2s ease;}.detail-overlay.active {display: block;}@keyframes overlayFadeIn {from {opacity: 0;}to {opacity: 1;}}.sheet-header {display: flex;align-items: center;justify-content: flex-end;padding: 10px 16px 0;flex-shrink: 0;position: relative;}.sheet-handle {position: absolute;top: 10px;left: 50%;transform: translateX(-50%);width: 36px;height: 4px;background: var(--control-border);border-radius: 2px;}.sheet-close-btn {background: var(--glass-2);border: 1px solid var(--control-border);color: var(--muted);border-radius: 6px;padding: 4px 10px;font-size: 0.88rem;cursor: pointer;transition: all 0.15s;font-family: var(--font-family);}.sheet-close-btn:hover {color: var(--text);background: var(--control-bg);}.section-divider {border: none;border-top: 1px solid var(--control-border);margin: 56px 0 44px;}.content-sections {max-width: 880px;margin: 0 auto;padding: 0 20px 76px;}.content-section {margin-bottom: 48px;}.content-section:last-child {margin-bottom: 0;}.content-section > h2 {display: flex;align-items: center;gap: 10px;font-family: 'Cinzel', serif;font-size: 1.32rem;margin: 0 0 18px;padding-bottom: 12px;border-bottom: 1px solid var(--control-border);}.content-section h3 {font-size: 15px;font-weight: 600;color: var(--text);margin: 20px 0 8px;}.content-section p {color: var(--muted);line-height: 1.78;margin: 0 0 14px;font-size: 15px;}.content-section ul, .content-section ol {color: var(--muted);line-height: 1.78;padding-left: 22px;font-size: 15px;margin: 0 0 14px;}.content-section li {margin-bottom: 6px;}.content-section strong {color: var(--text);font-weight: 600;}.content-section code {font-family: var(--mono);font-size: 13px;color: var(--accent-2);background: var(--glass);border: 1px solid var(--control-border);border-radius: 4px;padding: 1px 6px;}.accuracy-legend {display: flex;flex-wrap: wrap;gap: 10px;margin: 2px 0 22px;padding: 0;list-style: none;}.legend-chip {display: inline-flex;align-items: center;gap: 8px;background: var(--glass-2);border: 1px solid var(--control-border);border-radius: 20px;padding: 7px 14px 7px 10px;font-size: 13px;color: var(--text);}.legend-dot {width: 10px;height: 10px;border-radius: 50%;flex-shrink: 0;}.legend-chip strong {font-weight: 700;}.legend-chip span {color: var(--muted);}.tips-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 14px;margin-top: 4px;}.tip-card {background: var(--card);border: 1px solid var(--control-border);border-radius: var(--radius);padding: 18px;transition: border-color 0.15s, transform 0.15s;}.tip-card:hover {border-color: var(--control-border-hover);transform: translateY(-2px);}.tip-card h3 {display: flex;align-items: center;gap: 7px;font-size: 13.5px;margin: 0 0 8px;font-weight: 700;}.tip-card p {color: var(--muted);font-size: 13.5px;line-height: 1.65;margin: 0;}.cross-link-card {display: block;text-decoration: none;}.cross-link-card:hover {text-decoration: none;}.howto-steps {margin: 0 0 14px;padding-left: 24px;color: var(--muted);line-height: 1.75;font-size: 15px;display: flex;flex-direction: column;gap: 6px;}.howto-steps li::marker {color: var(--accent-2);font-weight: 700;}.howto-steps strong {color: var(--text);}.faq-list {display: flex;flex-direction: column;gap: 10px;}.faq-item {background: var(--glass-2);border: 1px solid var(--control-border);border-radius: var(--radius);overflow: hidden;transition: border-color 0.15s;}.faq-item:hover {border-color: var(--control-border-hover);}.faq-item summary {list-style: none;cursor: pointer;padding: 15px 44px 15px 18px;font-size: 14.5px;font-weight: 600;color: var(--text);position: relative;user-select: none;}.faq-item summary::marker, .faq-item summary::-webkit-details-marker {display: none;}.faq-item summary::after {content: "+";position: absolute;right: 16px;top: 50%;width: 18px;height: 18px;display: flex;align-items: center;justify-content: center;transform: translateY(-50%);font-size: 18px;font-weight: 400;color: var(--accent-2);transition: transform 0.2s ease;}.faq-item details[open] summary::after {transform: translateY(-50%) rotate(45deg);}.faq-item details[open] summary {border-bottom: 1px solid var(--control-border);}.faq-item p {color: var(--muted);font-size: 14px;line-height: 1.72;margin: 0;padding: 14px 18px 18px;}@media (max-width: 640px) {.content-section > h2 {font-size: 1.12rem;}.content-sections {padding: 0 16px 56px;}}@media (max-width: 820px) {.detail-panel {order: unset;display: none;position: fixed;bottom: 0;left: 0;right: 0;top: auto;max-height: 78vh;min-height: unset;overflow-y: auto;border-radius: 16px 16px 0 0;border-bottom: none;z-index: 300;padding: 0 20px 24px;padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));}.detail-panel.sheet-open {display: block;animation: sheetSlideUp 0.3s cubic-bezier(0.32,0.72,0,1);}@keyframes sheetSlideUp {from {transform: translateY(100%);opacity: 0.6;}to {transform: translateY(0);opacity: 1;}}.main-layout {grid-template-columns: 1fr;}.hero {padding: 24px 16px 16px;}.hero h1 {font-size: 1.3rem;margin-bottom: 6px;}.hero p {font-size: 0.88rem;}.toolbar {padding: 0 12px 14px;}.region-tabs {gap: 5px;}.region-tab {padding: 5px 11px;font-size: 0.78rem;}.flag-grid {grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));gap: 8px;}.cloth-swatch {width: 26px;height: 26px;}}@media print {header, footer, .hero, .toolbar, .flag-grid, .flags-count, .sheet-header, .cloth-row, .option-row, .cmd-buttons, .edit-cta, .ads, .breadcrumb, .content-sections, .section-divider {display: none !important;}body {background: #fff !important;color: #000 !important;}.main-layout {display: block !important;}.detail-panel, .detail-panel.sheet-open {display: block !important;position: static !important;inset: auto !important;top: auto !important;bottom: auto !important;left: auto !important;right: auto !important;transform: none !important;animation: none !important;max-height: none !important;min-height: 0 !important;overflow: visible !important;background: #fff !important;border: 1px solid #ccc !important;border-radius: 0 !important;z-index: auto !important;padding: 20px !important;}.detail-meta h2, .steps-header h3, .cmd-section-label {color: #000 !important;}.detail-facts {background: #f4f4f4 !important;border: 1px solid #ccc !important;}.detail-fact, .detail-about {color: #000 !important;}.steps-section::before {content: "Minecraft Loom Steps";display: block;font-weight: 700;font-size: 16px;margin-bottom: 10px;}#stepsText {display: block !important;}#stepsVisual {display: none !important;}.steps-header .seg-toggle {display: none !important;}.steps-ol li {color: #000 !important;}.step-num {background: #888 !important;}.command-box {background: #f4f4f4 !important;color: #000 !important;border: 1px solid #ccc !important;}.cmd-warning {color: #b00 !important;}}