/* Sakura Sort is isolated from the city UI. Nothing here styles bare elements
   or existing object-panel selectors. No fonts, images or network requests. */
.tidy-shell{
  --tidy-ink:#353342;--tidy-muted:#716b78;--tidy-paper:#fcf8ed;--tidy-lilac:#dfd5ed;
  --tidy-coral:#d77d6b;--tidy-green:#638878;--tidy-line:#d9cfbd;
  position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;
  box-sizing:border-box;background:#192823c9;backdrop-filter:blur(7px);
  color:var(--tidy-ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overscroll-behavior:contain;isolation:isolate;
}
.tidy-shell[hidden],.tidy-shell [hidden]{display:none!important}
.tidy-shell *{box-sizing:border-box}
.tidy-shell button,.tidy-shell select{font:inherit;color:inherit}
.tidy-shell button{min-height:44px;min-width:44px;border:1px solid var(--tidy-line);border-radius:9px;background:#fffdf6;padding:9px 14px;cursor:pointer;touch-action:manipulation;line-height:1.3}
.tidy-shell button:hover:not(:disabled){background:#eee7f5;border-color:#a494b5}
.tidy-shell button:disabled{opacity:.46;cursor:default}
.tidy-shell :focus-visible{outline:3px solid #785d94;outline-offset:3px}
.tidy-shell svg{position:static;inset:auto;display:block;max-width:100%;overflow:visible}
.tidy-shell .tidy-window{display:flex;flex-direction:column;width:min(1100px,100%);max-height:calc(100dvh - 48px);overflow:hidden;border:1px solid #fff9e780;border-radius:20px;background:var(--tidy-paper);box-shadow:0 30px 100px #0b1c1755;overscroll-behavior:contain}
.tidy-shell .tidy-scroll{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#b3a3bf #f7f1e5;overscroll-behavior:contain}
.tidy-shell .tidy-header,.tidy-shell .tidy-chapterbar,.tidy-shell .tidy-toolbar{flex-shrink:0}
.tidy-shell .tidy-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 30px 20px;border-bottom:1px solid var(--tidy-line)}
.tidy-shell .tidy-eyebrow{display:block;margin:0 0 4px;font-size:10px;font-weight:750;letter-spacing:.19em;text-transform:uppercase;color:#706877}
.tidy-shell h1{margin:0;font:normal clamp(28px,3vw,38px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.tidy-shell .tidy-tagline{margin:7px 0 0;font-size:12px;color:var(--tidy-muted)}
.tidy-shell .tidy-close{display:flex;align-items:center;gap:7px;flex:none;background:transparent;border-color:#d6ccbb;padding:8px 12px}
.tidy-shell .tidy-close svg{width:16px;height:16px}
.tidy-shell .tidy-header-actions{display:flex;align-items:center;gap:14px}
.tidy-shell .tidy-progress-label{font-size:11px;color:var(--tidy-muted);text-align:right}
.tidy-shell .tidy-progress-label strong{display:block;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--tidy-ink)}
.tidy-shell .tidy-chapterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 30px;background:#f4eedf}
.tidy-shell .tidy-chapterbar label{display:flex;align-items:center;gap:11px;min-width:0;font-size:11px;font-weight:650;letter-spacing:.035em}
.tidy-shell select{max-width:100%;min-width:0;min-height:44px;border:1px solid #cfc3d8;border-radius:8px;background:#fffbf4;padding:8px 34px 8px 12px;font-size:13px}
.tidy-shell .tidy-no-rush{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;color:#5b7667}
.tidy-shell .tidy-no-rush::before{content:"";width:6px;height:6px;border-radius:50%;background:#7b9b88}
.tidy-shell .tidy-content{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;padding:24px 30px 14px}
.tidy-shell .tidy-workspace,.tidy-shell .tidy-delivery{min-width:0}
.tidy-shell .tidy-level-heading{display:flex;align-items:start;gap:12px;margin:0 0 8px}
.tidy-shell .tidy-level-number{display:grid;place-items:center;min-width:37px;height:37px;border-radius:50%;border:1px solid #c6b7d4;background:#e9e0f1;color:#685678;font:18px/1 Georgia,serif}
.tidy-shell h2{margin:0;font:normal 24px/1.15 Georgia,serif;letter-spacing:-.025em}
.tidy-shell .tidy-level-location{display:block;margin:4px 0 0;color:var(--tidy-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.tidy-shell .tidy-rule{min-height:42px;margin:12px 0 17px;font-size:13px;color:#635d68;line-height:1.55;max-width:58ch;overflow-wrap:anywhere}
.tidy-shell .tidy-board-frame{position:relative;width:min(100%,560px);margin-inline:auto;padding:15px;border:1px solid #c1ae96;border-radius:12px;background:#cbb89b;box-shadow:inset 0 0 0 5px #dfceb2,0 4px 0 #ab967b;user-select:none}
.tidy-shell .tidy-board-label{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#6c5c4e}
.tidy-shell .tidy-board{position:relative;display:grid;grid-template-columns:repeat(var(--tidy-cols),minmax(0,1fr));grid-template-rows:repeat(var(--tidy-rows),minmax(0,1fr));width:100%;aspect-ratio:var(--tidy-cols)/var(--tidy-rows);border:1px solid #b9a38a;border-radius:5px;background:#eadcc4;overflow:visible;touch-action:none}
.tidy-shell .tidy-cell{display:block;position:relative;padding:0;min-width:0;min-height:0;width:100%;height:100%;border:0;border-radius:0;background:transparent;box-shadow:inset -1px -1px #c6b49b70;touch-action:none}
.tidy-shell .tidy-cell:hover:not(:disabled){background:#e4d4ed88;border:0}
.tidy-shell .tidy-cell[data-zone]{background:color-mix(in srgb,var(--tidy-zone-color,#c7bdcf) 22%,transparent)}
.tidy-shell .tidy-cell[data-blocked=true]{background:repeating-linear-gradient(135deg,#baa58e55,#baa58e55 3px,#d5c3aa55 3px,#d5c3aa55 8px);cursor:not-allowed}
.tidy-shell .tidy-cell[data-preview=valid]{background:#8fae9780;box-shadow:inset 0 0 0 2px #688b70}
.tidy-shell .tidy-cell[data-preview=invalid]{background:#db9b8f85;box-shadow:inset 0 0 0 2px #b96d62}
.tidy-shell .tidy-cell[data-hint=true]{background:#ddd3eeaa;box-shadow:inset 0 0 0 2px #8c739f}
.tidy-shell .tidy-cell[data-cursor=true]::after{content:"";position:absolute;inset:5px;border:2px dashed #6b557d;border-radius:4px;pointer-events:none}
.tidy-shell .tidy-board-piece{position:absolute;z-index:2;margin:0;padding:4px!important;min-height:0;min-width:0;border:0!important;border-radius:5px;background:transparent!important;touch-action:none;cursor:grab}
.tidy-shell .tidy-board-piece:hover:not(:disabled){filter:brightness(1.06);background:#fff7!important}
.tidy-shell .tidy-board-piece[aria-pressed=true]{opacity:.4}
.tidy-shell .tidy-board-piece svg{width:100%;height:calc(100% - 12px);pointer-events:none;filter:drop-shadow(0 3px 1px #77634a38)}
.tidy-shell .tidy-board-piece span{display:block;position:absolute;left:1px;right:1px;bottom:0;max-height:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:13px;font-weight:650;text-align:center;color:#5c4e5e;background:#fbf0d7dc;border-radius:2px;pointer-events:none}
.tidy-shell .tidy-board-piece:focus-visible{outline-offset:-3px}
.tidy-shell .tidy-board-caption{display:flex;justify-content:space-between;gap:10px;margin:13px 0 0;font-size:11px;color:#7c706a}
.tidy-shell .tidy-zone{position:absolute;z-index:1;border:1px dashed #9f8ba9;border-radius:3px;pointer-events:none}
.tidy-shell .tidy-zone span{position:absolute;left:3px;right:3px;top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:13px;color:#796382;letter-spacing:.015em}
.tidy-shell .tidy-board-frame[data-style=drawer]{border-radius:15px;box-shadow:inset 0 0 0 6px #dfceb2,0 5px 0 #ab967b}
.tidy-shell .tidy-board-frame[data-style=window]{background:#b5a8c2;border-color:#9784a8;box-shadow:inset 0 0 0 5px #d4c5de,0 4px 0 #9481a2}
.tidy-shell .tidy-board-frame[data-style=window] .tidy-board{background:#e9dfeb;border-color:#b5a4bf}
.tidy-shell .tidy-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.tidy-shell .tidy-delivery{align-self:start;padding:18px;background:#f0e8f3;border:1px solid #d9ccdf;border-radius:13px}
.tidy-shell .tidy-delivery-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.tidy-shell .tidy-delivery h3{margin:0;font:normal 21px/1.2 Georgia,serif;letter-spacing:-.02em}
.tidy-shell .tidy-crate-tag{display:inline-block;padding:4px 6px;border:1px solid #c7b9d0;border-radius:4px;font:9px/1.2 ui-monospace,monospace;letter-spacing:.08em;color:#766780}
.tidy-shell .tidy-delivery p{margin:0 0 14px;color:#796a83;font-size:11px;line-height:1.5}
.tidy-shell .tidy-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;min-height:80px;padding:10px;border:1px dashed #bdacc8;border-radius:9px;background:#e7dcec;touch-action:pan-y}
.tidy-shell .tidy-tray-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;min-height:92px;padding:7px 4px;border:1px solid #cbbbd2;border-radius:7px;background:#fffaf0;box-shadow:0 2px 0 #c6b8ce;touch-action:none}
.tidy-shell .tidy-tray-item[aria-pressed=true]{border-color:#876899;background:#e4d5ee;box-shadow:0 0 0 2px #b9a0ca}
.tidy-shell .tidy-tray-item svg{width:48px;height:52px;pointer-events:none}
.tidy-shell .tidy-tray-item span{max-width:100%;font-size:9px;font-weight:550;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.tidy-shell .tidy-empty-crate{grid-column:1/-1;align-self:center;text-align:center;color:#806f89;font-size:12px;padding:15px 8px}
.tidy-shell .tidy-selected{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding-top:12px;border-top:1px solid #d4c5dc}
.tidy-shell .tidy-selected-label{font-size:11px;font-weight:600;overflow-wrap:anywhere;min-width:0}
.tidy-shell .tidy-selected-label small{display:block;font-size:10px;font-weight:400;color:#81728b}
.tidy-shell .tidy-rotate{flex-shrink:0;padding:8px 10px;font-size:12px;background:#fbf7ff;border-color:#c2afce}
.tidy-shell .tidy-rotate kbd{font-size:10px;color:#7e6c8a;margin-left:5px}
.tidy-shell .tidy-nudge{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:9px}
.tidy-shell .tidy-nudge button{padding:7px;font-size:14px;min-width:0}
.tidy-shell .tidy-nudge [data-tidy-action=tray],.tidy-shell .tidy-nudge [data-tidy-action=place]{grid-column:span 2;font-size:11px}
.tidy-shell .tidy-key-hint{margin-top:13px!important;margin-bottom:0!important;font-size:10px!important;color:#81758a!important}
.tidy-shell .tidy-key-hint kbd{padding:1px 4px;border:1px solid #ccbcd4;border-radius:3px;font:10px/1.4 inherit;background:#faf3fd}
.tidy-shell .tidy-feedback{display:flex;align-items:center;gap:9px;min-height:42px;margin:3px 30px 0;padding:8px 0;font-size:12px;line-height:1.45;color:#786b7f;overflow-wrap:anywhere}
.tidy-shell .tidy-feedback[data-tone=error]{color:#a44e42}
.tidy-shell .tidy-feedback[data-tone=success]{color:#496e59}
.tidy-shell .tidy-feedback::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:currentColor}
.tidy-shell .tidy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 30px 20px;border-top:1px solid var(--tidy-line)}
.tidy-shell .tidy-history{display:flex;align-items:center;gap:7px}
.tidy-shell .tidy-toolbar button{padding:9px 13px;font-size:12px}
.tidy-shell .tidy-toolbar .tidy-reset{background:transparent}
.tidy-shell .tidy-toolbar .tidy-hint{border-color:#c3aed2;background:#e7dcf1}
.tidy-shell .tidy-save-help{margin:0;padding:0 30px 20px;font-size:10px;color:#807481;line-height:1.5}
.tidy-shell .tidy-primary{border-color:#9c6b5f;background:#d9927d;color:#302c35;font-weight:650}
.tidy-shell .tidy-primary:hover:not(:disabled){background:#e9a58f;border-color:#9c6b5f}
.tidy-shell .tidy-complete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 30px 20px;padding:16px 20px;border:1px solid #a4ba9e;border-radius:12px;background:#e9f0df}
.tidy-shell .tidy-complete h3{margin:0;font:normal 23px/1.2 Georgia,serif;color:#47684e}
.tidy-shell .tidy-complete p{margin:4px 0 0;font-size:12px;color:#657760}
.tidy-shell .tidy-confirm{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:20px;background:#2e25366b;border-radius:20px}
.tidy-shell .tidy-confirm-card{max-width:370px;width:100%;padding:25px;border:1px solid #e4d9c8;border-radius:13px;background:#fffbf0;box-shadow:0 14px 50px #271f3540}
.tidy-shell .tidy-confirm h2{font-size:26px}
.tidy-shell .tidy-confirm p{color:var(--tidy-muted);font-size:13px}
.tidy-shell .tidy-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.tidy-shell .tidy-ghost{position:fixed;z-index:95;pointer-events:none;opacity:.8;filter:drop-shadow(0 5px 5px #30203544)}
.tidy-shell .tidy-ghost svg{width:100%;height:100%}
.tidy-shell[data-paused=true] .tidy-play-area{opacity:.55}
.tidy-shell .tidy-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){
  .tidy-shell{padding:12px}
  .tidy-shell .tidy-window{max-height:calc(100dvh - 24px);border-radius:15px}
  .tidy-shell .tidy-header{padding:18px 18px 15px;gap:10px}
  .tidy-shell h1{font-size:31px}
  .tidy-shell .tidy-tagline{font-size:11px}
  .tidy-shell .tidy-header-actions{gap:8px}
  .tidy-shell .tidy-close{padding:8px;min-width:44px}
  .tidy-shell .tidy-close span{display:none}
  .tidy-shell .tidy-progress-label{font-size:9px}
  .tidy-shell .tidy-progress-label strong{font-size:14px}
  .tidy-shell .tidy-chapterbar{padding:11px 18px;gap:8px}
  .tidy-shell .tidy-chapterbar label{flex:1;gap:8px;min-width:0}
  .tidy-shell .tidy-chapterbar select{width:100%;font-size:12px;padding-left:8px}
  .tidy-shell .tidy-chapterbar label>span{display:none}
  .tidy-shell .tidy-no-rush{font-size:9px}
  .tidy-shell .tidy-content{grid-template-columns:minmax(0,1fr);gap:20px;padding:18px 18px 8px}
  .tidy-shell h2{font-size:23px}
  .tidy-shell .tidy-rule{min-height:0;font-size:12px;margin:10px 0 14px}
  .tidy-shell .tidy-board-frame{padding:10px;border-radius:9px}
  .tidy-shell .tidy-board-label{font-size:10px;margin-bottom:8px;letter-spacing:.015em}
  .tidy-shell .tidy-board-caption{font-size:10px;gap:6px}
  .tidy-shell .tidy-delivery{padding:14px}
  .tidy-shell .tidy-delivery p{margin-bottom:11px}
  .tidy-shell .tidy-tray{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;gap:7px;min-height:76px}
  .tidy-shell .tidy-tray-item{min-height:83px;padding:6px 3px}
  .tidy-shell .tidy-tray-item svg{height:43px;width:43px}
  .tidy-shell .tidy-tray-item span{font-size:8px}
  .tidy-shell .tidy-selected{margin-top:10px;padding-top:9px}
  .tidy-shell .tidy-key-hint{display:none}
  .tidy-shell .tidy-feedback{margin:2px 18px 0;font-size:11px}
  .tidy-shell .tidy-toolbar{gap:7px;padding:13px 18px 17px}
  .tidy-shell .tidy-history{gap:5px}
  .tidy-shell .tidy-toolbar button{padding:8px 10px;font-size:11px}
  .tidy-shell .tidy-save-help{padding:0 18px 16px}
  .tidy-shell .tidy-complete{margin:4px 18px 17px;padding:14px;flex-wrap:wrap}
  .tidy-shell .tidy-complete h3{font-size:22px}
  .tidy-shell .tidy-complete button{width:100%}
}
@media(max-width:360px){
  .tidy-shell .tidy-header,.tidy-shell .tidy-chapterbar{padding-left:13px;padding-right:13px}
  .tidy-shell .tidy-content{padding-left:13px;padding-right:13px}
  .tidy-shell .tidy-toolbar{padding-left:13px;padding-right:13px}
  .tidy-shell .tidy-progress-label{display:none}
  .tidy-shell .tidy-tray{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.tidy-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
