.sketch-path{fill:none;stroke-linecap:round;stroke-linejoin:round}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.cursor-blink{animation:blink 1s step-end infinite}
a{color:inherit}

.menu-cat-chevron, .collapsible-chevron{display:none}
@media (max-width:720px), (max-device-width:720px){
  .menu-cat-header, .collapsible-header{cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;-webkit-tap-highlight-color:transparent}
  .menu-cat-chevron, .collapsible-chevron{
    display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;margin-top:2px;
    font-size:17px;color:#4a6741;border:2px solid currentColor;border-radius:8px;
    transition:transform .3s ease,background-color .3s ease;
  }
  .menu-cat-header:active .menu-cat-chevron, .collapsible-header:active .collapsible-chevron{background:rgba(74,103,65,.12)}
  .menu-cat.open .menu-cat-chevron, .collapsible.open .collapsible-chevron{transform:rotate(180deg)}
  .menu-cat-body, .collapsible-body{
    display:grid;grid-template-rows:0fr;opacity:0;
    transition:opacity .28s ease;
  }
  .menu-cat:not(.open) .menu-cat-body,
  .collapsible:not(.open) .collapsible-body{transition:none}
  .menu-cat.open .menu-cat-body, .collapsible.open .collapsible-body{grid-template-rows:1fr;opacity:1}
  .menu-cat-body-inner, .collapsible-body-inner{
    overflow:hidden;min-height:0;transform:translateY(-10px);
    transition:transform .28s cubic-bezier(.22,1,.36,1);
  }
  .menu-cat.open .menu-cat-body-inner,
  .collapsible.open .collapsible-body-inner{transform:translateY(0)}
  .menu-cat:not(.open) .menu-cat-header > p,
  .collapsible:not(.open) .collapsible-header > p{display:none}

  .menu-cat > .cat-decor, .collapsible > .cat-decor{display:none}

  .collapsible:not(.open),.menu-cat:not(.open){
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .collapsible.open,.menu-cat.open{
    padding-top:48px!important;
    padding-bottom:58px!important;
  }
  .menu-cat.open .menu-cat-body-inner>:first-child,
  .collapsible.open .collapsible-body-inner>:first-child{
    margin-top:24px!important;
    padding-top:24px!important;
  }
}

/* Real iOS viewport fallback for the dc runtime's inflated layout viewport. */
:root.visual-mobile .menu-cat-header,
:root.visual-mobile .collapsible-header{
  cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  -webkit-tap-highlight-color:transparent;
}
:root.visual-mobile .menu-cat-chevron,
:root.visual-mobile .collapsible-chevron{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;margin-top:2px;
  font-size:17px;color:#4a6741;border:2px solid currentColor;border-radius:8px;
  transition:transform .3s ease,background-color .3s ease;
}
:root.visual-mobile .menu-cat.open .menu-cat-chevron,
:root.visual-mobile .collapsible.open .collapsible-chevron{transform:rotate(180deg)}
:root.visual-mobile .menu-cat-body,
:root.visual-mobile .collapsible-body{display:grid;grid-template-rows:0fr;opacity:0;transition:opacity .28s ease}
:root.visual-mobile .menu-cat.open .menu-cat-body,
:root.visual-mobile .collapsible.open .collapsible-body{grid-template-rows:1fr;opacity:1}
:root.visual-mobile .menu-cat-body-inner,
:root.visual-mobile .collapsible-body-inner{overflow:hidden;min-height:0;transform:translateY(-10px);transition:transform .28s cubic-bezier(.22,1,.36,1)}
:root.visual-mobile .menu-cat.open .menu-cat-body-inner,
:root.visual-mobile .collapsible.open .collapsible-body-inner{transform:translateY(0)}
:root.visual-mobile .menu-cat:not(.open) .menu-cat-header>p,
:root.visual-mobile .collapsible:not(.open) .collapsible-header>p,
:root.visual-mobile .menu-cat>.cat-decor,
:root.visual-mobile .collapsible>.cat-decor{display:none}
:root.visual-mobile .collapsible:not(.open),
:root.visual-mobile .menu-cat:not(.open){padding-top:28px!important;padding-bottom:28px!important}
:root.visual-mobile .collapsible.open,
:root.visual-mobile .menu-cat.open{padding-top:40px!important;padding-bottom:48px!important}
:root.visual-mobile .wheel-nav{display:block;position:fixed;inset:0;z-index:999998;pointer-events:none}

.wheel-nav{display:none}
@media (max-width:720px), (max-device-width:720px){
  .wheel-nav{display:block;position:fixed;inset:0;z-index:999998;pointer-events:none}

  .wheel-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none}

  .wheel-backdrop{position:absolute;inset:0;background:rgba(35,38,31,.35);opacity:0;pointer-events:none;transition:opacity .3s ease}
  .wheel-nav.open .wheel-backdrop{opacity:1;pointer-events:auto}

  .wheel-tab{
    position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:1;pointer-events:auto;
    display:flex;flex-direction:column;align-items:center;gap:6px;
    background:#4a6741;color:#ece7d6;border:none;border-radius:10px 0 0 10px;
    padding:16px 8px;font-family:'Press Start 2P',monospace;font-size:13px;
    box-shadow:-3px 3px 0 rgba(0,0,0,.25);cursor:pointer;
    transition:transform .3s ease,right .3s ease;
  }
  .wheel-label{writing-mode:vertical-rl;font-size:9px;letter-spacing:1px}
  .wheel-arrow{transition:transform .3s ease}
  .wheel-nav.open .wheel-arrow{transform:rotate(180deg)}

  .wheel-panel{
    position:absolute;top:50%;right:-150px;width:300px;height:300px;
    transform:translateY(-50%) scale(.4);opacity:0;border-radius:50%;
    pointer-events:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;
  }
  .wheel-nav.open .wheel-panel{transform:translateY(-50%) scale(1);opacity:1;pointer-events:auto}

  .wheel-canvas{position:absolute;inset:0;width:100%;height:100%}
  .wheel-items{position:absolute;inset:0}

  .wheel-item{
    position:absolute;top:calc(50% + var(--y,0px));left:calc(50% + var(--x,0px));
    transform:translate(calc(-100% - 6px),-50%) scale(.3);opacity:0;
    background:#ece7d6;color:#23261f;border:2px solid #23261f;border-radius:8px;
    padding:9px 12px;font-family:'Press Start 2P',monospace;font-size:9px;white-space:nowrap;
    box-shadow:3px 3px 0 #23261f;pointer-events:none;
    transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;
  }
  .wheel-nav.open .wheel-item{opacity:1;transform:translate(calc(-100% - 6px),-50%) scale(1);pointer-events:auto}
}
