/**
 * @license BSD
 * @copyright 2014-2025 hizzgdev@163.com
 * 
 * Project Home:
 *   https://github.com/hizzgdev/jsmind/
 */

/* important section */
.jsmind-inner {
    position: relative;
    overflow: auto;
    width: 100%;
    height: 100%;
    outline: none;
} /*box-shadow:0 0 2px #000;*/
.jsmind-inner {
    moz-user-select: -moz-none;
    -moz-user-select: none;
    -o-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.jsmind-inner canvas {
    position: absolute;
}

/* z-index:1 */
svg.jsmind {
    position: absolute;
    z-index: 1;
}
canvas.jsmind {
    position: absolute;
    z-index: 1;
}

/* z-index:2 */
jmnodes {
    position: absolute;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0);
} /*background color is necessary*/
jmnode {
    position: absolute;
    cursor: default;
    max-width: 400px;
}
jmexpander {
    position: absolute;
    width: 11px;
    height: 11px;
    display: block;
    overflow: hidden;
    line-height: 12px;
    font-size: 10px;
    text-align: center;
    border-radius: 6px;
    border-width: 1px;
    border-style: solid;
    cursor: pointer;
}

.jmnode-overflow-wrap jmnodes {
    min-width: 420px;
}

.jmnode-overflow-hidden jmnode {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* default theme */
jmnode {
    padding: 10px;
    background-color: #fff;
    color: #333;
    border-radius: 5px;
    box-shadow: 1px 1px 1px #666;
    font: 16px/1.125 Verdana, Arial, Helvetica, sans-serif;
}
jmnode:hover {
    box-shadow: 2px 2px 8px #000;
    background-color: #ebebeb;
    color: #333;
}
jmnode.selected {
    background-color: #11f;
    color: #fff;
    box-shadow: 2px 2px 8px #000;
}
jmnode.root {
    font-size: 24px;
}
jmexpander {
    border-color: gray;
}
jmexpander:hover {
    border-color: #000;
}

@media screen and (max-device-width: 1024px) {
    jmnode {
        padding: 5px;
        border-radius: 3px;
        font-size: 14px;
    }
    jmnode.root {
        font-size: 21px;
    }
}
/* primary theme */
jmnodes.theme-primary jmnode {
    background-color: #428bca;
    color: #fff;
    border-color: #357ebd;
}
jmnodes.theme-primary jmnode:hover {
    background-color: #3276b1;
    border-color: #285e8e;
}
jmnodes.theme-primary jmnode.selected {
    background-color: #f1c40f;
    color: #fff;
}
jmnodes.theme-primary jmnode.root {
}
jmnodes.theme-primary jmexpander {
}
jmnodes.theme-primary jmexpander:hover {
}

/* warning theme */
jmnodes.theme-warning jmnode {
    background-color: #f0ad4e;
    border-color: #eea236;
    color: #fff;
}
jmnodes.theme-warning jmnode:hover {
    background-color: #ed9c28;
    border-color: #d58512;
}
jmnodes.theme-warning jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-warning jmnode.root {
}
jmnodes.theme-warning jmexpander {
}
jmnodes.theme-warning jmexpander:hover {
}

/* danger theme */
jmnodes.theme-danger jmnode {
    background-color: #d9534f;
    border-color: #d43f3a;
    color: #fff;
}
jmnodes.theme-danger jmnode:hover {
    background-color: #d2322d;
    border-color: #ac2925;
}
jmnodes.theme-danger jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-danger jmnode.root {
}
jmnodes.theme-danger jmexpander {
}
jmnodes.theme-danger jmexpander:hover {
}

/* success theme */
jmnodes.theme-success jmnode {
    background-color: #5cb85c;
    border-color: #4cae4c;
    color: #fff;
}
jmnodes.theme-success jmnode:hover {
    background-color: #47a447;
    border-color: #398439;
}
jmnodes.theme-success jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-success jmnode.root {
}
jmnodes.theme-success jmexpander {
}
jmnodes.theme-success jmexpander:hover {
}

/* info theme */
jmnodes.theme-info jmnode {
    background-color: #5dc0de;
    border-color: #46b8da;
    color: #fff;
}
jmnodes.theme-info jmnode:hover {
    background-color: #39b3d7;
    border-color: #269abc;
}
jmnodes.theme-info jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-info jmnode.root {
}
jmnodes.theme-info jmexpander {
}
jmnodes.theme-info jmexpander:hover {
}

/* greensea theme */
jmnodes.theme-greensea jmnode {
    background-color: #1abc9c;
    color: #fff;
}
jmnodes.theme-greensea jmnode:hover {
    background-color: #16a085;
}
jmnodes.theme-greensea jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-greensea jmnode.root {
}
jmnodes.theme-greensea jmexpander {
}
jmnodes.theme-greensea jmexpander:hover {
}

/* nephrite theme */
jmnodes.theme-nephrite jmnode {
    background-color: #2ecc71;
    color: #fff;
}
jmnodes.theme-nephrite jmnode:hover {
    background-color: #27ae60;
}
jmnodes.theme-nephrite jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-nephrite jmnode.root {
}
jmnodes.theme-nephrite jmexpander {
}
jmnodes.theme-nephrite jmexpander:hover {
}

/* belizehole theme */
jmnodes.theme-belizehole jmnode {
    background-color: #3498db;
    color: #fff;
}
jmnodes.theme-belizehole jmnode:hover {
    background-color: #2980b9;
}
jmnodes.theme-belizehole jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-belizehole jmnode.root {
}
jmnodes.theme-belizehole jmexpander {
}
jmnodes.theme-belizehole jmexpander:hover {
}

/* wisteria theme */
jmnodes.theme-wisteria jmnode {
    background-color: #9b59b6;
    color: #fff;
}
jmnodes.theme-wisteria jmnode:hover {
    background-color: #8e44ad;
}
jmnodes.theme-wisteria jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-wisteria jmnode.root {
}
jmnodes.theme-wisteria jmexpander {
}
jmnodes.theme-wisteria jmexpander:hover {
}

/* asphalt theme */
jmnodes.theme-asphalt jmnode {
    background-color: #34495e;
    color: #fff;
}
jmnodes.theme-asphalt jmnode:hover {
    background-color: #2c3e50;
}
jmnodes.theme-asphalt jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-asphalt jmnode.root {
}
jmnodes.theme-asphalt jmexpander {
}
jmnodes.theme-asphalt jmexpander:hover {
}

/* orange theme */
jmnodes.theme-orange jmnode {
    background-color: #f1c40f;
    color: #fff;
}
jmnodes.theme-orange jmnode:hover {
    background-color: #f39c12;
}
jmnodes.theme-orange jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-orange jmnode.root {
}
jmnodes.theme-orange jmexpander {
}
jmnodes.theme-orange jmexpander:hover {
}

/* pumpkin theme */
jmnodes.theme-pumpkin jmnode {
    background-color: #e67e22;
    color: #fff;
}
jmnodes.theme-pumpkin jmnode:hover {
    background-color: #d35400;
}
jmnodes.theme-pumpkin jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-pumpkin jmnode.root {
}
jmnodes.theme-pumpkin jmexpander {
}
jmnodes.theme-pumpkin jmexpander:hover {
}

/* pomegranate theme */
jmnodes.theme-pomegranate jmnode {
    background-color: #e74c3c;
    color: #fff;
}
jmnodes.theme-pomegranate jmnode:hover {
    background-color: #c0392b;
}
jmnodes.theme-pomegranate jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-pomegranate jmnode.root {
}
jmnodes.theme-pomegranate jmexpander {
}
jmnodes.theme-pomegranate jmexpander:hover {
}

/* clouds theme */
jmnodes.theme-clouds jmnode {
    background-color: #ecf0f1;
    color: #333;
}
jmnodes.theme-clouds jmnode:hover {
    background-color: #bdc3c7;
}
jmnodes.theme-clouds jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-clouds jmnode.root {
}
jmnodes.theme-clouds jmexpander {
}
jmnodes.theme-clouds jmexpander:hover {
}

/* asbestos theme */
jmnodes.theme-asbestos jmnode {
    background-color: #95a5a6;
    color: #fff;
}
jmnodes.theme-asbestos jmnode:hover {
    background-color: #7f8c8d;
}
jmnodes.theme-asbestos jmnode.selected {
    background-color: #11f;
    color: #fff;
}
jmnodes.theme-asbestos jmnode.root {
}
jmnodes.theme-asbestos jmexpander {
}
jmnodes.theme-asbestos jmexpander:hover {
}

/* Drag and Drop Styles */
.lesson-plan-item {
  transition: all 0.2s ease;
}

.lesson-plan-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.lesson-plan-item.dragging {
  opacity: 0.5;
  background-color: var(--base-300);
}

.lesson-plan-item.drag-over {
  border-top: 2px solid var(--primary);
}

/* Popup Styles */
.mindmap-popup {
  position: fixed;
  z-index: 1000;
  background: var(--base-100);
  border: 1px solid var(--base-content);
  border-radius: 0.5rem;
  padding: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  max-width: 20rem;
}

.mindmap-popup::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  border-style: solid;
  border-width: 8px 8px 8px 0;
  border-color: transparent var(--base-content) transparent transparent;
}
@tailwind base;
@tailwind components;
@tailwind utilities;

@import './globals.css';
/* Variable Fonts */

@supports (font-variation-settings: normal) {
  @font-face {
    font-family: "MPLUS1";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/assets/MPLUS1-VariableFont_wght-f690acd6c4283c34769a24b3d3989b121db7c449c9fc30957698edb8ec41dd9c.woff2) format("woff2");
    font-named-instance: "Regular";
  }
}

@layer utilities {
  .font-thin {
    font-variation-settings: 'wght' 100;
  }

  .font-extralight {
    font-variation-settings: 'wght' 200;
  }

  .font-light {
    font-variation-settings: 'wght' 300;
  }

  .font-normal {
    font-variation-settings: 'wght' 400;
  }

  .font-medium {
    font-variation-settings: 'wght' 500;
  }

  .font-semibold {
    font-variation-settings: 'wght' 600;
  }

  .font-bold {
    font-variation-settings: 'wght' 700;
  }

  .font-extrabold {
    font-variation-settings: 'wght' 800;
  }

  .font-black {
    font-variation-settings: 'wght' 900;
  }
}

/* Custom shadow-primary for light theme */

[data-theme="light"] .shadow-primary {
  --tw-shadow: 0px 0px 1px 1px rgba(173, 173, 164, 0.5);
  box-shadow: var(--tw-shadow);
}

/* Tab styling */
.tab {
  border-bottom: 4px solid #a2a5ab;
  padding-bottom: 2.5rem;
  display: inline-block;
}

.tab-active {
  border-bottom: 4px solid #6b7280;
  font-weight: 700;
}

/*
  IMPORTANT: The following CSS variables for accent and warning colors are used by the mindmap and other UI elements.
  These values MUST be kept in sync with the DaisyUI theme settings in tailwind.config.js.
  If you update the accent or warning colors in tailwind.config.js, update them here as well.
*/
/* Removed global overrides - they were affecting the entire app theme */

/*
  Mindmap-specific color overrides: ensures mindmap nodes use consistent HEX colors
  instead of DaisyUI's LCH/OKLCH values that may not be supported in all browsers.
*/
[data-controller="mindmap"] jmnode {
  background-color: #2d555d !important;
  color: #f1f0e1 !important;
}

[data-controller="mindmap"] jmnode.selected {
  background-color: #ec9455 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px #ec9455 !important;
  z-index: 2;
}

/*
  Style for selected mindmap node: uses DaisyUI warning color from theme variables.
  This ensures selection color is always in sync with the theme.
*/
jmnode.selected {
  background: var(--wa) !important;
  color: var(--wa-c, #fff) !important;
  box-shadow: 0 0 0 2px var(--wa, #ec9455) !important;
  z-index: 2;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */
