@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap");*{margin:0;padding:0;box-sizing:border-box}body,html{min-height:100%}body{position:relative;min-height:100vh;display:block;background:#dce6f2;font-family:VT323,Courier New,monospace;padding:20px;overflow:hidden}body:before{z-index:-2;background:linear-gradient(180deg,rgba(255,229,240,.12),rgba(255,209,225,.2));opacity:1}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{z-index:-1;background:linear-gradient(180deg,rgba(255,236,245,.32),rgba(255,196,216,.42)),radial-gradient(circle at 18% 12%,hsla(0,0%,100%,.28),hsla(0,0%,100%,0) 34%),radial-gradient(circle at 78% 16%,rgba(255,188,214,.22),rgba(255,188,214,0) 42%)}.page{position:relative;z-index:1;width:100%;min-height:calc(100vh - 40px)}.cursor-trail-layer{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}.trail-petal{position:absolute;left:0;top:0;width:var(--size);height:calc(var(--size) * .66);border-radius:65% 35% 55% 45%;background:radial-gradient(circle at 28% 34%,hsl(var(--hue),95%,92%) 0,hsl(var(--hue),82%,76%) 46%,hsl(var(--hue),76%,63%) 100%);box-shadow:0 2px 8px rgba(210,94,147,.3);transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px)) rotate(var(--rot));animation:trailPetalDrift var(--dur) ease-out forwards}.bg-slideshow{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;filter:blur(5px);transform:scale(1.04);transform-origin:center}.bg-slideshow.is-clear{filter:none;transform:none}.bg-slide{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:0;animation:bgFade 24s infinite}.bg-slide-1{background-image:url(/bg-1.png);animation-delay:0s}.bg-slide-2{background-image:url(/bg-2.png);animation-delay:8s}.bg-slide-3{background-image:url(/bg-3.png);animation-delay:16s}.app-shell{min-height:inherit;position:relative;z-index:5}.bg-only-btn{top:16px;border:2px solid rgba(142,49,90,.85);background:linear-gradient(180deg,#ffb4d5,#ef74ab);color:#fff;font-size:12px;font-weight:700;border-radius:0;padding:8px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;box-shadow:3px 3px 0 rgba(108,24,59,.45)}.bg-note,.bg-only-btn{position:fixed;right:16px;z-index:30;font-family:Press Start\ 2P,VT323,Courier New,monospace}.bg-note{top:56px;border:2px solid rgba(140,47,89,.85);background:linear-gradient(180deg,rgba(255,221,236,.96),rgba(248,171,207,.94));color:#6d2c48;font-size:10px;line-height:1.25;padding:6px 8px;text-transform:lowercase;box-shadow:3px 3px 0 rgba(109,33,66,.35);max-width:280px}.mobile-blocker{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;grid-gap:12px;gap:12px;text-align:center;padding:24px;background:#000;color:#fff;font-family:Press Start\ 2P,VT323,Courier New,monospace;text-transform:uppercase}.mobile-blocker p:first-child{font-size:16px;line-height:1.3}.mobile-blocker p:last-child{font-size:11px;line-height:1.4;color:hsla(0,0%,100%,.85)}.romance-overlay{position:fixed;inset:0;pointer-events:none;z-index:0}.heart-layer,.snow-layer{position:absolute;inset:0;overflow:hidden}.snowflake{position:absolute;top:-24px;border-radius:999px;background:hsla(0,0%,100%,.95);box-shadow:0 0 8px hsla(0,0%,100%,.6),0 0 14px hsla(0,0%,100%,.35);animation-name:snowfall;animation-timing-function:linear;animation-iteration-count:infinite}.floating-heart{position:absolute;transform:rotate(45deg);background:hsl(var(--heart-hue),86%,75%);opacity:.36;filter:drop-shadow(0 0 12px hsla(var(--heart-hue),90%,72%,.45));animation-name:heartFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.floating-heart:after,.floating-heart:before{content:"";position:absolute;width:100%;height:100%;border-radius:999px;background:inherit}.floating-heart:before{left:-50%;top:0}.floating-heart:after{left:0;top:-50%}.layout{height:calc(100vh - 40px);width:100%;display:grid;grid-template-columns:minmax(520px,25%) minmax(0,1fr);grid-column-gap:22px;column-gap:22px;overflow:hidden}.left-pane{display:grid;place-items:center;padding:18px 12px 18px 28px;overflow:visible;align-content:center;grid-gap:10px;gap:10px;position:relative;z-index:6}.left-pane:after,.left-pane:before{content:"";position:absolute;pointer-events:none;z-index:-2}.left-pane:before{width:620px;height:620px;border-radius:999px;left:-10px;top:40px;background:radial-gradient(circle,rgba(255,201,226,.58) 0,rgba(255,201,226,.12) 42%,rgba(255,201,226,0) 70%),radial-gradient(circle at 35% 30%,rgba(255,236,246,.5) 0,rgba(255,236,246,0) 62%);filter:blur(12px);animation:bouquetAura 7s ease-in-out infinite}.left-pane:after{width:520px;height:520px;left:48px;top:92px;border-radius:999px;border:2px dashed rgba(246,165,204,.35);box-shadow:0 0 24px rgba(244,152,197,.42),inset 0 0 20px rgba(255,214,234,.35);animation:bouquetRingSpin 22s linear infinite}.bouquet-caption{position:absolute;top:452px;left:50%;transform:translateX(-50%);z-index:88;color:#fff;font-family:Press Start\ 2P,VT323,Courier New,monospace;font-size:14px;line-height:1.15;text-transform:uppercase;text-align:center;text-shadow:0 2px 0 rgba(122,35,73,.72),2px 2px 0 rgba(98,28,59,.8);background:linear-gradient(180deg,rgba(244,113,170,.96),rgba(199,58,117,.97)),repeating-linear-gradient(90deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.2) 5px,rgba(227,110,163,.16) 0,rgba(227,110,163,.16) 10px);border:3px solid rgba(127,30,68,.92);box-shadow:5px 5px 0 rgba(111,29,65,.4),0 0 16px rgba(255,172,215,.5),inset 0 0 0 1px rgba(255,224,240,.35);padding:8px 16px;max-width:430px;border-radius:4px}.right-pane{padding:28px 24px 24px 0;height:100%;display:flex;flex-direction:column;gap:10px;overflow:hidden;z-index:6}.letter-space,.right-pane{image-rendering:pixelated;min-height:0;position:relative}.letter-space{width:100%;height:auto;flex:1 1;border-radius:0;border:3px solid rgba(146,55,95,.92);background:linear-gradient(180deg,rgba(255,238,245,.95),rgba(255,219,233,.93)),repeating-linear-gradient(45deg,rgba(255,202,221,.3),rgba(255,202,221,.3) 8px,rgba(255,181,208,.34) 0,rgba(255,181,208,.34) 16px),repeating-linear-gradient(90deg,rgba(255,248,251,.5),rgba(255,248,251,.5) 8px,rgba(246,179,205,.48) 0,rgba(246,179,205,.48) 16px),repeating-linear-gradient(180deg,transparent 0,transparent 10px,rgba(186,93,129,.28) 0,rgba(186,93,129,.28) 12px);box-shadow:0 0 0 4px rgba(255,191,217,.85),0 0 0 8px rgba(166,63,106,.55),12px 12px 0 rgba(130,38,81,.28);padding:38px 42px;overflow-y:auto;overflow-x:hidden;font-family:VT323,Courier New,monospace}.letter-space:before{content:"";position:absolute;left:0;right:0;top:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(183,116,142,.44) 50%,transparent)}.letter-space:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.06) 2px,rgba(215,128,165,.08) 0,rgba(215,128,165,.08) 4px);opacity:.45}.tab-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;position:relative;z-index:1}.tab-btn{border:2px solid rgba(148,55,95,.7);background:linear-gradient(180deg,#ffd5e7,#f8b9d2);color:#7a2f50;padding:8px 12px;border-radius:0;font-family:Press Start\ 2P,VT323,Courier New,monospace;font-size:11px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;box-shadow:3px 3px 0 rgba(143,56,96,.3);text-shadow:0 1px 0 hsla(0,0%,100%,.45)}.tab-btn.is-active{background:linear-gradient(180deg,#ea5a98,#bb336d);color:#fff;border-color:rgba(121,31,67,.9);box-shadow:3px 3px 0 rgba(113,29,62,.45);text-shadow:0 1px 0 rgba(115,30,63,.8)}.tab-panel{position:relative;z-index:1}.arcade-icons{display:flex;gap:10px;margin-bottom:12px}.arcade-icons span{display:inline-grid;place-items:center;width:24px;height:24px;border:2px solid rgba(144,46,88,.8);background:linear-gradient(180deg,#ffb5d4,#ef7fb0);color:#fff;font-size:13px;line-height:1;text-shadow:0 1px 0 rgba(128,36,79,.55);box-shadow:3px 3px 0 rgba(126,37,78,.35)}.panel-title{color:#7b2a4a;font-size:24px;line-height:1.2;font-weight:700;text-transform:uppercase;text-shadow:2px 2px 0 rgba(255,199,222,.75);font-family:Press Start\ 2P,VT323,Courier New,monospace}.panel-subtitle{color:#a15d78;margin-top:8px;margin-bottom:16px;font-size:29px;line-height:1.05}.letter-space h1{color:#7b2a4a;font-size:38px;line-height:1.05;letter-spacing:.03em;margin-top:6px}.letter-kicker,.letter-space h1{font-weight:700;text-transform:uppercase;font-family:Press Start\ 2P,VT323,Courier New,monospace}.letter-kicker{color:#ab5474;letter-spacing:.2em;font-size:12px}.letter-date{margin-top:8px;color:#a4617b;font-style:normal;font-size:28px}.letter-content{margin-top:34px;max-width:72ch}.letter-content p{color:#653247;font-size:34px;line-height:1.05;margin-bottom:16px}.spotify-card{margin-top:18px;padding:10px;border-radius:0;border:2px solid rgba(158,62,102,.7);background:rgba(255,223,237,.82);box-shadow:4px 4px 0 rgba(146,59,99,.28)}.right-footer-player{flex:0 0 auto}.right-footer-player .spotify-card{margin-top:0;padding:8px;max-width:520px}.right-footer-player .spotify-embed{height:92px}.spotify-label{color:#7c3351;font-size:18px;font-weight:700;margin-bottom:8px;font-family:Press Start\ 2P,VT323,Courier New,monospace}.spotify-embed{width:100%;height:152px;border:0;border-radius:0}.board-panel,.drawer-panel,.friendly-panel,.music-panel,.photo-booth{margin-top:8px;border:2px solid rgba(167,74,113,.55);padding:12px;background:linear-gradient(180deg,rgba(255,237,245,.8),rgba(255,220,233,.7)),repeating-linear-gradient(90deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.12) 6px,rgba(237,160,193,.14) 0,rgba(237,160,193,.14) 12px);box-shadow:5px 5px 0 rgba(140,49,88,.24)}.board-panel{border:4px solid #9aa4ad;background:linear-gradient(180deg,#fff,#f8fbff),repeating-linear-gradient(180deg,rgba(38,76,109,.08) 0,rgba(38,76,109,.08) 2px,transparent 0,transparent 46px);box-shadow:0 0 0 6px #d9dfe5,10px 10px 0 rgba(72,84,97,.24)}.board-panel .panel-title{color:#2f4f67;text-shadow:none}.board-panel .panel-subtitle{color:#3f627c}.gentle-drawers{display:grid;grid-gap:10px;gap:10px;position:relative;z-index:2}.gentle-drawer{border:2px solid rgba(154,66,103,.6);background:rgba(255,240,248,.82);box-shadow:4px 4px 0 rgba(128,45,81,.24)}.drawer-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 20%,rgba(255,200,228,.35),rgba(255,200,228,0) 32%),radial-gradient(circle at 84% 78%,rgba(255,178,216,.26),rgba(255,178,216,0) 35%),linear-gradient(180deg,rgba(255,241,248,.86),rgba(255,223,236,.82))}.drawer-visuals{position:absolute;inset:0;pointer-events:none;z-index:1}.drawer-float{position:absolute;transform:rotate(45deg);background:rgba(246,126,184,.35);box-shadow:0 0 12px rgba(241,115,176,.42);animation:drawerFloat ease-in-out infinite}.drawer-float:after,.drawer-float:before{content:"";position:absolute;width:100%;height:100%;border-radius:999px;background:inherit}.drawer-float:before{left:-50%;top:0}.drawer-float:after{left:0;top:-50%}.gentle-drawer.is-showy{border-color:rgba(179,72,121,.75);box-shadow:6px 6px 0 rgba(118,34,75,.28),0 0 18px rgba(243,122,184,.45)}.gentle-drawer-head{width:100%;border:0;background:linear-gradient(180deg,rgba(255,209,229,.9),rgba(242,162,198,.88));color:#762e4f;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font:inherit;font-size:15px;cursor:pointer}.gentle-drawer.is-open .gentle-drawer-head{background:linear-gradient(180deg,rgba(232,101,157,.9),rgba(179,55,111,.92));color:#fff}.gentle-drawer-body{padding:12px 10px}.gentle-drawer-body p{color:#683247;font-size:25px;line-height:1.08}.drawer-message-pop{animation:drawerPop .36s ease-out}.booth-frame{position:relative;width:min(560px,100%);aspect-ratio:16/10;border:3px solid rgba(152,58,99,.74);border-radius:0;overflow:hidden;background:linear-gradient(180deg,rgba(255,247,250,.8),rgba(248,223,235,.65));box-shadow:5px 5px 0 rgba(142,55,95,.3)}.booth-decor{position:absolute;inset:0;pointer-events:none;z-index:2}.booth-ceiling-lights{position:absolute;top:8px;left:20px;right:20px;display:flex;justify-content:space-between;gap:6px}.booth-ceiling-lights span{width:10px;height:10px;border-radius:999px;background:radial-gradient(circle at 40% 35%,#fff,#ffd9ef 65%,#f07db7);box-shadow:0 0 10px rgba(255,168,218,.95),0 0 18px rgba(255,118,189,.6);animation:boothBlink 2.2s steps(2) infinite}.booth-ceiling-lights span:nth-child(3n){animation-delay:.3s}.booth-ceiling-lights span:nth-child(2n){animation-delay:.65s}.booth-shimmer-wall{position:absolute;inset:18px 20% 22% 20%;border:2px solid rgba(255,205,232,.45);background:linear-gradient(90deg,hsla(0,0%,100%,.13) 1px,transparent 0) 0 0 /10px 10px,linear-gradient(0deg,hsla(0,0%,100%,.13) 1px,transparent 0) 0 0 /10px 10px,linear-gradient(135deg,rgba(255,186,220,.36),rgba(200,98,154,.3),rgba(255,218,238,.34));opacity:.6;mix-blend-mode:screen}.booth-vines{position:absolute;top:0;left:0;right:0;height:24%}.booth-vines span{position:absolute;top:-6px;width:4px;border-radius:999px;background:linear-gradient(180deg,rgba(182,255,214,.8),rgba(138,206,170,.05))}.booth-vines span:after,.booth-vines span:before{content:"";position:absolute;width:14px;height:8px;border-radius:999px;background:rgba(189,255,216,.65)}.booth-vines span:before{top:28%;left:-12px;transform:rotate(-22deg)}.booth-vines span:after{top:52%;left:2px;transform:rotate(22deg)}.booth-vines span:first-child{left:14%;height:74%}.booth-vines span:nth-child(2){left:50%;height:58%}.booth-vines span:nth-child(3){left:84%;height:70%}.booth-spotlight{position:absolute;top:12px;width:42%;height:66%;background:linear-gradient(180deg,rgba(255,210,235,.27),rgba(255,210,235,0));-webkit-clip-path:polygon(50% 0,100% 100%,0 100%);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.58}.booth-spotlight-left{left:-8%;transform:rotate(11deg)}.booth-spotlight-right{right:-8%;transform:rotate(-11deg)}.booth-floor-glow{position:absolute;left:10%;right:10%;bottom:6%;height:16%;border-radius:999px;background:radial-gradient(circle,rgba(255,162,214,.42),rgba(255,162,214,0))}.booth-led-strip{position:absolute;left:16px;right:16px;bottom:10px;height:10px;border:1px solid rgba(255,203,231,.7);background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.84),hsla(0,0%,100%,.84) 8px,rgba(244,121,181,.85) 0,rgba(244,121,181,.85) 16px);box-shadow:0 0 10px rgba(255,135,200,.55)}.camera-view{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-view.filter-warm{filter:saturate(1.25) hue-rotate(-6deg) contrast(1.06)}.camera-view.filter-dreamy{filter:brightness(1.08) saturate(.95) contrast(.92)}.camera-view.filter-retro{filter:sepia(.26) saturate(.85) contrast(1.05)}.camera-view.filter-mono{filter:grayscale(1) contrast(1.1)}.countdown-overlay{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:120px;text-shadow:0 0 12px rgba(255,120,187,.8),6px 6px 0 rgba(133,38,82,.6);background:rgba(116,35,70,.22);z-index:8}.flash-overlay{position:absolute;inset:0;background:hsla(0,0%,100%,.85);z-index:9;animation:flashFade .18s ease-out forwards}.booth-bouquet{position:absolute;width:190px;height:266px;cursor:-webkit-grab;cursor:grab;touch-action:none;z-index:4;transform:rotate(45deg);transform-origin:center center;filter:drop-shadow(0 8px 10px rgba(95,32,60,.35))}.booth-bouquet:active{cursor:-webkit-grabbing;cursor:grabbing}.booth-bouquet-scene{position:relative;width:500px;height:700px;transform:scale(.38);transform-origin:top left;pointer-events:none}.booth-mini-wrapper{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:500px}.booth-mini-wrapper img{width:100%;max-width:none;display:block;margin-left:0;margin-top:0}.booth-mini-flower{position:absolute}.booth-mini-flower img{width:100%;height:100%;object-fit:contain;display:block}.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#9b5874;font-size:30px;line-height:1.05;z-index:3}.hidden-canvas{display:none}.booth-actions,.booth-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.booth-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:#7b2d50;font-size:19px}.booth-toggle input{width:16px;height:16px;accent-color:#d34b83}.camera-error{margin-top:10px;color:#b13a62;font-size:24px;line-height:1.05}@keyframes boothBlink{0%,15%,40%,to{opacity:1}20%,35%{opacity:.45}}.music-controls{margin-bottom:10px}.disco-stage{border:2px solid rgba(164,66,107,.7);background:radial-gradient(circle at 50% -20%,hsla(0,0%,100%,.2),hsla(0,0%,100%,0) 55%),linear-gradient(180deg,rgba(93,30,67,.58),rgba(68,20,49,.72));padding:12px 12px 16px;margin-bottom:12px;box-shadow:inset 0 0 0 2px rgba(255,182,218,.15)}.disco-ball{display:block;width:42px;height:42px;margin:0 auto 10px;border-radius:999px;background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.75),hsla(0,0%,100%,.75) 4px,rgba(241,158,199,.95) 0,rgba(241,158,199,.95) 8px),repeating-linear-gradient(90deg,hsla(0,0%,100%,.64),hsla(0,0%,100%,.64) 4px,rgba(237,123,178,.82) 0,rgba(237,123,178,.82) 8px);box-shadow:0 0 18px rgba(255,123,186,.7),0 0 34px rgba(255,214,236,.42);animation:discoSpin 5s linear infinite}.equalizer{display:flex;align-items:flex-end;gap:4px;height:90px}.eq-bar{width:12px;height:var(--h);background:linear-gradient(180deg,#ffb7da,#ff74ae 45%,#be3f7a);border:1px solid rgba(255,209,230,.45);animation:eqPulse 1.15s ease-in-out infinite;animation-delay:var(--d)}.music-panel.disco-on .disco-stage{box-shadow:inset 0 0 0 2px rgba(255,182,218,.15),0 0 0 2px rgba(237,108,172,.35),0 0 16px rgba(247,124,190,.55)}.board-compose{margin-bottom:12px}.board-input{width:100%;min-height:90px;border:2px dashed rgba(46,83,116,.52);background:rgba(246,251,255,.96);color:#254f6b;font-family:VT323,Courier New,monospace;font-size:31px;line-height:1.1;padding:10px;resize:vertical}.board-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.hidden-file-input{display:none}.board-grid{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.sticker-pack{margin-bottom:12px;border:0;background:transparent;padding:0}.sticker-pack-title{color:#8b2f5a;font-size:22px;line-height:1.05;margin-bottom:8px}.sticker-pack-actions{display:flex;gap:8px;flex-wrap:wrap}.sticker-pick{border:0;background:transparent;display:inline-flex;align-items:center;gap:5px;padding:0;color:#7a2e52;font:inherit;cursor:pointer;filter:drop-shadow(0 2px 0 rgba(128,44,84,.28));transition:transform .12s ease,filter .12s ease}.sticker-pick:hover{transform:translateY(-2px) scale(1.04);filter:drop-shadow(0 4px 0 rgba(128,44,84,.35))}.sticker-pick:active{transform:translateY(0) scale(.99)}.sticker-pick-image{width:30px;height:30px;object-fit:contain;display:block}.sticker-pick-label{font-size:14px;text-transform:uppercase;letter-spacing:.02em;padding:5px 8px 4px;border:2px solid rgba(151,63,102,.62);background:linear-gradient(180deg,rgba(255,224,239,.9),rgba(255,198,226,.85));box-shadow:2px 2px 0 rgba(128,44,84,.22)}.board-sticker-grid{margin-bottom:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px}.board-sticker{border:2px solid rgba(78,94,111,.62);box-shadow:4px 4px 0 rgba(57,74,90,.24);padding:8px;display:grid;grid-gap:6px;gap:6px;justify-items:center}.board-sticker-emoji{font-size:34px;line-height:1}.board-sticker-label{color:#2c4a62;font-size:17px;line-height:1}.sticky-note{border:2px solid rgba(79,95,112,.58);box-shadow:4px 4px 0 rgba(57,73,88,.25);padding:8px;display:flex;flex-direction:column;gap:8px;min-height:150px}.sticky-note textarea{border:0;background:transparent;color:#24495f;font-family:VT323,Courier New,monospace;font-size:30px;line-height:1.05;min-height:92px;resize:vertical}.sticky-note textarea:focus{outline:2px dashed rgba(57,92,122,.45)}.sticky-delete{align-self:flex-end;border:2px solid rgba(142,70,102,.64);background:rgba(255,230,242,.86);color:#7d3257;font:inherit;font-size:11px;text-transform:uppercase;padding:3px 6px;cursor:pointer}.board-tools{margin:8px 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.draw-color-wrap,.draw-size-wrap{display:inline-flex;align-items:center;gap:6px;color:#2c4f67;font-size:15px}.draw-color-wrap input{width:34px;height:28px;border:2px solid rgba(72,92,109,.65);background:transparent;padding:0}.draw-size-wrap input{width:90px}.whiteboard-surface{position:relative;width:100%;min-height:430px;border:6px solid #f4f7fb;background:radial-gradient(circle at 10% 16%,hsla(0,0%,100%,.72),hsla(0,0%,100%,0) 34%),radial-gradient(circle at 84% 72%,rgba(219,235,255,.26),rgba(219,235,255,0) 40%),repeating-linear-gradient(90deg,rgba(105,138,168,.12) 0,rgba(105,138,168,.12) 1px,transparent 0,transparent 28px),repeating-linear-gradient(180deg,rgba(105,138,168,.12) 0,rgba(105,138,168,.12) 1px,transparent 0,transparent 28px),linear-gradient(180deg,hsla(0,0%,100%,.99),rgba(244,249,255,.98));box-shadow:inset 0 0 0 2px rgba(176,196,214,.55),inset 0 -22px 36px rgba(221,233,246,.45),0 10px 24px rgba(67,84,102,.22);overflow:hidden}.whiteboard-surface:before{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:10px;border-radius:999px;background:linear-gradient(180deg,rgba(202,217,233,.95),rgba(171,191,211,.95));box-shadow:0 2px 0 rgba(120,144,168,.5),0 4px 8px rgba(84,105,127,.24);pointer-events:none}.whiteboard-surface:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 22% 30%,rgba(88,124,159,.06),rgba(88,124,159,0) 22%),radial-gradient(circle at 68% 44%,rgba(96,132,164,.05),rgba(96,132,164,0) 25%),linear-gradient(145deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,0))}.whiteboard-surface.is-drawing{cursor:crosshair}.whiteboard-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}.whiteboard-item{position:absolute;z-index:2;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.whiteboard-item.is-note{position:relative;width:170px;min-height:130px;border:1px solid rgba(170,99,126,.58);background:linear-gradient(180deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,0)),repeating-linear-gradient(180deg,rgba(183,112,141,.18) 0,rgba(183,112,141,.18) 1px,transparent 0,transparent 28px);box-shadow:0 12px 16px rgba(102,38,67,.22),3px 3px 0 rgba(148,69,103,.26);padding:10px 10px 8px;display:flex;flex-direction:column;gap:8px}.whiteboard-item.is-note:before{content:"";position:absolute;top:-7px;left:50%;width:62px;height:14px;transform:translateX(-50%) rotate(-2deg);background:linear-gradient(180deg,rgba(255,245,205,.95),hsla(44,80%,80%,.85));border:1px solid rgba(173,136,82,.45);box-shadow:0 1px 2px rgba(102,74,36,.18)}.whiteboard-item.is-note textarea{border:0;background:transparent;color:#6a2e4d;font-family:VT323,Courier New,monospace;font-size:30px;line-height:.95;min-height:88px;resize:none}.whiteboard-item.is-sticker{width:auto;border:0;background:transparent;box-shadow:none;padding:0;display:grid;grid-gap:3px;gap:3px;justify-items:center;filter:drop-shadow(0 4px 6px rgba(111,35,72,.26))}.whiteboard-item.is-sticker .board-sticker-image{width:84px;height:84px;object-fit:contain;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.whiteboard-item.is-sticker .board-sticker-label{color:#7e2f54;font-size:13px;line-height:1;text-transform:uppercase;background:rgba(255,225,239,.8);border:2px solid rgba(153,64,103,.55);box-shadow:2px 2px 0 rgba(128,44,84,.22);padding:3px 6px 2px}.whiteboard-item.is-image{border:2px solid rgba(170,183,197,.88);background:#fff;padding:5px 5px 26px;box-shadow:0 8px 16px rgba(79,97,114,.25),3px 3px 0 rgba(129,146,165,.35)}.whiteboard-item.is-image:before{content:"";position:absolute;top:-8px;left:50%;width:52px;height:13px;transform:translateX(-50%) rotate(-2deg);background:linear-gradient(180deg,rgba(255,247,214,.95),hsla(45,75%,78%,.88));border:1px solid rgba(166,136,74,.48)}.board-image{width:100%;height:100%;object-fit:cover;display:block;border:1px solid rgba(180,193,208,.85);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.whiteboard-item.is-image .sticky-delete{position:absolute;right:4px;bottom:4px}.board-share-row{margin-top:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.board-share-status{color:#8a3a61;font-size:20px;text-transform:uppercase}.snap-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px}.snap-item{border:2px solid rgba(161,66,106,.62);border-radius:0;overflow:hidden;background:rgba(255,232,242,.86)}.snap-item img{width:100%;height:100%;object-fit:cover;display:block}.qa-item{display:grid;grid-gap:6px;gap:6px;margin-top:10px}.qa-item span{color:#7c3351;font-size:24px;font-weight:600;line-height:1.1}.qa-item textarea{width:100%;min-height:82px;border-radius:0;border:2px solid rgba(161,68,107,.58);background:rgba(255,240,247,.92);color:#663346;font:inherit;font-size:27px;line-height:1.05;padding:10px 12px;resize:vertical}.quiz-shell{border:2px solid rgba(170,82,120,.5);background:rgba(255,239,246,.66);padding:10px}.quiz-progress{color:#9d5879;font-size:18px;margin-bottom:8px;text-transform:uppercase}.quiz-slide{margin-top:0}.quiz-slide textarea{min-height:170px;resize:vertical}.quiz-nav{margin-top:10px;display:flex;justify-content:space-between;gap:8px}.quiz-nav .tab-btn:disabled{opacity:.55;cursor:not-allowed}.quiz-dots{margin-top:10px;display:flex;justify-content:center;gap:7px}.quiz-dot{width:9px;height:9px;border:2px solid rgba(160,73,112,.6);background:rgba(255,227,239,.8);box-shadow:2px 2px 0 rgba(130,47,84,.22)}.quiz-dot.is-active{background:linear-gradient(180deg,#ec5d9b,#be346e);border-color:rgba(111,30,62,.8)}.scene{position:relative;width:500px;height:700px;max-width:100%;perspective:900px;margin-left:22px;transform:scale(.92) rotate(-5deg);transform-origin:center bottom}.scene:after,.scene:before{content:"";position:absolute;pointer-events:none;z-index:-1}.scene:before{inset:-60px -70px -50px -70px;background:radial-gradient(circle at 48% 28%,rgba(255,186,218,.45) 0,rgba(255,186,218,0) 52%),radial-gradient(circle at 52% 64%,rgba(247,143,190,.3) 0,rgba(247,143,190,0) 58%),radial-gradient(circle at 33% 45%,rgba(255,229,242,.36) 0,rgba(255,229,242,0) 60%),radial-gradient(circle at 46% 82%,rgba(245,141,189,.3) 0,rgba(245,141,189,0) 54%);filter:blur(18px);animation:bouquetGlowPulse 6s ease-in-out infinite}.scene:after{inset:-22px -18px -24px -20px;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,220,236,.18) 0deg,rgba(255,220,236,.18) 12deg,rgba(240,150,194,.16) 12deg,rgba(240,150,194,.16) 24deg);mix-blend-mode:screen;opacity:.35;animation:bouquetShimmer 11s linear infinite}.flower-tooltip{position:absolute;top:34px;left:245px;transform:translateX(-50%);z-index:80;pointer-events:none;border:2px solid rgba(134,45,84,.86);background:linear-gradient(180deg,rgba(255,211,231,.96),rgba(246,153,194,.94)),repeating-linear-gradient(90deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.2) 5px,rgba(227,122,171,.18) 0,rgba(227,122,171,.18) 10px);color:#6e2b49;font-family:Press Start\ 2P,VT323,Courier New,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:7px 10px;box-shadow:4px 4px 0 rgba(122,34,72,.34);animation:tooltipBlink 7s step-end infinite}.flower-tooltip:after{content:"";position:absolute;left:50%;bottom:-8px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);border-right:2px solid rgba(134,45,84,.86);border-bottom:2px solid rgba(134,45,84,.86);background:rgba(246,153,194,.94)}.flower-name-tip{transform:translate(-50%,-100%);z-index:85;border:2px solid rgba(131,42,79,.9);background:linear-gradient(180deg,rgba(255,224,238,.98),rgba(248,168,207,.96)),repeating-linear-gradient(90deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.2) 6px,rgba(228,122,171,.18) 0,rgba(228,122,171,.18) 12px);color:#6b2a49;font-family:Press Start\ 2P,VT323,Courier New,monospace;font-size:10px;line-height:1.2;text-transform:uppercase;white-space:nowrap;padding:6px 9px;box-shadow:4px 4px 0 rgba(112,34,69,.34)}.flower-name-tip,.wrapper{position:absolute;pointer-events:none}.wrapper{bottom:0;left:50%;transform:translateX(-50%);width:500px}.wrapper img{width:100%;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 20px 30px rgba(89,33,62,.42)) drop-shadow(0 8px 14px rgba(162,84,120,.32)) drop-shadow(0 0 16px rgba(255,179,215,.45))}.flower{position:absolute;border:0;padding:0;background:transparent;cursor:pointer;transform-style:preserve-3d;transform:perspective(850px) rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg));transition:transform .12s linear;outline:none}.flower:focus-visible{filter:drop-shadow(0 0 .4rem rgba(255,255,255,.9))}.flower-art{display:block;width:100%;height:100%;transform:rotate(var(--baseRot));animation:flowerIdle var(--idleDur,5.1s) ease-in-out infinite;animation-delay:var(--idleDelay,0s);transition:transform .26s ease,filter .26s ease;will-change:transform}.flower.is-hovered .flower-art{animation:sway 1.2s ease-in-out infinite alternate;filter:drop-shadow(0 6px 8px rgba(164,45,94,.25))}.flower img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.particle-layer{inset:0;overflow:hidden}.particle,.particle-layer{position:absolute;pointer-events:none}.particle{left:0;top:0;will-change:transform,opacity}.particle.petal{width:var(--size);height:calc(var(--size) * .65);border-radius:65% 35% 55% 45%;background:radial-gradient(circle at 28% 34%,hsl(var(--hue),90%,90%) 0,hsl(var(--hue),75%,71%) 48%,hsl(var(--hue),70%,60%) 100%);box-shadow:0 2px 5px rgba(189,71,109,.2);transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px)) rotate(var(--rot));animation:petalFall var(--dur) cubic-bezier(.21,.7,.2,1) forwards}.particle.sparkle{width:var(--size);height:var(--size);border-radius:999px;background:hsl(var(--hue),95%,78%);transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px));box-shadow:0 0 .2rem hsla(0,0%,100%,.95),0 0 .8rem hsla(var(--hue),90%,62%,.8);animation:sparkleBurst var(--dur) ease-out forwards}@keyframes sway{0%{transform:rotate(calc(var(--baseRot) - 2.6deg)) scale(1.05)}to{transform:rotate(calc(var(--baseRot) + 2.6deg)) scale(1.09)}}@keyframes flowerIdle{0%{transform:translate(0) rotate(calc(var(--baseRot) - calc(var(--idleWobble, 1deg) * .65)))}35%{transform:translate(var(--idleX,.6px),calc(var(--idleY, .6px) * -1)) rotate(calc(var(--baseRot) + var(--idleWobble, 1deg)))}70%{transform:translate(calc(var(--idleX, .6px) * -1),var(--idleY,.6px)) rotate(calc(var(--baseRot) - var(--idleWobble, 1deg)))}to{transform:translate(0) rotate(calc(var(--baseRot) - calc(var(--idleWobble, 1deg) * .65)))}}@keyframes petalFall{0%{opacity:0;transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px)) rotate(var(--rot)) scale(.8)}8%{opacity:.95}to{opacity:0;transform:translate(calc((var(--x) + var(--dx)) * 1px),calc((var(--y) + var(--dy)) * 1px)) rotate(calc(var(--rot) + 220deg)) scale(.55)}}@keyframes sparkleBurst{0%{opacity:0;transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px)) scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(calc((var(--x) + var(--dx)) * 1px),calc((var(--y) + var(--dy)) * 1px)) scale(.08)}}@keyframes snowfall{0%{transform:translate3d(0,-8vh,0)}to{transform:translate3d(var(--drift),110vh,0)}}@keyframes heartFloat{0%{transform:translateZ(0) rotate(45deg) scale(.94);opacity:.25}50%{transform:translate3d(0,-14px,0) rotate(45deg) scale(1.05);opacity:.42}to{transform:translateZ(0) rotate(45deg) scale(.94);opacity:.25}}@keyframes trailPetalDrift{0%{opacity:0;transform:translate(calc(var(--x) * 1px),calc(var(--y) * 1px)) rotate(var(--rot)) scale(.7)}20%{opacity:.95}to{opacity:0;transform:translate(calc((var(--x) + var(--dx)) * 1px),calc((var(--y) + var(--dy)) * 1px)) rotate(calc(var(--rot) + 140deg)) scale(.45)}}@keyframes tooltipBlink{0%{opacity:0}12%{opacity:1}46%{opacity:1}58%{opacity:0}to{opacity:0}}@keyframes bouquetGlowPulse{0%{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}to{opacity:.72;transform:scale(.99)}}@keyframes bouquetShimmer{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bouquetAura{0%{opacity:.72;transform:scale(.97)}50%{opacity:1;transform:scale(1.02)}to{opacity:.74;transform:scale(.98)}}@keyframes bouquetRingSpin{0%{transform:rotate(0deg) scale(.98);opacity:.45}50%{transform:rotate(180deg) scale(1.02);opacity:.7}to{transform:rotate(1turn) scale(.98);opacity:.45}}@keyframes flashFade{0%{opacity:.9}to{opacity:0}}@keyframes discoSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes eqPulse{0%{transform:scaleY(.35);opacity:.68}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(.45);opacity:.74}}@keyframes bgFade{0%{opacity:0}8%{opacity:1}30%{opacity:1}38%{opacity:0}to{opacity:0}}@keyframes drawerFloat{0%{transform:translateY(0) rotate(45deg) scale(.85);opacity:.15}50%{transform:translateY(-10px) rotate(45deg) scale(1);opacity:.42}to{transform:translateY(0) rotate(45deg) scale(.9);opacity:.2}}@keyframes drawerPop{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:560px){.layout{grid-template-columns:1fr;gap:16px}.right-pane{padding:8px 4px}.letter-space{min-height:340px;padding:24px 20px}.letter-space h1{font-size:32px}.letter-content p{font-size:18px;line-height:1.65}.scene{transform:scale(.78) rotate(-4deg);transform-origin:top center;height:574px}}