
/* NEO 101 V6 — applied SKIBIDI / React-Bits motion layer */
:root{--v6-ease:cubic-bezier(.22,1,.36,1);--v6-fast:220ms;--v6-slow:700ms}
html{scroll-behavior:smooth}.content{isolation:isolate}.content:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 14%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 28%),radial-gradient(circle at 86% 24%,color-mix(in srgb,var(--accent2) 11%,transparent),transparent 30%);animation:v6Ambient 16s ease-in-out infinite alternate}
@keyframes v6Ambient{to{filter:hue-rotate(14deg) saturate(1.1);transform:scale(1.03)}}
.hero,.card,.metric-card,.module-panel,.quick-card{transform:translateY(0);transition:transform 400ms var(--v6-ease),box-shadow 400ms var(--v6-ease),border-color 400ms var(--v6-ease),background 400ms var(--v6-ease)}
.card:hover,.module-panel:hover,.quick-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:0 22px 64px color-mix(in srgb,var(--accent) 12%,transparent)}
.hero h1{background:linear-gradient(105deg,var(--text) 8%,var(--accent2) 46%,var(--accent) 76%,var(--text));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:v6Text 9s linear infinite}@keyframes v6Text{to{background-position:220% 0}}
.v6-ribbon{display:flex;gap:10px;align-items:center;overflow:hidden;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 86%,transparent);border-radius:16px;padding:10px 12px;margin-bottom:16px;box-shadow:var(--cardShadow)}.v6-live{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px #22c55e22;animation:pulse 1.8s infinite}@keyframes pulse{50%{box-shadow:0 0 0 11px transparent}}.v6-ribbon-track{white-space:nowrap;animation:marquee 24s linear infinite;color:var(--muted)}@keyframes marquee{to{transform:translateX(-35%)}}
.module-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.module-panel{grid-column:span 6;min-height:260px;border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--accent) 5%,var(--panel)));border-radius:var(--radius-xl);padding:18px;position:relative;overflow:hidden}.module-panel.wide{grid-column:1/-1}.module-panel:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;top:-75px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 66%);pointer-events:none}.module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.module-head h3{margin:0;font-size:18px}.module-head small{color:var(--muted)}.module-badge{font:700 11px ui-monospace,monospace;color:var(--accent2);border:1px solid color-mix(in srgb,var(--accent2) 35%,var(--line));padding:5px 8px;border-radius:999px}.module-mount{min-height:190px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--input) 88%,transparent);overflow:hidden;padding:12px}.module-status{color:var(--muted);font-size:12px;margin-top:8px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.quick-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:14px;cursor:pointer;text-align:left;color:var(--text)}.quick-card b{display:block;margin-bottom:4px}.quick-card small{color:var(--muted)}
.v6-dock{position:fixed;left:50%;bottom:18px;z-index:70;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(22px);box-shadow:0 20px 70px rgba(0,0,0,.28)}.v6-dock button{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:12px;cursor:pointer}.v6-dock button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--text)}
.v6-orb{position:fixed;z-index:-1;pointer-events:none;width:260px;height:260px;border-radius:48% 52% 62% 38%;filter:blur(2px);opacity:.15;background:linear-gradient(135deg,var(--accent),var(--accent2));animation:orb 14s ease-in-out infinite alternate}.v6-orb.a{left:-120px;top:30%}.v6-orb.b{right:-100px;bottom:10%;animation-delay:-6s}@keyframes orb{to{transform:translate3d(55px,-35px,0) rotate(34deg);border-radius:62% 38% 45% 55%}}
.integrated-source-pill{display:inline-flex;align-items:center;gap:6px;margin:4px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid var(--line);font-size:11px;color:var(--text)}
.real-chart{width:100%;height:260px}.fc{--fc-border-color:var(--line);--fc-page-bg-color:transparent;--fc-neutral-bg-color:color-mix(in srgb,var(--panel) 80%,transparent);--fc-list-event-hover-bg-color:var(--panel);color:var(--text)}
.drop-zone{display:grid;place-items:center;min-height:150px;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 4%,transparent);text-align:center;padding:20px}.drop-zone.drag{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
.mini-inbox{display:grid;gap:8px}.mail-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.mail-row .avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:white;font-weight:900}.mail-row small{color:var(--muted)}
.resume-sheet{background:#fff;color:#111827;border-radius:10px;padding:22px;min-height:220px;box-shadow:0 14px 50px #0002}.resume-sheet h4{font-size:22px;margin:0 0 6px}.resume-sheet p{color:#374151}.resume-chip{display:inline-block;background:#eef2ff;color:#3730a3;padding:4px 7px;border-radius:999px;font-size:11px;margin:2px}
.terminal-surface{background:#05070b;color:#d1fae5;border:1px solid #1f2937;border-radius:16px;padding:14px;font:13px/1.55 ui-monospace,SFMono-Regular,monospace;min-height:190px;white-space:pre-wrap}.canvas-board{width:100%;height:250px;border-radius:16px;background:repeating-linear-gradient(0deg,transparent,transparent 23px,var(--line) 24px),repeating-linear-gradient(90deg,transparent,transparent 23px,var(--line) 24px);border:1px solid var(--line);position:relative;overflow:hidden}.canvas-node{position:absolute;padding:10px 12px;border-radius:13px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--cardShadow);cursor:grab;user-select:none}
/* Distinct visual families — not only colors */
body[data-design*="Shatlyk"] .card,body[data-design*="Cynthia"] .card{border-radius:3px;box-shadow:none}body[data-design*="Shatlyk"] .hero{border-left:4px solid var(--accent)}
body[data-design*="Aether"] .hero,body[data-design*="Carlos"] .hero{border-radius:36px;background:linear-gradient(135deg,#fff8,var(--hero));backdrop-filter:blur(18px)}
body[data-design*="Three"] .app-bg,body[data-design*="R3F"] .app-bg,body[data-design*="3D"] .app-bg{background-image:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 24%),linear-gradient(120deg,var(--bg),color-mix(in srgb,var(--accent2) 8%,var(--bg)))}
body[data-design*="VTCode"] .card,body[data-design*="Brittany"] .card{border-radius:8px;font-family:ui-monospace,SFMono-Regular,monospace}body[data-design*="VTCode"] .hero h1,body[data-design*="Brittany"] .hero h1{font-family:ui-monospace,SFMono-Regular,monospace}
body[data-design*="Dino"] .card,body[data-design*="CodeBucks"] .card{transform:rotate(-.25deg)}body[data-design*="Dino"] .card:nth-child(even),body[data-design*="CodeBucks"] .card:nth-child(even){transform:rotate(.25deg)}
body[data-design*="React Bits"] .module-panel{background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--accent) 10%,var(--panel)),color-mix(in srgb,var(--accent2) 6%,var(--panel)))}
body[data-theme="light"] .module-panel,html[data-theme="light"] .module-panel{box-shadow:0 16px 45px rgba(15,23,42,.08)}
@media(max-width:900px){.module-panel{grid-column:1/-1}.quick-grid{grid-template-columns:repeat(2,1fr)}.v6-dock{max-width:94vw;overflow:auto}}
@media(max-width:560px){.quick-grid{grid-template-columns:1fr}.v6-dock{bottom:8px}.module-panel{padding:13px}.hero h1{font-size:clamp(32px,13vw,64px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* ============================================================
   NEO 101 V7 RESPONSIVE GUARD — laptop + tablet + mobile
   Prevents right-edge overflow while preserving intentional
   internal scrolling for kanban/tables/code/calendar surfaces.
   ============================================================ */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{min-width:0}
.shell,.main,.content,.view,.hero,.hero>*,.grid,.card,.metric-row,.metric-card,
.module-grid,.module-panel,.module-mount,.quick-grid,.quick-card,.section-title,
.form-grid,.field,.toolbar,.list,.item,.item-main,.canvas-wrap,.canvas-board,
.chart,.real-chart,.calendar,.drop,.drop-zone,.terminal,.terminal-surface,
.editor,.palette-box,.modal-card,.resume-sheet,.mini-inbox,.mail-row{
  min-width:0;max-width:100%;
}
.shell{width:100%;max-width:100vw;overflow-x:clip}
.main{width:100%;max-width:100%;overflow-x:clip}
.content{width:min(100%,1680px);max-width:100%;padding-inline:clamp(12px,2.1vw,28px);overflow-x:clip}
img,video,picture,canvas,svg,iframe{max-width:100%}
img,video{height:auto}
iframe{width:100%;border:0}
.hero{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);width:100%}
.hero h1,.view-title h1,.section-title h2,.module-head h3{overflow-wrap:anywhere;word-break:normal}
.hero p,.card p,.module-panel p,.item-main small,.module-status{overflow-wrap:anywhere}
.hero-side{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.grid,.module-grid{grid-template-columns:repeat(12,minmax(0,1fr));width:100%}
.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.search{min-width:0}.search input{min-width:0;max-width:100%}
.topbar{min-width:0;max-width:100%;width:100%}.topbar>*{min-width:0}
.btn{max-width:100%;white-space:normal;text-align:center}
.toolbar{max-width:100%}.toolbar>*{min-width:0}
.compact-table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.compact-table tbody,.compact-table thead,.compact-table tr{min-width:max-content}
pre,code,.terminal,.terminal-surface,.editor{max-width:100%;overflow:auto;overflow-wrap:normal}
.editor{min-width:0;resize:vertical}
.chart,.real-chart,.spark{max-width:100%;overflow:hidden}
.chart svg,.real-chart svg,.spark svg{max-width:100%!important}
.canvas-wrap,.canvas-board{overflow:auto;overscroll-behavior:contain}
.kanban{width:100%;max-width:100%;grid-template-columns:repeat(4,minmax(220px,1fr));overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.calendar{width:100%;max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.day{min-width:0;overflow:hidden}.event{max-width:100%}
.dna,.legend{max-width:100%}.chip,.dna span,.integrated-source-pill{max-width:100%;overflow-wrap:anywhere}
.v6-ribbon{max-width:100%;min-width:0}.v6-ribbon-track{min-width:0}
.v6-dock{max-width:calc(100vw - 24px);overflow-x:auto;overscroll-behavior-inline:contain}
body[data-layout="sidebar"] .shell{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}
body[data-layout="split"] .shell{grid-template-columns:minmax(0,1fr) minmax(260px,310px)}
body[data-layout="command"] .shell{grid-template-columns:minmax(180px,210px) minmax(0,1fr)}
body[data-layout="canvas"] .main{width:auto;min-width:0;max-width:100%;padding-left:clamp(236px,19vw,286px)}
body[data-layout="mosaic"] .main{width:auto;min-width:0;max-width:100%;margin-left:106px}
body[data-layout="topnav"] .sidebar,body[data-layout="editorial"] .sidebar{max-width:100vw;overflow:hidden}
body[data-layout="topnav"] .nav,body[data-layout="editorial"] .nav{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}

/* Laptop: collapse wide side surfaces before they can force overflow. */
@media(max-width:1180px){
  .hero{grid-template-columns:minmax(0,1fr);min-height:auto}
  .hero-side{grid-template-columns:repeat(4,minmax(0,1fr))}
  .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-panel{grid-column:1/-1}
  .grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .card,.card.wide,.card.half{grid-column:span 6}
  body[data-layout] .shell{display:block!important;width:100%!important;max-width:100vw!important}
  body[data-layout] .sidebar{
    position:sticky!important;left:auto!important;right:auto!important;bottom:auto!important;top:0!important;
    transform:none!important;width:100%!important;max-width:100vw!important;height:auto!important;
    display:flex!important;align-items:center!important;border-radius:0!important;border-left:0!important;
    border-right:0!important;border-top:0!important;padding:6px 10px!important;overflow:hidden!important
  }
  body[data-layout] .brand{min-width:52px!important;max-width:72px!important;padding:4px!important;flex:0 0 auto!important}
  body[data-layout] .brand b,body[data-layout] .brand small{display:none!important}
  body[data-layout] .nav{flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;flex:1 1 auto!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;scrollbar-width:thin}
  body[data-layout] .nav button{font-size:11px!important;flex:0 0 auto!important;white-space:nowrap!important;max-width:170px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body[data-layout] .nav button:before{display:none!important}
  body[data-layout] .sidebar-foot{display:none!important}
  body[data-layout] .main{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}
  .topbar{top:58px!important}
  .content{padding-inline:clamp(12px,2vw,20px)}
}

/* Tablet */
@media(max-width:820px){
  .topbar{height:auto;min-height:64px;padding:10px 12px;flex-wrap:wrap;align-items:center}
  .topbar .search{order:3;flex:1 0 100%;max-width:none;width:100%}
  .topbar>.btn{flex:0 0 auto}
  .hero{padding:clamp(20px,5vw,30px);gap:18px}
  .hero h1{font-size:clamp(34px,8vw,56px);line-height:1}
  .hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid,.module-grid{grid-template-columns:minmax(0,1fr)}
  .card,.card.wide,.card.half,.card.full,.module-panel,.module-panel.wide{grid-column:1/-1}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .field.full{grid-column:auto}
  .section-title,.module-head{align-items:flex-start;flex-direction:column}
  .calendar{overflow-x:auto;grid-template-columns:repeat(7,minmax(92px,1fr));padding-bottom:4px}
  .metric-row,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v6-dock{bottom:8px;left:12px;right:12px;transform:none;width:auto;max-width:none}
  .toast{left:12px;right:12px;bottom:78px;text-align:center}
}

/* Mobile */
@media(max-width:560px){
  html{font-size:15px}
  body[data-layout] .sidebar{padding:5px 8px!important}
  body[data-layout] .brand{min-width:46px!important;max-width:46px!important}
  .logo{width:36px;height:36px;border-radius:11px}
  body[data-layout] .nav button{padding:9px 10px!important;max-width:128px!important}
  .topbar{top:52px!important;gap:8px}
  .topbar>.btn{padding:9px 10px}
  .kbd{display:none}
  .content{padding:10px;width:100%}
  .hero{padding:20px;min-height:auto;border-radius:clamp(18px,5vw,var(--radius-xl))}
  .hero h1{font-size:clamp(30px,11vw,46px);letter-spacing:-.04em}
  .hero p{font-size:14px}
  .hero-side{grid-template-columns:minmax(0,1fr)}
  .hero-stat{min-height:88px;padding:14px}
  .metric-row,.quick-grid{grid-template-columns:minmax(0,1fr)}
  .metric-card,.card,.module-panel{padding:14px}
  .view-title h1{font-size:clamp(26px,8vw,34px)}
  .section-title h2{font-size:20px}
  .kanban{grid-template-columns:repeat(4,minmax(82vw,1fr));scroll-snap-type:x proximity}
  .column{scroll-snap-align:start;min-height:320px}
  .calendar{grid-template-columns:repeat(7,minmax(82px,1fr))}
  .modal{padding:10px}.modal-card{padding:15px;border-radius:18px;max-height:92dvh}
  .palette{padding-top:8vh}.palette-box{width:calc(100% - 18px)}
  .v6-dock button{padding:8px 10px;white-space:nowrap}
}

/* Very narrow phones */
@media(max-width:390px){
  .content{padding-inline:8px}
  .hero{padding:17px}
  .topbar{padding-inline:8px}
  .btn{padding:9px 10px}
  .card,.module-panel,.metric-card{border-radius:14px}
  .hero h1{font-size:clamp(28px,10.5vw,40px)}
}
