    #dry-cask-jam { --yard-bg:light-dark(#f8f5e9,#202923); --yard-ink:light-dark(#263c30,#ebeee1); --yard-muted:light-dark(#566852,#b0c0ad); --yard-floor:light-dark(#e3e6d5,#34443a); --yard-tile:light-dark(#f3f2e5,#3f5143); --yard-line:light-dark(#bcc8b0,#637460); --yard-green:light-dark(#377b57,#90cfa1); --yard-gold:light-dark(#a9641d,#e7ad59); --yard-lid:light-dark(#dddccb,#a0ac9c); --yard-cask:light-dark(#b6beaa,#748770); --yard-shadow:light-dark(#839880,#1b2a21); --yard-warning:light-dark(#f3ce73,#c89d42); --yard-danger:light-dark(#ab483e,#f3988c); padding:12px; color:var(--yard-ink); font-family:ui-rounded,system-ui,sans-serif; }
    #dry-cask-jam * { box-sizing:border-box; }
    #dry-cask-jam .is-yard { background:var(--yard-bg); max-width:580px; margin:auto; padding:18px; border-radius:20px; border:1px solid var(--yard-line); }
    #dry-cask-jam .is-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:14px; }
    #dry-cask-jam .is-heading strong { font-size:18px; font-weight:600; }
    #dry-cask-jam .is-caption { color:var(--yard-muted); font-size:12px; }
    #dry-cask-jam .is-delivery { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
    #dry-cask-jam .is-delivery svg { flex:none; width:58px; height:58px; background:var(--yard-floor); border-radius:14px; }
    #dry-cask-jam .is-delivery-text { flex:1; min-width:0; }
    #dry-cask-jam .is-delivery-text strong { display:block; font-size:14px; font-weight:600; }
    #dry-cask-jam .is-delivery-text span { display:block; color:var(--yard-muted); font-size:12px; margin-top:3px; }
    #dry-cask-jam .is-gate-control { display:flex; flex-direction:column; gap:4px; color:var(--yard-muted); font-size:12px; }
    #dry-cask-jam select { font:inherit; font-size:14px; min-height:44px; max-width:115px; padding:8px; background:var(--yard-tile); color:var(--yard-ink); border:1px solid var(--yard-line); border-radius:9px; }
    #dry-cask-jam .is-gates { display:flex; justify-content:space-between; gap:12px; margin:0 8px 6px; font-size:12px; color:var(--yard-muted); }
    #dry-cask-jam button { font:inherit; font-size:14px; color:var(--yard-ink); touch-action:manipulation; }
    #dry-cask-jam [data-active-gate="true"] { color:var(--yard-green); font-weight:600; }
    #dry-cask-jam button:disabled { opacity:.5; }
    #dry-cask-jam .is-board { position:relative; width:100%; aspect-ratio:1; }
    #dry-cask-jam .is-board svg { position:absolute; inset:0; width:100%; height:100%; display:block; }
    #dry-cask-jam .is-cells { position:absolute; inset:4px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(5,minmax(0,1fr)); }
    #dry-cask-jam .is-cell { appearance:none; border:0; background:transparent; border-radius:8px; padding:0; min-width:0; }
    #dry-cask-jam .is-cell:focus-visible { outline:3px solid var(--yard-gold); outline-offset:-4px; }
    #dry-cask-jam .is-exit { text-align:center; font-size:12px; color:var(--yard-muted); padding:4px 0 10px; }
    #dry-cask-jam .is-legend { display:flex; flex-wrap:wrap; gap:16px; align-items:center; font-size:12px; color:var(--yard-muted); }
    #dry-cask-jam .is-key { display:flex; gap:6px; align-items:center; }
    #dry-cask-jam .is-line { display:inline-block; width:22px; border-top:3px solid var(--yard-green); }
    #dry-cask-jam .is-line.is-out { border-top:3px dashed var(--yard-gold); }
    #dry-cask-jam .is-footer { display:flex; flex-direction:column; gap:8px; margin-top:8px; }
    #dry-cask-jam .is-status { font-size:14px; margin:0; min-height:38px; display:flex; align-items:center; }
    #dry-cask-jam .is-status[data-error="true"] { color:var(--yard-danger); }
    #dry-cask-jam .is-place { border:0; background:var(--yard-ink); color:var(--yard-bg); border-radius:12px; padding:12px 18px; min-height:48px; white-space:normal; font-weight:600; }
    #dry-cask-jam .is-helper { color:var(--yard-muted); font-size:12px; text-align:center; min-height:16px; }
    #dry-cask-jam .is-available { color:var(--yard-green); font-size:16px; font-weight:600; }
    #dry-cask-jam .is-restart { border:1px solid var(--yard-line); border-radius:10px; background:var(--yard-tile); min-height:44px; padding:8px 12px; }
    #dry-cask-jam [hidden] { display:none !important; }
    #dry-cask-jam .is-place:disabled { background:var(--yard-floor); color:var(--yard-muted); opacity:1; }
    @media(max-width:390px) { #dry-cask-jam {padding:4px;} #dry-cask-jam .is-yard {padding:12px;} #dry-cask-jam .is-footer {align-items:stretch;flex-direction:column;} }

:root { color-scheme:dark; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#080e0a; color:#e4e9df; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:#c5e79e; text-underline-offset:4px; }
a:focus-visible, summary:focus-visible { outline:2px solid #c5e79e; outline-offset:4px; }
.dcj-topbar { width:min(960px,calc(100% - 32px)); margin:auto; min-height:76px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding:14px 0; border-bottom:1px solid #334139; font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }
.dcj-brand { text-decoration:none; }
.dcj-brand span { color:#9ba69e; }
.dcj-topbar a { padding:8px 0; }
.dcj-shell { width:min(660px,100%); margin:20px auto 0; }
.dcj-page-footer { width:min(960px,calc(100% - 32px)); margin:24px auto 0; padding:18px 0 30px; border-top:1px solid #334139; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; color:#9ba69e; font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.dcj-page-footer p { margin:0; }
.dcj-page-footer p:last-child { flex-basis:100%; }
.dcj-skip { position:absolute; top:8px; left:8px; padding:12px; background:#e4e9df; color:#080e0a; transform:translateY(-180%); z-index:10; }
.dcj-skip:focus { transform:none; }
.dcj-noscript { padding:16px; border:1px solid #c5e79e; margin:12px; }
.dcj-rules { max-width:544px; margin:8px auto 0; padding:0 16px; color:#b8c4b7; font-size:13px; line-height:1.6; }
.dcj-rules summary { padding:12px 0; color:#c5e79e; cursor:pointer; }
.dcj-rules ol { padding-left:22px; }
.dcj-rules li+li { margin-top:7px; }
#dry-cask-jam .cursor-interaction { cursor:pointer; }
#dry-cask-jam button:disabled { cursor:default; }
#dry-cask-jam .is-heading h1 { margin:0; font-size:22px; font-weight:600; line-height:1.25; }
#dry-cask-jam .is-cell { display:block; width:100%; height:100%; align-self:stretch; }
#dry-cask-jam select { font-size:16px; }
@media(max-width:420px) { .dcj-brand span { display:block; } .dcj-shell { margin-top:12px; } }
