/* MindStorm theme closet */
.theme-closet{padding:12px;border:2px dashed #c7add8;background:rgba(255,255,255,.55)}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.theme-choice{min-width:0;padding:7px 7px 8px;border:2px solid #4a3757;background:#fffdf8;color:#342548;box-shadow:2px 2px 0 #d8c2ea;cursor:pointer;text-align:left;font-family:"Comic Sans MS","Comic Sans",cursive;transition:transform .14s,box-shadow .14s}
.theme-choice:hover{transform:translateY(-2px) rotate(-1deg)}
.theme-choice.active{outline:3px solid #f14d98;outline-offset:2px;box-shadow:4px 4px 0 #342548}
.theme-choice strong,.theme-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-choice strong{margin-top:6px;font-size:10px}.theme-choice small{color:#806f8d;font-size:8px}
.theme-swatch{display:grid;place-items:center;height:45px;overflow:hidden;border:1.5px solid #342548;font:900 23px/1 Arial,sans-serif}
.theme-swatch i{font-style:normal;text-shadow:2px 2px 0 rgba(255,255,255,.8)}
.theme-swatch.bubblegum{color:#f43b96;background-color:#f8cde8;background-image:linear-gradient(45deg,rgba(255,255,255,.65) 25%,transparent 25% 75%,rgba(255,255,255,.65) 75%),linear-gradient(45deg,rgba(255,255,255,.65) 25%,transparent 25% 75%,rgba(255,255,255,.65) 75%);background-position:0 0,8px 8px;background-size:16px 16px}
.theme-swatch.midnight{color:#53f5e4;background:radial-gradient(circle at 16% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 82% 65%,#ff4bb3 0 2px,transparent 3px),linear-gradient(135deg,#080612,#27104d 58%,#101b48)}
.theme-swatch.grunge{color:#171414;background:repeating-linear-gradient(-8deg,#eee5d1 0 7px,#1b1919 8px 10px,#f8f2e5 11px 16px)}
.theme-swatch.cyber{color:#ff35bd;background:linear-gradient(120deg,#e8f9fa,#69e5df 35%,#d7d7e7 36% 62%,#a486ff 63%,#ff8ddb)}
.theme-swatch.witchy{color:#f0d08a;background:radial-gradient(circle at 65% 25%,#d5b66e 0 2px,transparent 3px),linear-gradient(135deg,#100b18,#351b4d 55%,#120e1d);text-shadow:1px 1px 0 #000}

/* illustrated theme sticker packs */
.theme-sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.theme-sticker-preview{min-width:0;padding:3px 3px 5px;border:1.5px solid var(--ink);background:#fff;cursor:pointer;overflow:hidden;font:8px "Comic Sans MS","Comic Sans",cursive;color:var(--ink)}
.theme-sticker-preview:hover{transform:translateY(-2px) rotate(-2deg);box-shadow:2px 2px 0 var(--red)}
.theme-sticker-preview span{display:block;width:100%;height:49px;background-repeat:no-repeat;background-size:500% 200%;filter:drop-shadow(0 0 1px #fff)}
.theme-sticker-preview small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px}
.theme-sticker{width:128px;aspect-ratio:var(--theme-sticker-ratio,.8);padding:0;min-width:64px;min-height:64px;filter:drop-shadow(0 0 2px #fff) drop-shadow(3px 4px 2px rgba(35,20,45,.24))}
.theme-sticker .theme-sticker-art{position:absolute;inset:0;width:100%;height:100%;background-repeat:no-repeat;background-size:500% 200%;pointer-events:none}
.theme-bubblegum{--theme-sticker-sheet:url('assets/stickers-bubblegum.png');--theme-sticker-ratio:.729}
.theme-midnight{--theme-sticker-sheet:url('assets/stickers-midnight.png');--theme-sticker-ratio:.6}
.theme-grunge{--theme-sticker-sheet:url('assets/stickers-grunge.png');--theme-sticker-ratio:.8}
.theme-cyber{--theme-sticker-sheet:url('assets/stickers-cyber.png');--theme-sticker-ratio:.6}
.theme-witchy{--theme-sticker-sheet:url('assets/stickers-witchy.png');--theme-sticker-ratio:.8}
.theme-sticker-preview span,.theme-sticker-art{background-image:var(--theme-sticker-sheet)}
.role-arrow span,.role-arrow .theme-sticker-art{background-position:0 0}.role-star span,.role-star .theme-sticker-art{background-position:25% 0}.role-checkmark span,.role-checkmark .theme-sticker-art{background-position:50% 0}.role-featured span,.role-featured .theme-sticker-art{background-position:75% 0}.role-object1 span,.role-object1 .theme-sticker-art{background-position:100% 0}
.role-object2 span,.role-object2 .theme-sticker-art{background-position:0 100%}.role-food span,.role-food .theme-sticker-art{background-position:25% 100%}.role-animal span,.role-animal .theme-sticker-art{background-position:50% 100%}.role-tape span,.role-tape .theme-sticker-art{background-position:75% 100%}.role-word span,.role-word .theme-sticker-art{background-position:100% 100%}
.classic-stickers{border-top:1px dashed #c7add8;padding-top:9px}.classic-stickers summary{cursor:pointer;color:#806f8d;font-size:10px;text-transform:uppercase}.classic-sticker-grid{margin-top:9px}

/* Bubblegum Diary */
.theme-bubblegum{--red:#f14d98;--purple:#7953a9;--ink:#342548;--aqua:#72d7d0;--lavender:#d7c4ed}
.theme-bubblegum .topbar{background:linear-gradient(90deg,#fff8ec,#ffe5f5 50%,#f1e3ff)}
.theme-bubblegum .board-title{background:rgba(255,255,255,.55);border-radius:12px;padding-inline:10px}
.theme-bubblegum .note{border-radius:3px 8px 4px 2px}.theme-bubblegum .note.yellow{background:#fff19a}.theme-bubblegum .note.blue{background:#bff0ec}.theme-bubblegum .note.white{background:#f5ddff}
.theme-bubblegum .canvas:before{content:'✿';position:absolute;left:245px;top:115px;color:rgba(121,83,169,.25);font-size:42px;transform:rotate(13deg);pointer-events:none}

/* Midnight Mixtape */
.theme-midnight{--red:#ff4bab;--purple:#7659ff;--ink:#090713;--aqua:#48f0df;--lavender:#6e4bb8;color-scheme:dark}
.theme-midnight .topbar{background:linear-gradient(90deg,#080611,#21123f,#101b3c);border-bottom:2px solid #48f0df;box-shadow:0 3px 0 #ff4bab}
.theme-midnight .brand,.theme-midnight .board-title{color:#f5efff;text-shadow:2px 2px 0 #ff4bab}.theme-midnight .save-state{color:#48f0df}
.theme-midnight .brand-mark .cloud-puff{background:#28164f;border-color:#48f0df}.theme-midnight .brand-mark{filter:drop-shadow(2px 2px 0 #ff4bab)}
.theme-midnight .account-button,.theme-midnight .history-button{background:#171027;color:#48f0df;border-color:#7659ff;box-shadow:2px 2px 0 #ff4bab}
.theme-midnight .viewport.paper-composition{background-color:#07050f;background-image:radial-gradient(circle at 15% 24%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 68% 35%,rgba(72,240,223,.8) 0 1.5px,transparent 2.5px),radial-gradient(circle at 42% 78%,rgba(255,75,171,.75) 0 1px,transparent 2px),linear-gradient(145deg,transparent 52%,rgba(118,89,255,.12));background-size:83px 73px,129px 117px,101px 91px,auto}
.theme-midnight .canvas:after{content:'▶  side A: songs for plotting after midnight  ★';color:rgba(72,240,223,.6);text-shadow:0 0 7px #48f0df}
.theme-midnight .note{background:#181329!important;color:#f4efff;border:2px solid #7659ff;box-shadow:5px 5px 0 #ff4bab,inset 0 0 24px rgba(72,240,223,.06)}
.theme-midnight .note .eyebrow,.theme-midnight .note [contenteditable]{color:#f4efff}.theme-midnight .note .eyebrow{color:#48f0df}
.theme-midnight .image-card{background:#151020;border-color:#48f0df}.theme-midnight .image-card .caption{color:#ff8acb}
.theme-midnight .link-card{background:#151020;color:#f4efff;border-color:#7659ff;border-left-color:#48f0df;box-shadow:5px 5px 0 #ff4bab}.theme-midnight .link-card .link-domain{color:#48f0df}
.theme-midnight .toolbar{background:#0a0714;border-color:#48f0df;box-shadow:6px 6px 0 #ff4bab}.theme-midnight .tool{color:#d8cfff}.theme-midnight .tool:hover,.theme-midnight .tool.active{background:#ff4bab;color:#fff}
.theme-midnight .zoom-panel{background:#120d22;color:#48f0df;border-color:#7659ff}.theme-midnight .paste-hint,.theme-midnight .paste-hint kbd{color:#48f0df}.theme-midnight .paste-hint kbd{background:#171027;border-color:#7659ff}

/* Grunge Zine */
.theme-grunge{--red:#d9322b;--purple:#242121;--ink:#171515;--aqua:#b8c924;--lavender:#b6aea0}
.theme-grunge .topbar{background:#ded7c7;border-bottom:4px solid #171515;box-shadow:0 2px 0 #d9322b}.theme-grunge .brand,.theme-grunge .board-title,.theme-grunge .save-state{font-family:"Courier New",monospace;color:#171515;text-shadow:none;text-transform:uppercase;font-weight:900}
.theme-grunge .brand-mark{filter:grayscale(1) contrast(1.6) drop-shadow(3px 3px 0 #d9322b)}.theme-grunge .brand-mark .cloud-puff{background:#e9e2d4;border-color:#171515}
.theme-grunge .viewport:not(.paper-composition):not(.paper-memphis):not(.paper-school-supplies):not(.paper-purple-party):not(.paper-electric-confetti):not(.paper-teal-geometry){background-color:#d8d2c5;background-image:radial-gradient(#4a4741 0 .6px,transparent .8px),linear-gradient(92deg,transparent 48%,rgba(25,23,22,.07) 49% 50%,transparent 51%);background-size:5px 5px,93px 100%}
.theme-grunge .canvas:after{content:'CUT  /  COPY  /  PASTE  /  MAKE A MESS';font-family:"Courier New",monospace;color:rgba(20,18,18,.46);font-weight:900;transform:rotate(-2deg)}
.theme-grunge .item{filter:drop-shadow(6px 6px 0 rgba(20,18,18,.38))}.theme-grunge .note{font-family:"Courier New",monospace;border:3px solid #171515;border-radius:0;box-shadow:none;background:#e9dfb5}.theme-grunge .note.blue{background:#c7d8d0}.theme-grunge .note.white{background:#ede8df}.theme-grunge .note .eyebrow{font-family:"Courier New",monospace;color:#d9322b;text-transform:uppercase}
.theme-grunge .image-card{padding:7px 7px 28px;border:3px solid #171515;background:#eee8dc}.theme-grunge .image-card .caption{font-family:"Courier New",monospace;color:#171515;font-weight:900}
.theme-grunge .link-card{font-family:"Courier New",monospace;background:#eee8dc;border:3px solid #171515;border-left:10px solid #d9322b;box-shadow:6px 6px 0 #171515}.theme-grunge .link-card .link-domain{color:#d9322b}
.theme-grunge .toolbar{background:#171515;border-color:#eee8dc;border-radius:0;box-shadow:6px 6px 0 #d9322b}.theme-grunge .tool{font-family:"Courier New",monospace;color:#eee8dc}.theme-grunge .tool:hover,.theme-grunge .tool.active{background:#d9322b}.theme-grunge .zoom-panel{border-radius:0;border:3px solid #171515;background:#e9e2d4;box-shadow:4px 4px 0 #d9322b}

/* Cyber Y2K */
.theme-cyber{--red:#ff3dbb;--purple:#6448d8;--ink:#191433;--aqua:#35e4dc;--lavender:#b9a8ff}
.theme-cyber .topbar{background:linear-gradient(100deg,#d9ffff 0,#f0f1fa 28%,#c5afff 54%,#ff9fda 78%,#72eee5);border-bottom:2px solid #fff;box-shadow:0 3px 0 #6448d8}
.theme-cyber .brand,.theme-cyber .board-title{color:#352079;text-shadow:1px 1px 0 #fff,2px 2px 0 #35e4dc}.theme-cyber .brand-mark{filter:drop-shadow(2px 2px 0 #fff) drop-shadow(4px 4px 0 #ff3dbb)}.theme-cyber .brand-mark .cloud-puff{background:linear-gradient(145deg,#fff,#aef3ef 45%,#beaaff);border-color:#6448d8}
.theme-cyber .canvas:after{content:'✧ WELCOME 2 MY DIGITAL DREAMSPACE ✧';color:rgba(255,255,255,.85);background:rgba(100,72,216,.5);padding:5px 10px;border:1px solid #fff;text-shadow:1px 1px 0 #6448d8;transform:rotate(-1deg)}
.theme-cyber .note{border:2px solid rgba(255,255,255,.9);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(196,242,239,.82))!important;box-shadow:5px 5px 0 #6448d8,inset 0 0 0 2px rgba(53,228,220,.35);backdrop-filter:blur(3px)}
.theme-cyber .note .eyebrow{color:#ff3dbb;text-transform:uppercase}.theme-cyber .image-card{background:linear-gradient(145deg,#fff,#d7fbfa);border:3px ridge #b9a8ff;border-radius:8px}.theme-cyber .image-card .caption{color:#6448d8}
.theme-cyber .link-card{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(210,255,252,.9));border:2px solid #6448d8;border-left:7px solid #ff3dbb;border-radius:10px;box-shadow:5px 5px 0 #35e4dc}.theme-cyber .link-card .link-domain{color:#ff3dbb}
.theme-cyber .toolbar{background:linear-gradient(180deg,#f7ffff,#a7dad8 45%,#7464bc 46%,#382d75);border-color:#fff;box-shadow:0 0 0 2px #6448d8,7px 7px 0 rgba(255,61,187,.65);border-radius:12px}.theme-cyber .tool{color:#fff;text-shadow:1px 1px 0 #352079}.theme-cyber .tool:hover,.theme-cyber .tool.active{background:#ff3dbb;border-radius:8px}.theme-cyber .zoom-panel{background:linear-gradient(145deg,#fff,#b9f3ef);border-color:#6448d8;border-radius:14px;box-shadow:4px 4px 0 #ff3dbb}

/* Witchy Moon */
.theme-witchy{--red:#a9619d;--purple:#5d3b78;--ink:#17111f;--aqua:#8c9b6b;--lavender:#6e4d85;color-scheme:dark}
.theme-witchy .topbar{background:linear-gradient(90deg,#100b18,#2b173c 55%,#171020);border-bottom:2px solid #c9a85f;box-shadow:0 3px 0 #5d3b78}
.theme-witchy .brand,.theme-witchy .board-title{color:#efe0ba;text-shadow:1px 1px 0 #000}.theme-witchy .save-state{color:#c9a85f}.theme-witchy .brand-mark{filter:drop-shadow(2px 2px 0 #000) drop-shadow(0 0 5px #8d65a8)}.theme-witchy .brand-mark .cloud-puff{background:#342047;border-color:#c9a85f}
.theme-witchy .account-button,.theme-witchy .history-button{background:#21162b;color:#e5cf9b;border-color:#c9a85f;box-shadow:2px 2px 0 #5d3b78}
.theme-witchy .viewport.paper-composition{background-color:#110c18;background-image:radial-gradient(circle at 18% 24%,rgba(232,215,166,.55) 0 1px,transparent 2px),radial-gradient(circle at 72% 42%,rgba(167,126,186,.5) 0 1px,transparent 2px),linear-gradient(135deg,transparent 60%,rgba(95,61,120,.13));background-size:97px 83px,137px 121px,auto}
.theme-witchy .canvas:after{content:'☾  notes from the midnight garden  ✦';color:rgba(229,207,155,.55);font-family:Georgia,serif;font-style:italic;text-shadow:0 0 6px #000}
.theme-witchy .note{background:#e7dcc1!important;color:#21182a;border:2px solid #6a4a75;border-radius:2px;box-shadow:5px 5px 0 rgba(13,8,18,.65),inset 0 0 25px rgba(95,61,120,.1);font-family:Georgia,serif}.theme-witchy .note .eyebrow{color:#6b3f73;font-family:Georgia,serif;text-transform:uppercase}.theme-witchy .note [contenteditable]{color:#21182a}
.theme-witchy .image-card{background:#e8dfcb;border:3px double #6b4a78}.theme-witchy .image-card .caption{color:#4c3159;font-family:Georgia,serif;font-style:italic}
.theme-witchy .link-card{background:#201628;color:#efe6d2;border:2px solid #c9a85f;border-left:7px solid #7c4f86;box-shadow:5px 5px 0 #0d0911}.theme-witchy .link-card .link-domain{color:#c9a85f}
.theme-witchy .toolbar{background:linear-gradient(#2e1c3d,#140e1c);border-color:#c9a85f;box-shadow:6px 6px 0 rgba(0,0,0,.55)}.theme-witchy .tool{color:#e8d9b6}.theme-witchy .tool:hover,.theme-witchy .tool.active{background:#6a4379;color:#fff}.theme-witchy .zoom-panel{background:#1d1426;color:#e6d4aa;border-color:#c9a85f;box-shadow:3px 3px 0 #5d3b78}

@media(max-width:720px){.theme-options{grid-template-columns:repeat(4,minmax(72px,1fr));overflow-x:auto;padding:3px}.theme-choice{min-width:88px}.theme-choice small{display:none}}

/* recovery controls */
.rescue-button{border-color:#d1498c;background:#fff0f7;color:#a92f70;box-shadow:3px 3px 0 #f1b7d4}
.rescue-button:hover{background:#ffd9eb}
