.tbddss-art-panel,.tbddss-art-panel *{box-sizing:border-box;max-width:100%}.tbddss-tool-button .tbddss-tool-icon{font-weight:900;font-size:15px}.tbddss-tool-button .tbddss-sticker-icon{transform:rotate(-10deg)}
.tbddss-art-tool-active .tbdd-size-tool-group,.tbddss-pointer-mode.tbddss-has-objects .tbdd-size-tool-group{display:none!important}.tbddss-sticker-active .tbdd-options>.tbdd-tool-group:first-of-type{opacity:.62}.tbddss-art-panel{display:block}.tbddss-art-panel[hidden]{display:none!important}.tbddss-pack{border:1px solid rgba(46,73,55,.16);border-radius:10px;background:#fffdf7;margin:7px 0;padding:8px}.tbddss-pack.is-locked{background:#f8f3e7}.tbddss-pack-head{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center}.tbddss-pack-head img,.tbddss-pack-placeholder{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#ece4ce;display:flex;align-items:center;justify-content:center;color:#204d39;font-weight:900}.tbddss-pack-head strong{display:block;font-size:11px;line-height:1.15;color:#214936}.tbddss-pack-head small{font-size:8px;letter-spacing:.06em;font-weight:800;color:#8a6a1e}.tbddss-pack-desc{font-size:9px;line-height:1.25;margin:6px 0;color:#555}.tbddss-drag-tip{display:block;font-size:8px;line-height:1.35;color:#5d625d;background:#f3f7f1;border:1px solid #dbe6da;border-radius:8px;padding:6px 7px;margin:5px 0 8px}.tbddss-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.tbddss-asset{position:relative;min-width:0;border:1px solid #d8d2c3;border-radius:8px;background:#fff;padding:4px;cursor:pointer;display:grid;gap:2px;place-items:center}.tbddss-asset:hover,.tbddss-asset:focus-visible{border-color:#2c684b;box-shadow:0 0 0 2px rgba(44,104,75,.12)}.tbddss-asset.is-selected{background:#e5f1e7;border-color:#1d6a49;box-shadow:0 0 0 2px rgba(29,106,73,.14)}.tbddss-asset img{width:34px;height:34px;object-fit:contain;pointer-events:none}.tbddss-asset span{font-size:7px;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbddss-asset em{position:absolute;right:3px;top:2px;font-size:8px;font-style:normal;line-height:1;color:#517160;opacity:.7}.tbddss-dragging-asset .tbddss-asset{cursor:grabbing}.tbddss-unlock{display:block;width:100%;margin-top:7px;border:1px solid #b98b22;border-radius:8px;background:#f4d77e;color:#523b08!important;font-size:9px;font-weight:800;padding:7px;text-align:center;text-decoration:none;cursor:pointer}.tbddss-unlock:hover{background:#f8e3a2}.tbddss-unlock:disabled{opacity:.65;cursor:wait}.tbddss-access-note,.tbddss-no-assets,.tbddss-empty-front{display:block;font-size:9px;line-height:1.3;color:#665f50;padding:7px 2px}.tbddss-art-controls{border-top:1px solid #d7cfbd;margin-top:9px;padding-top:9px}.tbddss-selected{display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center;margin:5px 0 7px}.tbddss-selected img{width:42px;height:42px;object-fit:contain;border:1px solid #ddd5c4;border-radius:8px;background:white}.tbddss-selected strong{font-size:10px;color:#234d3a}.tbddss-selected small{display:block;font-size:8px;line-height:1.2;color:#746b5d;margin-top:2px}.tbddss-art-controls>label{display:grid;grid-template-columns:auto auto;gap:4px;font-size:9px;font-weight:800}.tbddss-art-controls input[type=range]{grid-column:1/-1;width:100%;min-width:0;margin:0}.tbddss-art-controls output{justify-self:end}.tbddss-control-note{display:block;font-size:8px;line-height:1.35;color:#635f57;margin:6px 0}.tbddss-pointer-help{background:#f8f4e9;border:1px solid #e7dcc5;border-radius:8px;padding:7px}.tbddss-object-count{font-size:9px;font-weight:800;color:#285640;background:#eaf3ec;border-radius:8px;padding:7px;margin-top:7px}.tbddss-control-row{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.tbddss-control-row button,.tbddss-full-control{border:1px solid #d1c8b6;background:#fff;border-radius:7px;padding:6px 4px;font-size:8px;font-weight:700;cursor:pointer;min-height:30px}.tbddss-control-row button:hover:not(:disabled),.tbddss-full-control:hover:not(:disabled){background:#f3ecda}.tbddss-control-row button:disabled{opacity:.45}.tbddss-control-row .is-danger{color:#8d251f;border-color:#d9b8b4;background:#fffafa}.tbddss-control-row .is-danger:hover{background:#fbe7e4}.tbddss-full-control{display:block;width:100%;margin-top:5px;color:#25563f}.tbddss-object-selected{background:#fbfaf4;border:1px solid #e3dbc8;border-radius:9px;padding:6px}.tbddss-object-controls{margin-top:4px}

/* Editable object layer: art stays below coloring-sheet linework; selection UI stays above it. */
.tbdd-app .tbdd-line-canvas{z-index:3}.tbddss-object-art-layer,.tbddss-object-control-layer{position:absolute;inset:0;overflow:visible}.tbddss-object-art-layer{z-index:2;pointer-events:none}.tbddss-object-control-layer{z-index:6;pointer-events:none}.tbddss-object-art{position:absolute;box-sizing:border-box;transform-origin:center center;pointer-events:none;user-select:none}.tbddss-object-art img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;transform-origin:center center}.tbddss-pointer-mode .tbddss-object-art{pointer-events:auto;cursor:default;touch-action:none}.tbddss-object-art.is-selected{filter:drop-shadow(0 0 2px rgba(23,106,70,.16))}.tbddss-selection-frame{position:absolute;box-sizing:border-box;border:2px solid #176f4b;outline:1px solid rgba(255,255,255,.9);transform-origin:center center;pointer-events:auto;touch-action:none;cursor:move;box-shadow:0 0 0 1px rgba(23,111,75,.18)}.tbddss-selection-frame[hidden]{display:none!important}.tbddss-selection-name{position:absolute;left:50%;top:calc(100% + 9px);transform:translateX(-50%);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#155c42;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800;line-height:1.2;box-shadow:0 2px 6px rgba(0,0,0,.18);pointer-events:none}.tbddss-resize-handle{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #176f4b;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:auto;touch-action:none}.tbddss-resize-handle.is-nw{left:-7px;top:-7px;cursor:nwse-resize}.tbddss-resize-handle.is-ne{right:-7px;top:-7px;cursor:nesw-resize}.tbddss-resize-handle.is-sw{left:-7px;bottom:-7px;cursor:nesw-resize}.tbddss-resize-handle.is-se{right:-7px;bottom:-7px;cursor:nwse-resize}.tbddss-rotate-stem{position:absolute;left:50%;top:-27px;height:19px;border-left:2px solid #176f4b;transform:translateX(-50%);pointer-events:none}.tbddss-rotate-handle{position:absolute;left:50%;top:-42px;width:25px;height:25px;transform:translateX(-50%);border-radius:50%;border:2px solid #176f4b;background:#fff;color:#176f4b;font-size:14px;line-height:18px;padding:0;display:flex;align-items:center;justify-content:center;cursor:crosshair;touch-action:none;box-shadow:0 1px 5px rgba(0,0,0,.2)}.tbddss-selection-frame.cannot-rotate .tbddss-rotate-stem,.tbddss-selection-frame.cannot-rotate .tbddss-rotate-handle{display:none}.tbdd-canvas-wrap.tbddss-drop-target{outline:4px solid rgba(32,113,78,.75);outline-offset:5px}.tbdd-canvas-wrap.tbddss-drop-target:after{content:'DROP ART HERE';position:absolute;z-index:12;left:50%;top:16px;transform:translateX(-50%);background:#155c42;color:#fff;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:900;letter-spacing:.04em;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}

@media(max-width:900px){.tbddss-asset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tbddss-asset img{width:38px;height:38px}.tbddss-asset span{font-size:8px}.tbddss-resize-handle{width:16px;height:16px}.tbddss-resize-handle.is-nw{left:-9px;top:-9px}.tbddss-resize-handle.is-ne{right:-9px;top:-9px}.tbddss-resize-handle.is-sw{left:-9px;bottom:-9px}.tbddss-resize-handle.is-se{right:-9px;bottom:-9px}.tbddss-rotate-handle{width:29px;height:29px;top:-47px}.tbddss-rotate-stem{top:-31px;height:23px}}
@media(max-width:520px){.tbddss-asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tbddss-selection-name{font-size:7px;max-width:125px}.tbddss-control-row button,.tbddss-full-control{font-size:8px;min-height:34px}}


/* v0.1.3: explicit object-control contrast + automatic stamp-color affordance */
.tbddss-object-controls .tbddss-control-row button,
.tbddss-object-controls .tbddss-full-control{
    color:#243e31!important;
    background:#fffdf8!important;
    border-color:#cfc5b2!important;
    text-shadow:none!important;
    -webkit-text-fill-color:#243e31!important;
}
.tbddss-object-controls .tbddss-control-row button:hover:not(:disabled),
.tbddss-object-controls .tbddss-full-control:hover:not(:disabled){
    color:#173d2b!important;
    background:#f3ecd9!important;
    border-color:#9d8d6c!important;
    -webkit-text-fill-color:#173d2b!important;
}
.tbddss-object-controls .tbddss-control-row button:focus-visible,
.tbddss-object-controls .tbddss-full-control:focus-visible{
    color:#173d2b!important;
    background:#fff8e7!important;
    border-color:#1f6646!important;
    outline:3px solid rgba(31,102,70,.28)!important;
    outline-offset:1px;
    -webkit-text-fill-color:#173d2b!important;
}
.tbddss-object-controls .tbddss-control-row button:active:not(:disabled),
.tbddss-object-controls .tbddss-full-control:active:not(:disabled){
    color:#fff!important;
    background:#286548!important;
    border-color:#1d5239!important;
    -webkit-text-fill-color:#fff!important;
}
.tbddss-object-controls .tbddss-control-row button:disabled,
.tbddss-object-controls .tbddss-full-control:disabled{
    color:#69655d!important;
    background:#eee9df!important;
    border-color:#d8d0c0!important;
    opacity:1!important;
    cursor:not-allowed;
    -webkit-text-fill-color:#69655d!important;
}
.tbddss-object-controls .tbddss-control-row .is-danger{
    color:#7b211c!important;
    background:#fff8f7!important;
    border-color:#d4a9a5!important;
    -webkit-text-fill-color:#7b211c!important;
}
.tbddss-object-controls .tbddss-control-row .is-danger:hover:not(:disabled){
    color:#671710!important;
    background:#fae7e5!important;
    border-color:#c47f79!important;
    -webkit-text-fill-color:#671710!important;
}
.tbddss-auto-color-note{
    display:grid;
    grid-template-columns:18px 1fr;
    gap:7px;
    align-items:start;
    margin-top:6px;
    padding:7px 8px;
    border:1px solid #d7d0bf;
    border-radius:8px;
    background:#f8f5eb;
    color:#334139!important;
    font-size:8px;
    line-height:1.35;
}
.tbddss-auto-color-note strong{color:#214936!important;font-size:8px}
.tbddss-auto-color-dot{
    width:16px;
    height:16px;
    border:2px solid #fff;
    border-radius:50%;
    box-shadow:0 0 0 1px #777;
    margin-top:1px;
}

/* ========================================================================
 * v0.1.5 EDITABLE TEXT + SHAPE OBJECTS
 * ===================================================================== */
.tbddss-object-kind-icon{
    width:42px;height:42px;border:1px solid #d9d0bc;border-radius:8px;background:#fffdf7;
    display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#285640;
    box-sizing:border-box;
}
.tbddss-object-kind-icon.is-text{font-family:Georgia,serif}
.tbddss-object-kind-icon.is-shape{font-size:27px}
.tbddss-shape-fill-note{
    display:grid;gap:2px;margin:7px 0;padding:7px 8px;border:1px solid #d7dfd6;border-radius:8px;
    background:#f4f8f3;color:#33493e;font-size:8px;line-height:1.35;
}
.tbddss-shape-fill-note strong{font-size:9px;color:#214936}
.tbddss-shape-fill-note span{display:block}
.tbddss-object-controls .tbddss-full-control,
.tbddss-object-controls .tbddss-control-row button{
    color:#234d3a!important;background:#fffdf8!important;border-color:#cfc5af!important;
}
.tbddss-object-controls .tbddss-full-control:hover:not(:disabled),
.tbddss-object-controls .tbddss-full-control:focus-visible,
.tbddss-object-controls .tbddss-control-row button:hover:not(:disabled),
.tbddss-object-controls .tbddss-control-row button:focus-visible{
    color:#173f2e!important;background:#f2ead7!important;border-color:#9f8b5e!important;outline:2px solid rgba(34,97,68,.2);outline-offset:1px;
}
.tbddss-object-controls .tbddss-control-row .is-danger{
    color:#7b211d!important;background:#fff8f7!important;border-color:#d4aaa5!important;
}
.tbddss-object-controls .tbddss-control-row .is-danger:hover:not(:disabled),
.tbddss-object-controls .tbddss-control-row .is-danger:focus-visible{
    color:#681813!important;background:#f9e2df!important;border-color:#b97972!important;
}

/* ========================================================================
 * v0.1.6 DOODLE DEPOT ART PACK SHOP
 * ===================================================================== */
.tbddss-shop-launch{
    width:100%;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;
    margin:6px 0 8px;padding:8px 9px;border:1px solid #b8892f;border-radius:10px;background:linear-gradient(145deg,#fff4c9,#f4d77e);
    color:#3f350f!important;-webkit-text-fill-color:#3f350f!important;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(78,57,12,.12)
}
.tbddss-shop-launch>.tbddss-shop-launch-icon{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#175d43;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:15px}
.tbddss-shop-launch strong{font-size:10px;line-height:1.1;color:#244c38!important;-webkit-text-fill-color:#244c38!important}.tbddss-shop-launch small{font-size:7.5px;line-height:1.2;color:#6a5320!important;-webkit-text-fill-color:#6a5320!important}
.tbddss-shop-launch:hover,.tbddss-shop-launch:focus-visible{background:linear-gradient(145deg,#fff8db,#f8e49d);border-color:#8f681f;outline:2px solid rgba(36,96,67,.22);outline-offset:1px}
.tbddss-shop-modal,.tbddss-shop-modal *{box-sizing:border-box}.tbddss-shop-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}.tbddss-shop-modal[hidden]{display:none!important}.tbddss-shop-backdrop{position:absolute;inset:0;background:rgba(18,27,22,.72);backdrop-filter:blur(5px)}
.tbddss-shop-dialog{position:relative;z-index:1;width:min(1040px,96vw);max-height:min(850px,92vh);display:flex;flex-direction:column;overflow:hidden;border:2px solid #584522;border-radius:22px;background:#f8f0df;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.tbddss-shop-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;background:linear-gradient(125deg,#173f31,#1f6c4e);color:#fff}.tbddss-shop-header>div{min-width:0}.tbddss-shop-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#f4d77e!important;-webkit-text-fill-color:#f4d77e!important}.tbddss-shop-header h2{margin:4px 0 4px!important;font-size:30px!important;line-height:1!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.tbddss-shop-header p{max-width:700px;margin:0!important;font-size:12px!important;line-height:1.4!important;color:#eef8f1!important;-webkit-text-fill-color:#eef8f1!important}.tbddss-shop-close{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.55)!important;border-radius:50%!important;background:rgba(255,255,255,.12)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:28px!important;line-height:1!important;padding:0!important;cursor:pointer}.tbddss-shop-close:hover,.tbddss-shop-close:focus-visible{background:#fff!important;color:#1b513a!important;-webkit-text-fill-color:#1b513a!important;outline:3px solid rgba(244,215,126,.45)!important}
.tbddss-shop-account{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;margin:14px 20px 0;padding:10px 12px;border:1px solid #d8c89e;border-radius:12px;background:#fff9e9;color:#3e473f}.tbddss-shop-coin{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e5c45f;color:#24503b;font-weight:900}.tbddss-shop-account strong{display:block;font-size:12px;color:#214936!important;-webkit-text-fill-color:#214936!important}.tbddss-shop-account small{display:block;margin-top:2px;font-size:9px;line-height:1.35;color:#665f50!important;-webkit-text-fill-color:#665f50!important}
.tbddss-shop-tabs{display:flex;gap:8px;padding:14px 20px 0}.tbddss-shop-tabs button{flex:0 0 auto;border:1px solid #cfc2a4!important;border-radius:999px!important;background:#fffdf8!important;color:#35483e!important;-webkit-text-fill-color:#35483e!important;padding:8px 16px!important;font-size:11px!important;font-weight:900!important;cursor:pointer}.tbddss-shop-tabs button:hover,.tbddss-shop-tabs button:focus-visible{background:#f4ecd9!important;border-color:#9c8051!important;color:#173f2e!important;-webkit-text-fill-color:#173f2e!important;outline:2px solid rgba(23,93,67,.18)!important}.tbddss-shop-tabs button.is-active{background:#175d43!important;border-color:#175d43!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.tbddss-shop-body{overflow:auto;padding:16px 20px 22px;overscroll-behavior:contain}.tbddss-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tbddss-shop-card{min-width:0;overflow:hidden;border:1px solid #d9ccb1;border-radius:16px;background:#fffdf8;box-shadow:0 4px 16px rgba(75,57,25,.08)}.tbddss-shop-card.is-locked{background:#fcf9f1}.tbddss-shop-cover{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(145deg,#f3ead5,#e4d4aa);display:flex;align-items:center;justify-content:center}.tbddss-shop-cover>img{width:100%;height:100%;object-fit:cover}.tbddss-shop-cover>span{font-size:18px;font-weight:900;letter-spacing:.12em;color:#6e603d}.tbddss-shop-status{position:absolute;left:10px;bottom:10px;border-radius:999px;padding:5px 8px;background:#fff;color:#34483d;font-size:8px;font-weight:900;letter-spacing:.06em;box-shadow:0 2px 8px rgba(0,0,0,.14)}.tbddss-shop-status.is-owned{background:#185d43;color:#fff}.tbddss-shop-status.is-premium{background:#4c356f;color:#fff}.tbddss-shop-status.is-coins{background:#e6c45d;color:#3d3108}.tbddss-shop-status.is-free,.tbddss-shop-status.is-included{background:#e6f3e8;color:#285640}.tbddss-shop-status.is-locked{background:#eee9df;color:#6b655b}.tbddss-shop-flag{position:absolute;right:10px;top:10px;background:#9b6618;color:#fff;border-radius:999px;padding:5px 8px;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.07em}.tbddss-shop-card-body{padding:13px}.tbddss-shop-card-kicker{font-size:8px;font-weight:900;letter-spacing:.1em;color:#917126}.tbddss-shop-card h3{margin:3px 0 4px!important;font-size:17px!important;line-height:1.15!important;color:#214936!important;-webkit-text-fill-color:#214936!important}.tbddss-shop-card p{min-height:34px;margin:0 0 9px!important;font-size:9px!important;line-height:1.35!important;color:#5e5a51!important;-webkit-text-fill-color:#5e5a51!important}.tbddss-shop-preview{display:flex;gap:5px;min-height:48px;align-items:center;margin-bottom:9px}.tbddss-shop-preview>span{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #ded5c4;border-radius:8px;background:#fff;overflow:hidden}.tbddss-shop-preview img{width:100%;height:100%;object-fit:contain}.tbddss-shop-preview small{font-size:8px;color:#756e61}.tbddss-shop-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.tbddss-shop-meta span{border-radius:999px;background:#f1ecdf;padding:4px 7px;font-size:7.5px;font-weight:800;color:#5c584d}.tbddss-shop-cta{display:flex!important;width:100%!important;min-height:40px!important;align-items:center!important;justify-content:center!important;text-align:center!important;border:1px solid #176044!important;border-radius:10px!important;background:#176044!important;color:#fff!important;-webkit-text-fill-color:#fff!important;padding:8px 10px!important;text-decoration:none!important;font-size:9.5px!important;font-weight:900!important;line-height:1.2!important;cursor:pointer}.tbddss-shop-cta:hover:not(:disabled),.tbddss-shop-cta:focus-visible{background:#0f4e36!important;border-color:#0f4e36!important;color:#fff!important;-webkit-text-fill-color:#fff!important;outline:3px solid rgba(23,96,68,.2)!important;outline-offset:2px}.tbddss-shop-cta.is-buy{background:#e5c45f!important;border-color:#b8892f!important;color:#3d3108!important;-webkit-text-fill-color:#3d3108!important}.tbddss-shop-cta.is-buy:hover,.tbddss-shop-cta.is-buy:focus-visible{background:#f0d77d!important;border-color:#8f681f!important;color:#302606!important;-webkit-text-fill-color:#302606!important}.tbddss-shop-cta:disabled{background:#e7e2d8!important;border-color:#d1c9ba!important;color:#6e685d!important;-webkit-text-fill-color:#6e685d!important;cursor:not-allowed}.tbddss-shop-balance{display:block;margin-top:5px;text-align:center;font-size:8px;color:#6b6559}.tbddss-shop-membership-note{display:grid;gap:2px;min-height:40px;align-content:center;border:1px solid #d4c7dc;border-radius:10px;background:#f5f0f8;padding:8px 10px;color:#493c55}.tbddss-shop-membership-note strong{font-size:9px;color:#493c55!important;-webkit-text-fill-color:#493c55!important}.tbddss-shop-membership-note span{font-size:8px;color:#675d6e!important;-webkit-text-fill-color:#675d6e!important}.tbddss-shop-empty{display:grid;gap:5px;place-items:center;padding:50px 20px;border:1px dashed #cdbf9e;border-radius:14px;background:#fffaf0;text-align:center}.tbddss-shop-empty strong{font-size:15px;color:#214936}.tbddss-shop-empty span{font-size:10px;color:#6b655a}
@media(max-width:900px){.tbddss-shop-modal{padding:14px}.tbddss-shop-dialog{width:min(760px,97vw);max-height:94vh}.tbddss-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tbddss-shop-header{padding:18px}.tbddss-shop-header h2{font-size:25px!important}.tbddss-shop-account{margin:12px 14px 0}.tbddss-shop-tabs{padding:12px 14px 0}.tbddss-shop-body{padding:14px}.tbddss-shop-preview>span{width:40px;height:40px}}
@media(max-width:560px){.tbddss-shop-modal{padding:6px}.tbddss-shop-dialog{width:100%;max-height:96vh;border-radius:16px}.tbddss-shop-header{padding:14px;gap:10px}.tbddss-shop-header h2{font-size:22px!important}.tbddss-shop-header p{font-size:10px!important}.tbddss-shop-close{width:36px;height:36px;font-size:23px!important}.tbddss-shop-account{grid-template-columns:30px 1fr;margin:9px 9px 0;padding:8px}.tbddss-shop-coin{width:30px;height:30px}.tbddss-shop-account strong{font-size:10px}.tbddss-shop-account small{font-size:8px}.tbddss-shop-tabs{gap:5px;padding:9px 9px 0;overflow-x:auto}.tbddss-shop-tabs button{padding:7px 11px!important;font-size:9px!important;white-space:nowrap}.tbddss-shop-body{padding:9px}.tbddss-shop-grid{grid-template-columns:1fr;gap:10px}.tbddss-shop-card{display:grid;grid-template-columns:108px 1fr}.tbddss-shop-cover{aspect-ratio:auto;min-height:100%;height:auto}.tbddss-shop-card-body{padding:10px}.tbddss-shop-card h3{font-size:14px!important}.tbddss-shop-card p{min-height:0;font-size:8.5px!important}.tbddss-shop-preview>span{width:32px;height:32px}.tbddss-shop-meta{margin-bottom:7px}.tbddss-shop-cta{min-height:36px!important;font-size:9px!important}.tbddss-shop-status{left:6px;bottom:6px;font-size:6.5px;padding:4px 6px}.tbddss-shop-flag{right:6px;top:6px;font-size:6px;padding:4px 6px}}
/* v0.1.6 shop-density refinement: preserve full square cover art without forcing giant cards. */
@media(min-width:561px){.tbddss-shop-cover{aspect-ratio:4/3;padding:8px}.tbddss-shop-cover>img{object-fit:contain;border-radius:10px}}
@media(max-height:500px) and (min-width:561px){.tbddss-shop-header{padding:10px 16px}.tbddss-shop-header h2{font-size:21px!important}.tbddss-shop-header p{display:none}.tbddss-shop-account{margin-top:7px;padding:6px 9px}.tbddss-shop-account small{display:none}.tbddss-shop-tabs{padding-top:7px}.tbddss-shop-body{padding-top:8px}.tbddss-shop-cover{aspect-ratio:16/7;padding:5px}}


/* ========================================================================
 * v0.1.7 TABLET ART-PACK RAIL CONTRACT
 *
 * Doodle Core's tablet options deck predates this add-on and places its native
 * groups with nth-child() rules.  The injected art-pack group must therefore
 * declare its own tablet grid position and scrolling behavior instead of
 * inheriting a native slot.  This keeps every eligible Stamp/Sticker Pack
 * reachable on tablet portrait and landscape without changing phone/desktop.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n),
.tbdd-app.tbdd-server-tablet .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n){
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
}
body.tbdd-responsive-tablet.tbdd-orientation-portrait .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n),
.tbdd-app.tbdd-server-tablet.tbdd-orientation-portrait .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n){
    grid-column:1 / -1!important;
    grid-row:auto!important;
    max-height:min(52vh,520px)!important;
    align-self:start!important;
}
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n),
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n){
    display:block!important;
    width:100%!important;
    max-height:500px!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-pack,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-pack{
    break-inside:avoid;
    contain:layout style;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch{
    position:sticky;
    top:0;
    z-index:2;
}
body.tbdd-responsive-tablet .tbddss-shop-body,
.tbdd-app.tbdd-server-tablet .tbddss-shop-body{
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
}


/* ========================================================================
 * v0.1.8 REAL-TABLET ART PACK FIX
 * Uses a compact pack picker on the actual tablet legacy engine so every
 * eligible Stamp/Sticker Pack remains reachable without clipping the rail.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-art-panel,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel {
    overflow: visible !important;
    max-height: none !important;
    touch-action: auto !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel.is-tablet-pack-panel,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel.is-tablet-pack-panel {
    display: block !important;
    padding: 10px !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
    margin: 9px 0 12px !important;
    min-height: 54px !important;
    padding: 10px 12px !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}
.tbddss-tablet-pack-picker {
    display: grid !important;
    gap: 6px !important;
    margin: 10px 0 5px !important;
    color: #4d473d !important;
    -webkit-text-fill-color: #4d473d !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}
.tbddss-tablet-pack-picker select {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 34px 8px 10px !important;
    border: 1px solid #9f8b69 !important;
    border-radius: 9px !important;
    background: #fffdf8 !important;
    background-color: #fffdf8 !important;
    color: #243e31 !important;
    -webkit-text-fill-color: #243e31 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    touch-action: manipulation !important;
}
.tbddss-tablet-pack-picker select:hover,
.tbddss-tablet-pack-picker select:focus,
.tbddss-tablet-pack-picker select:focus-visible {
    background: #f4ecd9 !important;
    background-color: #f4ecd9 !important;
    color: #173d2b !important;
    -webkit-text-fill-color: #173d2b !important;
    border-color: #7a6749 !important;
    outline: 3px solid rgba(211,161,75,.32) !important;
    outline-offset: 1px !important;
}
.tbddss-tablet-pack-count {
    margin: 0 0 9px !important;
    color: #716755 !important;
    -webkit-text-fill-color: #716755 !important;
    font-size: 8px !important;
    font-weight: 800 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-pack,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-pack {
    margin: 8px 0 !important;
    max-height: none !important;
    overflow: visible !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-asset-grid,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-asset-grid {
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
}

/* Theme-proof add-on hover/focus colors. Never allow dark blue with dark text. */
.tbdd-app .tbddss-asset,
.tbdd-app .tbddss-shop-launch,
.tbdd-app .tbddss-control-row button,
.tbdd-app .tbddss-full-control {
    color: #243e31 !important;
    -webkit-text-fill-color: #243e31 !important;
}
.tbdd-app .tbddss-asset:hover,
.tbdd-app .tbddss-asset:focus-visible {
    background: #f3ecda !important;
    background-color: #f3ecda !important;
    color: #173d2b !important;
    -webkit-text-fill-color: #173d2b !important;
    border-color: #756446 !important;
}
.tbdd-app .tbddss-asset:hover *,
.tbdd-app .tbddss-asset:focus-visible * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}
.tbdd-app .tbddss-asset.is-selected,
.tbdd-app .tbddss-asset.is-selected:hover,
.tbdd-app .tbddss-asset.is-selected:focus-visible {
    background: #e5f1e7 !important;
    background-color: #e5f1e7 !important;
    color: #173d2b !important;
    -webkit-text-fill-color: #173d2b !important;
}
body.tbdd-responsive-tablet .tbddss-shop-launch:hover,
body.tbdd-responsive-tablet .tbddss-shop-launch:focus-visible,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:hover,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:focus-visible {
    background: #fff4c9 !important;
    background-color: #fff4c9 !important;
    background-image: none !important;
    border-color: #8f681f !important;
    color: #3f350f !important;
    -webkit-text-fill-color: #3f350f !important;
}
body.tbdd-responsive-tablet .tbddss-shop-launch:hover strong,
body.tbdd-responsive-tablet .tbddss-shop-launch:focus-visible strong,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:hover strong,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:focus-visible strong {
    color: #244c38 !important;
    -webkit-text-fill-color: #244c38 !important;
}
body.tbdd-responsive-tablet .tbddss-shop-launch:hover small,
body.tbdd-responsive-tablet .tbddss-shop-launch:focus-visible small,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:hover small,
.tbdd-app.tbdd-server-tablet .tbddss-shop-launch:focus-visible small {
    color: #6a5320 !important;
    -webkit-text-fill-color: #6a5320 !important;
}

/* The Art Pack Shop modal uses its own scrolling surface on real tablets and
   all controls remain native tappable elements. */
body.tbdd-responsive-tablet .tbddss-shop-modal,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal {
    padding: 10px !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}
body.tbdd-responsive-tablet .tbddss-shop-dialog,
.tbdd-app.tbdd-server-tablet .tbddss-shop-dialog {
    width: min(900px, calc(100vw - 20px)) !important;
    max-height: calc(100dvh - 20px) !important;
}
body.tbdd-responsive-tablet .tbddss-shop-body,
.tbdd-app.tbdd-server-tablet .tbddss-shop-body {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
}
body.tbdd-responsive-tablet .tbddss-shop-tabs button,
body.tbdd-responsive-tablet .tbddss-shop-cta,
body.tbdd-responsive-tablet .tbddss-shop-close,
.tbdd-app.tbdd-server-tablet .tbddss-shop-tabs button,
.tbdd-app.tbdd-server-tablet .tbddss-shop-cta,
.tbdd-app.tbdd-server-tablet .tbddss-shop-close {
    pointer-events: auto !important;
    touch-action: manipulation !important;
}

@media (max-width: 900px) {
    body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-asset-grid,
    .tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-asset-grid {
        grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    }
}

/* ========================================================================
 * v0.1.9 TABLET PACK NAVIGATION / CONTRAST FIX
 * Visible pack tabs replace the unreliable native select on legacy iPad.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-tablet-pack-picker,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-picker {
    display:block!important;
    margin:12px 0 8px!important;
    padding:9px!important;
    border:1px solid #d8cba9!important;
    border-radius:10px!important;
    background:#f8f3e7!important;
    color:#4d473d!important;
    -webkit-text-fill-color:#4d473d!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-label,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-label {
    display:block!important;
    margin:0 0 7px!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:900!important;
    color:#4d473d!important;
    -webkit-text-fill-color:#4d473d!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-buttons,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-buttons {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    width:100%!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button {
    box-sizing:border-box!important;
    flex:1 1 120px!important;
    min-width:0!important;
    min-height:48px!important;
    padding:7px 9px!important;
    border:1px solid #b9a982!important;
    border-radius:9px!important;
    background:#fffdf8!important;
    background-image:none!important;
    color:#273c31!important;
    -webkit-text-fill-color:#273c31!important;
    text-align:left!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button strong,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button strong {
    display:block!important;
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
    font-size:9px!important;
    line-height:1.15!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button small,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button small {
    display:block!important;
    margin-top:3px!important;
    color:#6d6659!important;
    -webkit-text-fill-color:#6d6659!important;
    font-size:7.5px!important;
    line-height:1.15!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button:hover,
body.tbdd-responsive-tablet .tbddss-tablet-pack-button:focus-visible,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button:hover,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button:focus-visible {
    background:#f3ecda!important;
    background-color:#f3ecda!important;
    background-image:none!important;
    border-color:#786545!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
    outline:2px solid rgba(36,96,67,.18)!important;
    outline-offset:1px!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button.is-active,
body.tbdd-responsive-tablet .tbddss-tablet-pack-button.is-active:hover,
body.tbdd-responsive-tablet .tbddss-tablet-pack-button.is-active:focus-visible,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button.is-active,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button.is-active:hover,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button.is-active:focus-visible {
    background:#e3eee5!important;
    background-color:#e3eee5!important;
    background-image:none!important;
    border-color:#2d694c!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-button:hover *,
body.tbdd-responsive-tablet .tbddss-tablet-pack-button:focus-visible *,
body.tbdd-responsive-tablet .tbddss-tablet-pack-button.is-active *,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button:hover *,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button:focus-visible *,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-button.is-active * {
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
}

/* Theme-proof every add-on button that can appear on tablet. */
body.tbdd-responsive-tablet .tbdd-app button.tbddss-shop-launch:hover,
body.tbdd-responsive-tablet .tbdd-app button.tbddss-shop-launch:focus-visible,
body.tbdd-responsive-tablet .tbdd-app button.tbddss-asset:hover,
body.tbdd-responsive-tablet .tbdd-app button.tbddss-asset:focus-visible,
body.tbdd-responsive-tablet .tbdd-app .tbddss-control-row button:hover:not(:disabled),
body.tbdd-responsive-tablet .tbdd-app .tbddss-control-row button:focus-visible:not(:disabled),
body.tbdd-responsive-tablet .tbdd-app button.tbddss-full-control:hover:not(:disabled),
body.tbdd-responsive-tablet .tbdd-app button.tbddss-full-control:focus-visible:not(:disabled),
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-tabs button:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-tabs button:focus-visible,
body.tbdd-responsive-tablet .tbdd-app button.tbddss-shop-cta:hover:not(:disabled),
body.tbdd-responsive-tablet .tbdd-app button.tbddss-shop-cta:focus-visible:not(:disabled) {
    background:#f3ecda!important;
    background-color:#f3ecda!important;
    background-image:none!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
    border-color:#786545!important;
}
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-tabs button.is-active,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-tabs button.is-active:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-tabs button.is-active:focus-visible {
    background:#175d43!important;
    background-color:#175d43!important;
    background-image:none!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    border-color:#175d43!important;
}


/* ========================================================================
 * v0.2.0 REAL TABLET PACK-CATALOG / CONTRAST HARDENING
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-buttons,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-buttons {
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    width:100%!important;
    margin:8px 0 10px!important;
    padding:0!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-button,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-button {
    display:flex!important;
    flex:1 1 132px!important;
    min-width:0!important;
    min-height:48px!important;
    padding:8px 10px!important;
    margin:0!important;
    align-items:flex-start!important;
    justify-content:center!important;
    flex-direction:column!important;
    border:1px solid #9a896c!important;
    border-radius:10px!important;
    background:#fffdf8!important;
    background-image:none!important;
    color:#263c32!important;
    -webkit-text-fill-color:#263c32!important;
    text-align:left!important;
    box-sizing:border-box!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-button:hover,
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-button:focus,
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-button:focus-visible,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-button:hover,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-button:focus,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-button:focus-visible {
    background:#f3ecda!important;
    background-color:#f3ecda!important;
    background-image:none!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
    border-color:#786545!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-tablet-pack-button.is-active,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-tablet-pack-button.is-active {
    background:#e3eee5!important;
    border-color:#2d694c!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch {
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    column-gap:10px!important;
    row-gap:2px!important;
    width:100%!important;
    margin:8px 0 12px!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon { grid-row:1 / span 2!important; align-self:center!important; }
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch strong,
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch small,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch strong,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch small { margin:0!important; padding:0!important; }

/* The WordPress/theme layer must not be able to reintroduce the blue button hover. */
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:hover,
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus,
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus-visible,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:hover,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus-visible {
    background:#f3ecda!important;
    background-color:#f3ecda!important;
    background-image:none!important;
    color:#173d2b!important;
    -webkit-text-fill-color:#173d2b!important;
    text-shadow:none!important;
}
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:hover *,
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus *,
body.tbdd-responsive-tablet .tbdd-app :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus-visible *,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:hover *,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus *,
.tbdd-app.tbdd-server-tablet :is(.tbddss-art-panel,.tbddss-shop-modal) button:focus-visible * {
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
    text-shadow:none!important;
}


/* v0.2.1 tablet hover lock. Kept in the add-on as well as Core so the Art Pack
   UI remains readable regardless of theme stylesheet order. */
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel :is(button,a,[role="button"]):hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal :is(button,a,[role="button"]):hover,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel :is(button,a,[role="button"]):hover,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal :is(button,a,[role="button"]):hover {
    background:#f1eadc!important;
    background-color:#f1eadc!important;
    background-image:none!important;
    color:#23382f!important;
    -webkit-text-fill-color:#23382f!important;
    border-color:#7d6a4c!important;
    text-shadow:none!important;
}
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel :is(button,a,[role="button"]):hover *,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal :is(button,a,[role="button"]):hover *,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel :is(button,a,[role="button"]):hover *,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal :is(button,a,[role="button"]):hover * {
    color:inherit!important;
    -webkit-text-fill-color:inherit!important;
}


/* v0.2.2: a pack does not require uploaded cover artwork. Effective first-asset
   covers use the same sizing rules as explicit pack covers. */
.tbddss-pack-head > img, .tbddss-shop-cover > img { object-fit:cover; }


/* ========================================================================
 * v0.2.3 TABLET ALL-PACK VISIBILITY
 * Render every allowed pack on tablet instead of relying on a one-pack
 * selector. Portrait grows with content; landscape scrolls inside the
 * existing measured Colors & Options rail.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n),
.tbdd-app.tbdd-server-tablet .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n){
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    min-width:0!important;
}
body.tbdd-responsive-tablet.tbdd-orientation-portrait .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n),
.tbdd-app.tbdd-server-tablet.tbdd-orientation-portrait .tbdd-options > .tbdd-tool-group.tbddss-art-panel:nth-child(n){
    grid-column:1 / -1!important;
    grid-row:auto!important;
    width:100%!important;
}
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbdd-options,
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbdd-options{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-pack,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-pack{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    contain:none!important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-count.is-all-packs,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-count.is-all-packs{
    display:block!important;
    margin:8px 0 10px!important;
    padding:7px 9px!important;
    border:1px solid #d8cba9!important;
    border-radius:8px!important;
    background:#f8f3e7!important;
    color:#655d50!important;
    -webkit-text-fill-color:#655d50!important;
}


/* v0.2.4 tablet touch reliability */
body.tbdd-responsive-tablet .tbddss-art-panel button.tbddss-asset,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel button.tbddss-asset,
body.tbdd-responsive-tablet .tbddss-art-panel [data-tbddss-shop-open],
.tbdd-app.tbdd-server-tablet .tbddss-art-panel [data-tbddss-shop-open]{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-user-select:none!important;
    user-select:none!important;
}

/* ========================================================================
 * v0.2.7 LEGACY SAFARI TABLET HARDENING
 * No :is(), no dvh/min() dependency for critical controls.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel button:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel button:focus,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel a:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel a:focus,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel [role="button"]:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel [role="button"]:focus,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal button:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal button:focus,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal a:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal a:focus,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal [role="button"]:hover,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal [role="button"]:focus,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel button:hover,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel button:focus,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel a:hover,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel a:focus,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel [role="button"]:hover,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel [role="button"]:focus,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal button:hover,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal button:focus,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal a:hover,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal a:focus,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal [role="button"]:hover,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal [role="button"]:focus {
    background-color:#f3ecda !important;
    background-image:none !important;
    color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
    text-shadow:none !important;
    border-color:#786545 !important;
}
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel button:hover *,
body.tbdd-responsive-tablet .tbdd-app .tbddss-art-panel button:focus *,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal button:hover *,
body.tbdd-responsive-tablet .tbdd-app .tbddss-shop-modal button:focus *,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel button:hover *,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel button:focus *,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal button:hover *,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal button:focus * {
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
    text-shadow:none !important;
}

body.tbdd-responsive-tablet .tbddss-shop-modal,
.tbdd-app.tbdd-server-tablet .tbddss-shop-modal {
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    height:100vh !important;
    max-width:none !important;
    max-height:none !important;
    overflow:hidden !important;
}
body.tbdd-responsive-tablet .tbddss-shop-dialog,
.tbdd-app.tbdd-server-tablet .tbddss-shop-dialog {
    width:calc(100vw - 20px) !important;
    max-width:900px !important;
    max-height:calc(100vh - 20px) !important;
}

body.tbdd-responsive-tablet .tbddss-art-panel,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel,
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-pack,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-pack {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
}

.tbddss-runtime-proof {
    display:block !important;
    margin:6px 0 10px !important;
    padding:4px 7px !important;
    border-radius:6px !important;
    background:#f7f1e4 !important;
    color:#6a5f4b !important;
    -webkit-text-fill-color:#6a5f4b !important;
    font-size:9px !important;
    line-height:1.25 !important;
}

/* v0.2.7 legacy-Safari global Doodle hover guard without :is(). */
body.tbdd-responsive-tablet .tbdd-app button:not(.tbdd-swatch):not(:disabled):hover,
body.tbdd-responsive-tablet .tbdd-app button:not(.tbdd-swatch):not(:disabled):focus,
body.tbdd-responsive-tablet .tbdd-app a:hover,
body.tbdd-responsive-tablet .tbdd-app a:focus,
body.tbdd-responsive-tablet .tbdd-app [role="button"]:hover,
body.tbdd-responsive-tablet .tbdd-app [role="button"]:focus,
.tbdd-app.tbdd-server-tablet button:not(.tbdd-swatch):not(:disabled):hover,
.tbdd-app.tbdd-server-tablet button:not(.tbdd-swatch):not(:disabled):focus,
.tbdd-app.tbdd-server-tablet a:hover,
.tbdd-app.tbdd-server-tablet a:focus,
.tbdd-app.tbdd-server-tablet [role="button"]:hover,
.tbdd-app.tbdd-server-tablet [role="button"]:focus {
    background-color:#f1eadc !important;
    background-image:none !important;
    color:#23382f !important;
    -webkit-text-fill-color:#23382f !important;
    text-shadow:none !important;
}
body.tbdd-responsive-tablet .tbdd-app button.is-active:hover,
body.tbdd-responsive-tablet .tbdd-app button.is-active:focus,
.tbdd-app.tbdd-server-tablet button.is-active:hover,
.tbdd-app.tbdd-server-tablet button.is-active:focus {
    background-color:#e3eee5 !important;
    background-image:none !important;
    color:#214936 !important;
    -webkit-text-fill-color:#214936 !important;
}


/* ========================================================================
 * v0.2.7 TABLET PACK CHOOSER / SHOP SPACING / OBJECT PINCH RESIZE
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:14px !important;
    min-height:62px !important;
    padding:12px 14px !important;
    margin:10px 0 14px !important;
    text-align:left !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon {
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    line-height:1 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-copy,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-copy {
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px !important;
    line-height:1.2 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch-copy strong,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch-copy strong {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch-copy small,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch-copy small {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:8px !important;
    line-height:1.3 !important;
}

body.tbdd-responsive-tablet .tbddss-tablet-pack-status,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-status {
    display:flex !important;
    align-items:baseline !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin:8px 0 6px !important;
    color:#5f5749 !important;
    -webkit-text-fill-color:#5f5749 !important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-status strong,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-status strong {
    font-size:9px !important;
    line-height:1.2 !important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-status span,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-status span {
    flex:0 0 auto !important;
    font-size:8px !important;
    font-weight:800 !important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-switcher,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-switcher {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    margin:0 0 10px !important;
    padding:2px 1px 7px !important;
    overflow:visible !important;
    touch-action:manipulation !important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-choice,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-choice {
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    max-width:none !important;
    padding:8px 11px !important;
    border:1px solid #c9b98e !important;
    border-radius:9px !important;
    background:#fffaf0 !important;
    background-color:#fffaf0 !important;
    background-image:none !important;
    color:#244c38 !important;
    -webkit-text-fill-color:#244c38 !important;
    font-size:9px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    white-space:normal !important;
    text-align:center !important;
    touch-action:manipulation !important;
}
body.tbdd-responsive-tablet .tbddss-tablet-pack-choice.is-active,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-choice.is-active {
    background:#e3eee5 !important;
    background-color:#e3eee5 !important;
    border-color:#2d694c !important;
    color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
    box-shadow:0 0 0 2px rgba(45,105,76,.12) !important;
}

/* Manipulating a selected object must not zoom the browser page. The JS uses
   non-passive touch listeners for the actual two-finger resize gesture. */
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-object-art.is-selected,
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-selection-frame,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-object-art.is-selected,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-selection-frame {
    touch-action:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-touch-callout:none !important;
}


/* ========================================================================
 * v0.2.7 TABLET OBJECT MANIPULATION + PROFESSIONAL SHOP LAUNCHER
 * Uses physical margins instead of flex gap for legacy Safari/WebKit.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:72px !important;
    padding:14px 16px !important;
    margin:12px 0 16px !important;
    border-radius:12px !important;
    text-align:left !important;
    column-gap:0 !important;
    gap:0 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-icon {
    flex:0 0 38px !important;
    width:38px !important;
    height:38px !important;
    margin:0 18px 0 0 !important;
    padding:0 !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-copy,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch > .tbddss-shop-launch-copy {
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    line-height:1.2 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch-copy strong,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch-copy strong {
    display:block !important;
    margin:0 0 5px !important;
    padding:0 !important;
    font-size:12px !important;
    line-height:1.15 !important;
}
body.tbdd-responsive-tablet .tbddss-art-panel .tbddss-shop-launch-copy small,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel .tbddss-shop-launch-copy small {
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:8.5px !important;
    line-height:1.3 !important;
}
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-resize-handle,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-resize-handle {
    width:22px !important;
    height:22px !important;
    border-width:3px !important;
    touch-action:none !important;
}
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-resize-handle.is-nw,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-resize-handle.is-nw { left:-13px !important; top:-13px !important; }
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-resize-handle.is-ne,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-resize-handle.is-ne { right:-13px !important; top:-13px !important; }
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-resize-handle.is-sw,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-resize-handle.is-sw { left:-13px !important; bottom:-13px !important; }
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-resize-handle.is-se,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-resize-handle.is-se { right:-13px !important; bottom:-13px !important; }
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-rotate-handle,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-rotate-handle {
    width:34px !important;
    height:34px !important;
    top:-56px !important;
    font-size:19px !important;
    line-height:1 !important;
    touch-action:none !important;
}
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-rotate-stem,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-rotate-stem {
    top:-39px !important;
    height:28px !important;
}
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-object-art.is-selected,
body.tbdd-responsive-tablet .tbddss-pointer-mode .tbddss-selection-frame,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-object-art.is-selected,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbddss-selection-frame {
    touch-action:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
    -webkit-touch-callout:none !important;
}


/* ========================================================================
 * v0.2.8 SCALABLE TABLET PACK DROPDOWN
 * Custom control, not a native select. Designed for 30-40+ packs and legacy
 * Safari/WebKit. Physical margins are used instead of flex-gap dependencies.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbddss-tablet-pack-status,
body.tbdd-responsive-tablet .tbddss-tablet-pack-switcher,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-status,
.tbdd-app.tbdd-server-tablet .tbddss-tablet-pack-switcher { display:none !important; }

body.tbdd-responsive-tablet .tbddss-pack-dropdown,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown {
    display:block !important;
    width:100% !important;
    margin:4px 0 12px !important;
    position:relative !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-toggle,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-toggle {
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:60px !important;
    padding:9px 12px !important;
    border:1px solid #c9b98e !important;
    border-radius:12px !important;
    background:#fffdf7 !important;
    background-image:none !important;
    color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
    text-align:left !important;
    box-shadow:0 2px 8px rgba(41,58,45,.08) !important;
    touch-action:manipulation !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-toggle[aria-expanded="true"],
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-toggle[aria-expanded="true"] {
    border-color:#2d694c !important;
    box-shadow:0 0 0 2px rgba(45,105,76,.10) !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-thumb,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-thumb {
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    margin-right:12px !important;
    border-radius:9px !important;
    overflow:hidden !important;
    background:#eee6d3 !important;
    border:1px solid #ddd2b9 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-thumb img,
body.tbdd-responsive-tablet .tbddss-pack-dropdown-placeholder,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-thumb img,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-placeholder {
    display:flex !important; width:100% !important; height:100% !important;
    align-items:center !important; justify-content:center !important;
    object-fit:cover !important; font-weight:900 !important; color:#2b5e45 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-copy,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-copy {
    display:block !important; min-width:0 !important; flex:1 1 auto !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-copy small,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-copy small {
    display:block !important; margin:0 0 3px !important;
    font-size:8px !important; line-height:1.15 !important; font-weight:900 !important;
    letter-spacing:.06em !important; text-transform:uppercase !important; color:#806627 !important;
    -webkit-text-fill-color:#806627 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-copy strong,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-copy strong {
    display:block !important; overflow:hidden !important; text-overflow:ellipsis !important;
    font-size:11px !important; line-height:1.2 !important; color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-copy em,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-copy em {
    display:block !important; margin-top:3px !important; font-style:normal !important;
    font-size:8px !important; line-height:1.15 !important; color:#6c665b !important;
    -webkit-text-fill-color:#6c665b !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-chevron,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-chevron {
    flex:0 0 auto !important; margin-left:10px !important; font-size:20px !important;
    line-height:1 !important; color:#2d694c !important; -webkit-text-fill-color:#2d694c !important;
    transform:translateY(-2px) !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-toggle[aria-expanded="true"] .tbddss-pack-dropdown-chevron,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-toggle[aria-expanded="true"] .tbddss-pack-dropdown-chevron {
    transform:rotate(180deg) translateY(2px) !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-menu,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-menu {
    box-sizing:border-box !important; display:block !important; width:100% !important;
    margin-top:7px !important; padding:7px !important; border:1px solid #cfc1a0 !important;
    border-radius:12px !important; background:#fffdf8 !important;
    box-shadow:0 8px 22px rgba(38,52,43,.15) !important;
    max-height:320px !important; overflow-y:auto !important; overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important; overscroll-behavior:contain !important;
    touch-action:pan-y !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-menu[hidden],
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-menu[hidden] { display:none !important; }
body.tbdd-responsive-tablet .tbddss-pack-search-wrap,
.tbdd-app.tbdd-server-tablet .tbddss-pack-search-wrap {
    position:sticky !important; top:-7px !important; z-index:2 !important;
    margin:-1px -1px 7px !important; padding:6px !important; background:#fffdf8 !important;
    border-bottom:1px solid #eee4cf !important;
}
body.tbdd-responsive-tablet .tbddss-pack-search,
.tbdd-app.tbdd-server-tablet .tbddss-pack-search {
    box-sizing:border-box !important; display:block !important; width:100% !important;
    min-height:42px !important; margin:0 !important; padding:8px 10px !important;
    border:1px solid #c7b98f !important; border-radius:9px !important; background:#fff !important;
    color:#173d2b !important; -webkit-text-fill-color:#173d2b !important;
    font-size:11px !important; line-height:1.2 !important; box-shadow:none !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-option,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-option {
    box-sizing:border-box !important; display:flex !important; align-items:center !important;
    width:100% !important; min-height:52px !important; margin:0 0 5px !important;
    padding:6px 8px !important; border:1px solid transparent !important; border-radius:9px !important;
    background:#fffaf1 !important; background-image:none !important; color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important; text-align:left !important;
    touch-action:manipulation !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-option:last-child,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-option:last-child { margin-bottom:0 !important; }
body.tbdd-responsive-tablet .tbddss-pack-dropdown-option.is-active,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-option.is-active {
    border-color:#2d694c !important; background:#e6f0e8 !important; color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
}
body.tbdd-responsive-tablet .tbddss-pack-option-thumb,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-thumb {
    flex:0 0 36px !important; width:36px !important; height:36px !important;
    margin-right:10px !important; border-radius:8px !important; overflow:hidden !important;
    background:#eee6d3 !important; border:1px solid #ddd2b9 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-option-thumb img,
body.tbdd-responsive-tablet .tbddss-pack-option-placeholder,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-thumb img,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-placeholder {
    display:flex !important; width:100% !important; height:100% !important;
    align-items:center !important; justify-content:center !important; object-fit:cover !important;
    font-weight:900 !important; color:#2b5e45 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-option-copy,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-copy { min-width:0 !important; flex:1 1 auto !important; display:block !important; }
body.tbdd-responsive-tablet .tbddss-pack-option-copy strong,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-copy strong {
    display:block !important; font-size:10px !important; line-height:1.2 !important;
    white-space:normal !important; overflow-wrap:anywhere !important; color:#173d2b !important;
    -webkit-text-fill-color:#173d2b !important;
}
body.tbdd-responsive-tablet .tbddss-pack-option-copy small,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-copy small {
    display:block !important; margin-top:3px !important; font-size:8px !important; line-height:1.1 !important;
    color:#7b6b44 !important; -webkit-text-fill-color:#7b6b44 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-option-check,
.tbdd-app.tbdd-server-tablet .tbddss-pack-option-check {
    flex:0 0 18px !important; margin-left:8px !important; font-size:15px !important;
    font-weight:900 !important; color:#2d694c !important; -webkit-text-fill-color:#2d694c !important;
}
body.tbdd-responsive-tablet .tbddss-pack-search-empty,
.tbdd-app.tbdd-server-tablet .tbddss-pack-search-empty {
    padding:16px 10px !important; text-align:center !important; font-size:10px !important;
    line-height:1.35 !important; color:#6c665b !important; -webkit-text-fill-color:#6c665b !important;
}
body.tbdd-responsive-tablet .tbddss-pack-search-empty[hidden],
.tbdd-app.tbdd-server-tablet .tbddss-pack-search-empty[hidden] { display:none !important; }

/* Narrow landscape tablet rail: keep the chooser compact and internally scrollable. */
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-menu,
body.tbdd-responsive-tablet .tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-menu,
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-menu {
    max-height:230px !important;
}
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-toggle,
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-toggle {
    min-height:58px !important; padding:8px 9px !important;
}
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-thumb,
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-thumb {
    flex-basis:36px !important; width:36px !important; height:36px !important; margin-right:9px !important;
}
body.tbdd-responsive-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-copy strong,
.tbdd-app.tbdd-server-tablet.tbdd-orientation-landscape .tbddss-pack-dropdown-copy strong {
    font-size:10px !important;
}

/* Keep the open custom pack chooser above the artboard in narrow landscape. */
body.tbdd-responsive-tablet .tbddss-art-panel,
.tbdd-app.tbdd-server-tablet .tbddss-art-panel {
    position:relative !important;
    z-index:30 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown {
    z-index:31 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-menu,
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-menu {
    position:relative !important;
    z-index:32 !important;
}
body.tbdd-responsive-tablet .tbddss-pack-dropdown-option[hidden],
.tbdd-app.tbdd-server-tablet .tbddss-pack-dropdown-option[hidden] { display:none !important; }


/* ========================================================================
 * v0.2.9 TABLET CORE TOOL PROTECTION
 * Editable-object layers must never intercept native Doodle drawing tools.
 * The Core canvas keeps native drawing ownership for every non-Pointer tool.
 * ===================================================================== */
body.tbdd-responsive-tablet .tbdd-app:not(.tbddss-pointer-mode) .tbddss-object-art-layer,
body.tbdd-responsive-tablet .tbdd-app:not(.tbddss-pointer-mode) .tbddss-object-control-layer,
body.tbdd-responsive-tablet .tbdd-app:not(.tbddss-pointer-mode) .tbddss-object-art,
body.tbdd-responsive-tablet .tbdd-app:not(.tbddss-pointer-mode) .tbddss-selection-frame,
.tbdd-app.tbdd-server-tablet:not(.tbddss-pointer-mode) .tbddss-object-art-layer,
.tbdd-app.tbdd-server-tablet:not(.tbddss-pointer-mode) .tbddss-object-control-layer,
.tbdd-app.tbdd-server-tablet:not(.tbddss-pointer-mode) .tbddss-object-art,
.tbdd-app.tbdd-server-tablet:not(.tbddss-pointer-mode) .tbddss-selection-frame {
    pointer-events:none !important;
}
body.tbdd-responsive-tablet .tbdd-app:not(.tbddss-pointer-mode) .tbdd-paint-canvas,
.tbdd-app.tbdd-server-tablet:not(.tbddss-pointer-mode) .tbdd-paint-canvas {
    touch-action:none !important;
    -webkit-user-select:none !important;
    user-select:none !important;
}
body.tbdd-responsive-tablet .tbdd-app.tbddss-pointer-mode .tbdd-paint-canvas,
.tbdd-app.tbdd-server-tablet.tbddss-pointer-mode .tbdd-paint-canvas {
    touch-action:auto !important;
}
