/* ── RESET ─────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --cyan:#00e5ff;--teal:#3dd6b5;--teal-dim:#1a9e85;--teal-dark:#0a3a30;
  --bg:rgba(6,18,28,0.88);--bg2:rgba(10,28,42,0.80);--bg3:rgba(4,14,22,0.92);
  --border:rgba(61,214,181,0.30);--border-hi:rgba(0,229,255,0.55);
  --text:#e0f7f4;--text-dim:rgba(180,230,220,0.55);
  --navy:#06131c;--red:#ff4e6a;
}
body{
  background:transparent;
  font-family:'Segoe UI',Arial,sans-serif;
  color:var(--text);
  width:820px;
  padding:12px;
  user-select:none;
  overflow-x:hidden;
  overflow-y:auto;
  height:100%;
}
.two-col{display:flex;gap:8px;align-items:flex-start;flex-wrap:nowrap;}
.col-left{flex:0 0 390px;min-width:0;overflow-y:auto;max-height:760px;}
.col-right{flex:1;min-width:0;overflow-y:auto;max-height:760px;}
.col-right-inner{display:flex;flex-direction:column;gap:7px}
.no-islands{
  background:var(--bg);border:1px dashed var(--border);border-radius:12px;
  padding:20px;text-align:center;font-size:12px;color:var(--text-dim);line-height:1.6
}
.header{
  background:var(--bg);
  border:1px solid var(--border);border-radius:13px;
  padding:10px 14px;margin-bottom:8px;
  display:flex;align-items:center;gap:10px;
  position:relative;overflow:hidden
}
.header::before{
  content:'';position:absolute;inset:0;border-radius:13px;
  background:repeating-conic-gradient(rgba(0,200,255,.11) 0% 25%, transparent 0% 50%) 0 0/18px 18px;
  pointer-events:none
}
.header-title{
  font-size:15px;font-weight:800;color:var(--cyan);
  letter-spacing:.04em;text-shadow:0 0 14px rgba(0,229,255,.35);flex:1
}
.header-date{font-size:11px;color:var(--teal);font-weight:600}
.gear-btn{
  width:30px;height:30px;border-radius:8px;
  border:1.5px solid var(--teal);background:rgba(61,214,181,.1);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--teal);font-size:15px;flex-shrink:0;transition:all .15s
}
.gear-btn:hover,.gear-btn.active{border-color:var(--cyan);color:var(--cyan);background:rgba(0,229,255,.15)}
.reset-btn{
  width:30px;height:30px;border-radius:8px;
  border:1.5px solid rgba(0,229,255,.45);background:rgba(0,229,255,.08);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--cyan);font-size:14px;flex-shrink:0;transition:all .15s
}
.reset-btn:hover{border-color:var(--red);color:var(--red);background:rgba(255,78,106,.08)}
.gear-panel{
  background:var(--bg3);border:1.5px solid var(--border-hi);border-radius:12px;
  padding:12px 14px;margin-bottom:8px;display:none;
  max-height:80vh;overflow-y:auto;
}
.gear-panel.open{display:block}
.gear-title{font-size:10px;font-weight:800;color:var(--cyan);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.island-toggle{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(61,214,181,.12)}
.island-toggle:last-child{border-bottom:none}
.toggle-name{font-size:13px;flex:1;color:var(--text)}
.toggle-name.locked{color:var(--text-dim);text-decoration:line-through}
.sw{position:relative;width:36px;height:20px;flex-shrink:0}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw-track{
  position:absolute;inset:0;border-radius:10px;
  background:rgba(255,255,255,.1);border:1px solid var(--border);
  cursor:pointer;transition:background .2s
}
.sw input:checked+.sw-track{background:var(--teal-dim);border-color:var(--teal)}
.sw-thumb{
  position:absolute;top:3px;left:3px;width:14px;height:14px;
  border-radius:50%;background:#fff;pointer-events:none;transition:left .2s;opacity:.7
}
.sw input:checked~.sw-thumb{left:19px;opacity:1}
.gear-note{font-size:11px;color:var(--text-dim);margin-top:10px;line-height:1.5}
.gear-section-label{font-size:9px;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.date-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.date-row label{font-size:11px;color:var(--text-dim);white-space:nowrap}
.date-row input{
  flex:1;padding:5px 8px;background:var(--bg2);border:1px solid var(--border);
  border-radius:7px;color:var(--text);font-size:12px;font-family:inherit
}
.panel{
  background:var(--bg);border:1px solid var(--border);border-radius:12px;
  padding:11px 13px;margin-bottom:7px
}
.panel-title{
  font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:8px;opacity:.75
}
.progress-bar{height:7px;background:rgba(0,229,255,.08);border-radius:4px;overflow:hidden;margin-bottom:3px}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-dim),var(--cyan));border-radius:4px;transition:width .5s}
.prog-text{font-size:10px;color:var(--teal);font-weight:700;margin-bottom:7px}
.task-row{display:flex;align-items:center;gap:7px;padding:3px 0}
.task-row input[type=checkbox]{accent-color:var(--teal);width:14px;height:14px;cursor:pointer;flex-shrink:0}
.task-text{font-size:12px;color:rgba(255,255,255,.8);flex:1;cursor:pointer}
.task-text.done{text-decoration:line-through;color:rgba(255,255,255,.25)}
.section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:7px 0 3px}
.island-header{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.island-name-el{font-size:13px;font-weight:700;color:var(--teal);flex:1}
.env-badge{
  display:inline-flex;align-items:center;gap:3px;
  background:rgba(0,229,255,.08);border:1px solid var(--border);border-radius:14px;
  padding:2px 8px;font-size:10px;font-weight:700;color:var(--cyan)
}
.env-row{display:flex;gap:4px;flex-wrap:wrap;margin:3px 0 7px}
.env-btn{
  width:30px;height:30px;border-radius:7px;border:1px solid var(--border);
  font-size:12px;font-weight:700;cursor:pointer;background:transparent;color:var(--text-dim);transition:all .1s
}
.env-btn.sel{background:var(--teal-dark);color:var(--cyan);border-color:var(--teal)}
.env-btn:hover:not(.sel){border-color:var(--teal-dim);color:var(--teal)}
.note-area{
  width:100%;padding:6px 8px;background:rgba(0,0,0,.25);border:1px solid var(--border);
  border-radius:7px;color:var(--text);font-size:11.5px;font-family:inherit;
  resize:none;min-height:48px;line-height:1.5
}
.note-area:focus{outline:none;border-color:var(--teal-dim)}
.add-row{display:flex;gap:6px;margin-top:6px}
.add-inp{
  flex:1;padding:5px 8px;background:rgba(0,0,0,.25);border:1px solid var(--border);
  border-radius:7px;color:var(--text);font-size:12px;font-family:inherit
}
.add-inp:focus{outline:none;border-color:var(--teal-dim)}
.add-btn{
  padding:5px 11px;background:var(--teal-dark);color:var(--cyan);
  border:1px solid var(--teal-dim);border-radius:7px;font-size:11px;font-weight:700;cursor:pointer
}
.add-btn:hover{background:var(--teal-dim);color:var(--navy)}
.poke-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.poke-chip{
  display:flex;align-items:center;gap:5px;
  font-size:11px;padding:3px 8px;border-radius:14px;
  border:1px solid rgba(61,214,181,.22);color:rgba(255,255,255,.45);cursor:pointer;transition:all .15s
}
.poke-chip:hover{border-color:var(--teal-dim)}
.poke-chip.caught{background:rgba(0,229,255,.1);border-color:var(--cyan);color:var(--cyan)}
.poke-chip .px{font-size:9px;color:rgba(255,255,255,.2);cursor:pointer}
.poke-chip .px:hover{color:var(--red)}
.todo-row{display:flex;align-items:center;gap:7px;padding:2px 0}
.todo-row input[type=checkbox]{accent-color:var(--teal);width:13px;height:13px;cursor:pointer;flex-shrink:0}
.todo-text{font-size:12px;color:rgba(255,255,255,.75);flex:1;cursor:pointer}
.todo-text.done{text-decoration:line-through;color:rgba(255,255,255,.25)}
.todo-del{font-size:10px;border:none;background:none;cursor:pointer;color:rgba(255,255,255,.15);padding:0 2px}
.todo-del:hover{color:var(--red)}
.island-body{display:block}
.collapse-btn{
  background:none;border:none;cursor:pointer;
  color:var(--text-dim);font-size:12px;padding:0;line-height:1
}
.collapse-btn:hover{color:var(--cyan)}
.island-tabs{display:flex;gap:4px;margin-bottom:8px}
.itab{
  padding:4px 11px;border-radius:14px;font-size:11px;font-weight:700;
  border:1px solid var(--border);background:transparent;
  color:var(--text-dim);cursor:pointer;transition:all .15s;text-transform:uppercase;letter-spacing:.05em
}
.itab:hover{border-color:var(--teal-dim);color:var(--teal)}
.itab.active{background:var(--teal-dark);color:var(--cyan);border-color:var(--teal)}
.itab-section{display:none}
.itab-section.active{display:block}
.poke-ac-wrap{position:relative}
.poke-ac-drop{
  position:absolute;top:100%;left:0;right:0;z-index:999;
  background:var(--bg3);border:1px solid var(--border-hi);border-radius:9px;
  margin-top:3px;max-height:180px;overflow-y:auto;display:none
}
.poke-ac-drop.open{display:block}
.poke-ac-item{
  padding:7px 11px;font-size:12px;color:var(--text);cursor:pointer;
  border-bottom:1px solid rgba(61,214,181,.08);display:flex;align-items:center;gap:8px
}
.poke-ac-item:last-child{border-bottom:none}
.poke-ac-item:hover,.poke-ac-item.focused{background:rgba(0,229,255,.08);color:var(--cyan)}
.poke-ac-item .ac-num{font-size:10px;color:var(--text-dim);min-width:30px}
.poke-ac-item .ac-match{color:var(--cyan)}

#layer1 {
  position: relative;
  z-index: 20 !important;
  pointer-events: none;
}

/* allow interaction only where needed */
#layer1 * {
  pointer-events: auto;
}