:root{--font-family:"DM Mono", monospace;--text:#1a1a1a;--text-dim:#666;--primary:#06c;--primary-hover:#0052a3;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px}body{font-family:var(--font-family);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}.embed-container{padding:var(--spacing-md);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.embed-container-flush{padding:0}.stars-widget{align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.stars-count{font-size:28px;font-weight:500}.star-btn{cursor:pointer;padding:var(--spacing-xs);color:var(--primary);background:0 0;border:none;justify-content:center;align-items:center;font-size:42px;line-height:1;display:flex}.star-btn:hover{color:var(--primary-hover)}.viewcounter-widget{justify-content:center;align-items:center;gap:var(--spacing-md);display:flex}.viewcounter-display{gap:var(--spacing-xs);flex-direction:column;display:flex}.viewcounter-count{font-size:28px;font-weight:500;line-height:1}.viewcounter-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.guestbook-widget{gap:var(--spacing-md);flex-direction:column;width:100%;max-width:600px;height:100%;display:flex}.guestbook-form{gap:var(--spacing-sm);flex-direction:column;flex-shrink:0;display:flex}.guestbook-input,.guestbook-textarea{font-family:var(--font-family);padding:var(--spacing-sm);border:1px solid var(--border);color:var(--text);background:var(--bg);border-radius:4px;font-size:16px}.guestbook-input::placeholder,.guestbook-textarea::placeholder{color:var(--text);opacity:.5}.guestbook-input:focus,.guestbook-textarea:focus{border-color:var(--primary);outline:none}.guestbook-textarea{resize:none;min-height:60px;max-height:120px}.guestbook-btn{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:var(--bg);cursor:pointer;border:none;border-radius:4px;font-size:13px}.guestbook-btn:hover:not(:disabled){background:var(--primary-hover)}.guestbook-btn:disabled{opacity:.5;cursor:not-allowed}.guestbook-error{color:var(--error);font-size:12px}.guestbook-messages{gap:var(--spacing-md);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.guestbook-empty{text-align:center;color:var(--text-dim);padding:var(--spacing-md);font-size:13px}.guestbook-message{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);border-radius:4px;font-size:13px}.guestbook-message-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.guestbook-message-name{color:var(--text);font-weight:500}.guestbook-message-date{color:var(--text-dim);font-size:11px}.guestbook-message-text{color:var(--text);word-wrap:break-word;line-height:1.4}.lamp-widget{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.lamp-label{text-transform:lowercase;color:var(--text);font-size:14px;font-weight:500}.graffiti-widget{box-sizing:border-box;width:100%;height:100%;position:relative;overflow:hidden}.graffiti-colors{top:var(--spacing-sm);left:var(--spacing-sm);gap:var(--spacing-xs);z-index:10;background:var(--bg);border:1px solid var(--border);padding:var(--spacing-xs);border-radius:4px;display:flex;position:absolute}.graffiti-color-btn{cursor:pointer;border:1px solid #000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.graffiti-color-btn:hover{transform:scale(1.1)}.graffiti-size-indicator{mix-blend-mode:difference;background:#fff;border-radius:50%;width:100%;height:100%;position:absolute}.graffiti-canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.graffiti-border{border:1px solid var(--border);box-sizing:border-box;pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.pizza-widget{width:100%;height:100%;padding:var(--spacing-lg);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.pizza-box{padding:var(--spacing-sm);padding-top:calc(var(--spacing-sm) + 28px);border-radius:var(--radius);width:calc(100% - var(--spacing-md));aspect-ratio:1/1.12;background:#e8d5b7;border:2px solid #d4b896;justify-content:center;align-items:center;max-width:min(100%,280px);display:flex;position:relative;box-shadow:inset 0 1px #ffffff4d,0 4px 8px #0000001a}.pizza-box-lid{border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(#e8d5b7,#ddc9aa);border-bottom:1px solid #d4b896;justify-content:center;align-items:center;height:28px;display:flex;position:absolute;top:0;left:0;right:0}.pizza-box-text{color:#8b7355;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:500}.pizza-svg{filter:drop-shadow(0 2px 4px #0000001a);width:100%;height:100%;overflow:visible}.pizza-slice-main:hover,.pizza-slice-crust:hover{filter:brightness(1.1)}.pizza-slice-group{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.pizza-empty-message{color:#8b7355;text-align:center;pointer-events:none;font-size:16px;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ask-widget{width:100%;height:100%;padding:var(--spacing-lg);gap:var(--spacing-lg);box-sizing:border-box;background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.ask-question-container{flex-shrink:0;justify-content:center;align-items:center;height:80px;display:flex;overflow:hidden}.ask-question{color:var(--text);text-align:center;font-weight:500;line-height:1.5}.ask-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.ask-textarea{font-family:var(--font-family);padding:var(--spacing-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);box-sizing:border-box;resize:vertical;min-height:60px;font-size:16px}.ask-textarea:focus{border-color:var(--primary);outline:none}.ask-submit-btn{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;font-size:16px;font-weight:500}.ask-submit-btn:hover:not(:disabled){opacity:.9}.ask-submit-btn:disabled{opacity:.5;cursor:not-allowed}.ask-submitted-message{padding:var(--spacing-lg);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.ask-submitted-icon{color:var(--primary);font-size:48px;line-height:1}.ask-submitted-text{color:var(--text);font-size:16px;font-weight:500}.ask-user-response{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.ask-responses-section{gap:var(--spacing-sm);flex-direction:column;flex:1;min-height:0;display:flex}.ask-responses-label{color:var(--text-dim);font-size:13px;font-weight:500}.ask-responses-list{gap:var(--spacing-xs);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.ask-response-item{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px}.riddle-widget{width:100%;height:100%;padding:var(--spacing-lg);gap:var(--spacing-lg);box-sizing:border-box;background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.riddle-question-container{flex-shrink:0;justify-content:center;align-items:center;height:80px;display:flex;overflow:hidden}.riddle-question{color:var(--text);text-align:center;font-weight:500;line-height:1.5}.riddle-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.riddle-input{font-family:var(--font-family);padding:var(--spacing-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);box-sizing:border-box;font-size:16px}.riddle-input:focus{border-color:var(--primary);outline:none}.riddle-submit-btn{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:var(--bg);border-radius:var(--radius);cursor:pointer;border:none;font-size:16px;font-weight:500}.riddle-submit-btn:hover:not(:disabled){opacity:.9}.riddle-submit-btn:disabled{opacity:.5;cursor:not-allowed}.riddle-correct-answer{padding:var(--spacing-md);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.riddle-answer-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs);font-size:12px}.riddle-answer-text{color:var(--primary);font-size:20px;font-weight:500}.riddle-user-answer{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.riddle-answers-section{gap:var(--spacing-sm);flex-direction:column;flex:1;min-height:0;display:flex}.riddle-answers-label{color:var(--text-dim);font-size:13px;font-weight:500}.riddle-answers-list{gap:var(--spacing-xs);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.riddle-answer-item{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px}.status-widget{width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.status-text{text-align:center;word-wrap:break-word;max-width:100%;font-size:16px;line-height:1.4}.banner-widget{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.banner-widget-framed{padding:0}.banner-video-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.banner-video-container-framed{box-sizing:border-box;border:25px ridge #d4af37;box-shadow:0 12px 32px #00000080,0 4px 12px #0000004d}.banner-image{object-fit:cover;width:100%;height:100%}.banner-content-framed.banner-image{box-sizing:border-box;border:25px ridge #d4af37;box-shadow:0 12px 32px #00000080,0 4px 12px #0000004d}.banner-video{object-fit:cover;width:100%;height:100%}.banner-placeholder{color:var(--text-dim);font-size:14px}.banner-unmute-btn{bottom:var(--spacing-sm);right:var(--spacing-sm);color:#fff;cursor:pointer;z-index:10;background:#000000b3;border:none;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute}.banner-unmute-btn:hover{background:#000000d9}.randomquote-widget{width:100%;height:100%;padding:var(--spacing-lg);box-sizing:border-box;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex;overflow:hidden}.randomquote-text{text-align:center;word-wrap:break-word;overflow-wrap:break-word;font-style:italic;line-height:1.4}.randomquote-author{color:var(--text-dim);text-align:center;word-wrap:break-word;overflow-wrap:break-word}.randomquote-placeholder{color:var(--text-dim);font-size:14px}.userquotes-widget{width:100%;height:100%;padding:var(--spacing-lg);box-sizing:border-box;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.userquotes-text{text-align:center;word-wrap:break-word;overflow-wrap:break-word;font-style:italic;line-height:1.4}.userquotes-author{color:var(--text-dim);text-align:center;word-wrap:break-word;overflow-wrap:break-word}.userquotes-placeholder{color:var(--text-dim);font-size:14px}.userquotes-add-btn{background:var(--primary);width:32px;height:32px;color:var(--bg);cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:8px;right:8px}.userquotes-add-btn:hover{opacity:.9}.userquotes-form{gap:var(--spacing-xs);flex-direction:column;width:100%;max-width:240px;display:flex}.userquotes-input-row{gap:var(--spacing-xs);align-items:flex-start;display:flex}.userquotes-textarea,.userquotes-input{font-family:var(--font-family);border:1px solid var(--border);color:var(--text);background:var(--bg);resize:vertical;border-radius:4px;flex:1;padding:6px;font-size:16px}.userquotes-textarea::placeholder,.userquotes-input::placeholder{color:var(--text);opacity:.5}.userquotes-textarea:focus,.userquotes-input:focus{border-color:var(--primary);outline:none}.userquotes-submit-icon,.userquotes-close-icon{background:var(--primary);width:28px;height:28px;color:var(--bg);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.userquotes-submit-icon:hover:not(:disabled),.userquotes-close-icon:hover{opacity:.9}.userquotes-submit-icon:disabled{opacity:.5;cursor:not-allowed}.chat-widget{background:var(--bg);border:1px solid var(--border);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.chat-name-overlay{background:var(--bg);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.chat-name-form{gap:var(--spacing-md);padding:var(--spacing-xl);flex-direction:column;width:100%;max-width:300px;display:flex}.chat-name-title{text-align:center;font-size:18px;font-weight:500}.chat-name-input{font-family:var(--font-family);padding:var(--spacing-md);border:1px solid var(--border);color:var(--text);background:var(--card-bg);text-align:center;border-radius:4px;font-size:16px}.chat-name-input::placeholder{color:var(--text);opacity:.5}.chat-name-input:focus{border-color:var(--primary);outline:none}.chat-name-form .btn{font-family:var(--font-family);padding:var(--spacing-md);cursor:pointer;border:none;border-radius:4px;font-size:14px}.chat-name-form .btn.primary{background:var(--primary);color:var(--bg)}.chat-name-form .btn.primary:hover{opacity:.9}.chat-messages{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column-reverse;flex:1;display:flex;overflow-y:auto}.chat-empty,.chat-loading{color:var(--text-dim);text-align:center;padding:var(--spacing-xl);font-size:14px}.chat-message{gap:var(--spacing-xs);flex-direction:column;display:flex}.chat-message-continuation{margin-top:calc(var(--spacing-md) * -1 + var(--spacing-xs))}.chat-message-header{align-items:center;gap:var(--spacing-sm);font-size:12px;display:flex}.chat-message-name{color:var(--primary);font-weight:500}.chat-message-time{color:var(--text-dim)}.chat-message-text{word-wrap:break-word;overflow-wrap:break-word;font-size:14px;line-height:1.4}.chat-form{border-top:1px solid var(--border);padding:var(--spacing-sm);background:var(--card-bg)}.chat-input-row{gap:var(--spacing-xs);align-items:center;display:flex}.chat-input-message{font-family:var(--font-family);padding:var(--spacing-sm);border:1px solid var(--border);color:var(--text);background:var(--bg);border-radius:4px;flex:1;font-size:16px}.chat-input-message::placeholder{color:var(--text);opacity:.5}.chat-input-message:focus{border-color:var(--primary);outline:none}.chat-send-btn{padding:calc(var(--spacing-sm) + 1.5px);background:var(--primary);width:auto;color:var(--bg);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;font-size:16px;line-height:1;display:flex}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.clock-widget{justify-content:center;align-items:center;gap:var(--spacing-xs);width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;flex-direction:column;display:flex}.clock-time{font-variant-numeric:tabular-nums;font-size:32px;font-weight:500}.clock-timezone{color:var(--text-dim);font-size:12px}.countdown-widget{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;flex-direction:column;display:flex}.countdown-label{color:var(--text-dim);text-align:center;font-size:14px}.countdown-display{align-items:center;gap:var(--spacing-xs);display:flex}.countdown-unit{flex-direction:column;align-items:center;gap:2px;min-width:48px;display:flex}.countdown-value{font-variant-numeric:tabular-nums;text-align:center;width:100%;font-size:28px;font-weight:500;line-height:1}.countdown-unit-label{color:var(--text-dim);text-transform:lowercase;font-size:10px}.countdown-separator{color:var(--text-dim);margin:0 2px;padding-bottom:14px;font-size:24px;font-weight:500;line-height:1}.countdown-complete{gap:var(--spacing-xs)}.countdown-message{text-align:center;font-size:20px;font-weight:500}.countdown-placeholder{color:var(--text-dim);text-align:center;font-size:14px}.calendar-widget{box-sizing:border-box;border:1px solid var(--border);flex-direction:column;width:100%;height:100%;display:flex;position:relative}.calendar-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.calendar-month{text-align:center;flex:1;font-size:16px;font-weight:500}.calendar-nav-btn{cursor:pointer;padding:var(--spacing-xs);color:var(--text);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.calendar-nav-btn:hover{background:var(--bg)}.calendar-grid{padding:var(--spacing-sm);flex:1;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day-header{color:var(--text-dim);text-transform:uppercase;text-align:center;padding:var(--spacing-xs);font-size:10px;font-weight:500}.calendar-day{aspect-ratio:1;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.calendar-day-empty{cursor:default}.calendar-day-active{background:var(--primary);color:var(--bg);font-weight:500}.calendar-day-selected{outline:2px solid var(--primary);outline-offset:-2px}.calendar-events-overlay{padding:var(--spacing-lg);box-sizing:border-box;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.calendar-events{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;max-width:400px;max-height:70%;display:flex;box-shadow:0 8px 24px #0003}.calendar-events-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.calendar-events-date{font-size:14px;font-weight:500}.calendar-events-close{cursor:pointer;padding:var(--spacing-xs);color:var(--text-dim);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.calendar-events-list{padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex;overflow-y:auto}.calendar-event{padding:var(--spacing-sm);background:var(--bg);border-radius:4px;flex-direction:column;gap:2px;display:flex}.calendar-event-time{color:var(--text-dim);font-size:11px}.calendar-event-text{word-break:break-word;font-size:14px}.fish-widget{border:1px solid var(--border);box-sizing:border-box;overscroll-behavior:contain;background:#a8d8ea;width:100%;height:100%;position:relative;overflow:hidden}.fish-canvas{cursor:pointer;width:100%;height:100%}.fish-add-prompt{color:#333;cursor:pointer;z-index:10;background:#fffc;border-radius:3px;padding:4px 8px;font-size:12px;position:absolute;bottom:8px;right:8px}.fish-editor-overlay{z-index:1000;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.fish-editor{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-md);gap:var(--spacing-md);-webkit-user-select:none;user-select:none;flex-direction:column;max-width:400px;display:flex;box-shadow:0 8px 24px #0003}.fish-editor-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.fish-editor-close{color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.fish-editor-title{font-size:16px;font-weight:500}.fish-editor-subtitle{color:var(--text-dim);margin-top:var(--spacing-xs);font-size:12px}.fish-editor-canvas-container{justify-content:center;display:flex}.fish-editor-canvas{border:1px solid var(--border);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#a8d8ea;border-radius:4px}.fish-editor-controls{gap:var(--spacing-md);flex-direction:column;display:flex}.fish-editor-section{gap:var(--spacing-xs);flex-direction:column;display:flex}.fish-editor-label{color:var(--text-dim);text-transform:lowercase;font-size:12px}.fish-editor-colors{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.fish-editor-color{border:2px solid var(--border);cursor:pointer;border-radius:4px;width:32px;height:32px;padding:0}.fish-editor-color.selected{border-color:var(--primary);border-width:3px}.fish-editor-sizes{gap:var(--spacing-xs);display:flex}.fish-editor-size{border:2px solid var(--border);cursor:pointer;background:var(--bg);border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.fish-editor-size.selected{border-color:var(--primary);border-width:3px}.fish-editor-size-circle{border-radius:50%}.fish-editor-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.weather-widget{justify-content:center;align-items:center;gap:var(--spacing-xs);width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;flex-direction:column;display:flex}.weather-location{color:var(--text-dim);font-size:12px}.weather-temp{font-size:36px;font-weight:500}.weather-description{text-transform:capitalize;font-size:14px}.weather-details{color:var(--text-dim);font-size:11px}.weather-loading,.weather-error{color:var(--text-dim);font-size:12px}.map-widget{width:100%;height:100%;position:relative;overflow:hidden}.map-background{object-fit:contain;clip-path:inset(15% 0);width:100%;height:142.86%;display:block;position:relative;top:-21.43%}.map-overlay{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.map-pin{fill:#e74c3c;stroke:#fff;stroke-width:.2px}.map-add-pin{background:var(--primary);color:var(--bg);font-family:var(--font-family);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:400;line-height:1;display:flex;position:absolute;bottom:8px;right:8px}.map-add-pin:hover{opacity:.9}.map-add-pin:disabled{opacity:.5;cursor:not-allowed}.links-widget{gap:var(--spacing-xs);width:100%;height:100%;padding:var(--spacing-sm);box-sizing:border-box;flex-direction:column;display:flex;overflow-y:auto}.link-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-family);color:var(--text);box-sizing:border-box;border-radius:4px;width:100%;transition:border-color .2s;display:flex}.link-item:hover{border-color:var(--primary)}.link-favicon{object-fit:contain;flex-shrink:0;width:32px;height:32px}.link-content{flex:1;min-width:0}.link-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.link-description{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.link-widget{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.link-single-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);cursor:pointer;text-align:left;font-family:var(--font-family);color:var(--text);box-sizing:border-box;background:0 0;border:none;width:100%;height:100%;text-decoration:none;display:flex}.link-single-item:hover{opacity:.8}.link-single-favicon{object-fit:contain;flex-shrink:0;width:48px;height:48px}.link-single-content{flex:1;min-width:0}.link-single-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.link-single-description{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.contact-widget{width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.contact-form{gap:var(--spacing-sm);flex-direction:column;width:100%;max-width:400px;display:flex}.contact-input,.contact-textarea{font-family:var(--font-family);padding:var(--spacing-sm);border:1px solid var(--border);color:var(--text);background:var(--bg);box-sizing:border-box;border-radius:4px;font-size:16px}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--text);opacity:.5}.contact-textarea{resize:vertical;min-height:80px}.contact-error{color:var(--error);font-size:12px}.contact-success{color:var(--success);font-size:12px}.contact-btn{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);background:var(--primary);color:var(--bg);cursor:pointer;text-transform:lowercase;border:none;border-radius:4px;font-size:13px;font-weight:500}.contact-btn:hover:not(:disabled){background:var(--primary-hover)}.contact-btn:disabled{opacity:.6;cursor:not-allowed}.webring-widget{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;height:100%;padding:var(--spacing-sm);box-sizing:border-box;flex-direction:column;display:flex}.webring-label{color:var(--text);text-transform:lowercase;text-align:center;word-wrap:break-word;max-width:100%;font-size:14px;font-weight:500}.webring-buttons{align-items:center;gap:var(--spacing-sm);display:flex}.webring-btn{background:var(--primary);color:var(--bg);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.webring-btn:hover:not(:disabled){background:var(--primary-hover)}.webring-btn:disabled{opacity:.5;cursor:not-allowed}.portal-widget{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.portal-widget:hover{opacity:.95}.portal-content{justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.portal-icon{animation:3s linear infinite portal-spin}@keyframes portal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-label{text-transform:lowercase;font-size:14px;font-weight:500}.themesong-widget{align-items:center;gap:var(--spacing-sm);-webkit-user-select:none;user-select:none;width:100%;height:100%;padding:0;display:flex}.themesong-cover{aspect-ratio:1;object-fit:cover;flex-shrink:0;height:100%}.themesong-content{justify-content:center;gap:var(--spacing-xs);min-width:0;padding:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.themesong-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.2;overflow:hidden}.themesong-player{align-items:center;gap:var(--spacing-sm);display:flex}.themesong-play-btn{background:var(--primary);width:32px;height:32px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.themesong-play-btn svg{width:16px;height:16px}.themesong-play-btn:hover{background:var(--primary-hover)}.themesong-progress-container{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.themesong-progress{background:color-mix(in srgb, var(--text-dim) 30%, transparent);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;width:100%;height:6px;position:relative}.themesong-progress-bar{background:var(--primary);border-radius:3px;height:100%;transition:width .1s linear}.themesong-times{color:var(--text-dim);justify-content:space-between;font-size:10px;line-height:1;display:flex}.themesong-widget-tile{-webkit-user-select:none;user-select:none;flex-direction:column;width:100%;height:100%;display:flex;position:relative}.themesong-tile-cover{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.themesong-tile-title{top:var(--spacing-sm);left:var(--spacing-sm);color:#fff;text-shadow:0 1px 3px #000c;z-index:2;padding:var(--spacing-xs) var(--spacing-sm);max-width:calc(100% - var(--spacing-md) * 2);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;position:absolute;overflow:hidden}.themesong-tile-controls{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);z-index:2;display:flex;position:absolute;bottom:0;left:0;right:0}.poll-widget{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex;overflow-y:auto}.poll-question{text-align:center;justify-content:center;align-items:center;width:100%;max-width:500px;height:80px;font-weight:500;line-height:1.4;display:flex;overflow:hidden}.poll-inactive{justify-content:center;align-items:center;min-height:120px;display:flex}.poll-options{gap:var(--spacing-sm);flex-direction:column;width:100%;max-width:500px;max-height:300px;display:flex;overflow-y:auto}.poll-option{padding:var(--spacing-sm) var(--spacing-md);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;color:var(--text);font-size:14px}.poll-option:hover{background:var(--hover-bg)}.poll-results{gap:var(--spacing-md);flex-direction:column;width:100%;max-width:500px;max-height:300px;display:flex;overflow-y:auto}.poll-result-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.poll-result-text{justify-content:space-between;align-items:center;font-size:14px;display:flex}.poll-result-bar-container{background:var(--card-bg);border-radius:var(--radius);height:32px;position:relative;overflow:hidden}.poll-result-bar{background:var(--primary);height:100%;transition:width .3s}.poll-result-bar-selected{background:var(--primary-hover)}.poll-result-percentage{color:var(--text-dim);font-size:12px;font-weight:500}.poll-total-votes{text-align:center;color:var(--text-dim);padding-top:var(--spacing-sm);border-top:1px solid var(--border);width:100%;max-width:500px;font-size:14px}:root{--font-family:"DM Mono", monospace;--bg:#eeebe6;--surface:#fff;--border:#d4d1cc;--text:#1a1a1a;--text-dim:#666;--primary:#06c;--primary-hover:#0052a3;--primary-text:#fff;--danger:#c00;--danger-hover:#a30000;--danger-text:#fff;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--radius:6px}@media (max-width:768px){:root{--spacing-xs:3px;--spacing-sm:6px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px}}body{background:var(--bg);color:var(--text);font-size:14px}.loading{padding:var(--spacing-xl);color:var(--text-dim);justify-content:center;align-items:center;display:flex}.page{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-lg)}.btn{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:var(--spacing-xs);font-size:14px;display:flex}.btn:hover{background:var(--border)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text)}.btn.danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.input{font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);width:100%;font-size:14px}.input:focus{border-color:var(--primary);outline:none}.label{margin-bottom:var(--spacing-xs);color:var(--text-dim);font-size:12px;display:block}.form-group{flex-direction:column;display:flex}.text-dim{color:var(--text-dim)}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.login-container{min-height:100dvh;padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.landing-content{gap:var(--spacing-xl);flex-direction:column;align-items:center;width:100%;max-width:900px;display:flex}.landing-hero{text-align:center;max-width:600px}.landing-hero .logo{margin-bottom:var(--spacing-md);font-size:48px;font-weight:500}.landing-tagline{margin-bottom:var(--spacing-md);color:var(--text);font-size:20px;font-weight:500}.demo-link{color:var(--primary);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--primary);border-radius:var(--radius);font-size:14px;text-decoration:none;display:inline-block}.demo-link:hover{background:var(--primary);color:var(--primary-text)}.landing-description{color:var(--text-dim);font-size:15px;line-height:1.6}.login-card{width:100%;max-width:400px}.form-title{margin-bottom:var(--spacing-lg);text-align:center;font-size:18px;font-weight:500}.logo{font-size:24px;font-weight:500}.header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.widgets-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.widget-card{cursor:pointer}.widget-type{margin-bottom:var(--spacing-sm);font-size:16px;font-weight:500}.widget-id{color:var(--text-dim);font-family:monospace;font-size:12px}.widget-detail{max-width:800px}.section{margin-bottom:var(--spacing-xl)}.section-title{text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--spacing-md);letter-spacing:.05em;font-size:12px}.embed-code{background:var(--surface);padding:var(--spacing-md);border-radius:var(--radius);border:1px solid var(--border);font-family:monospace;font-size:12px;overflow-x:auto}.preview-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%}.error{color:var(--danger);margin-top:var(--spacing-sm);font-size:12px}.modal-overlay{z-index:1000;padding:var(--spacing-xl);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-content{background:var(--surface);border-radius:var(--radius);overscroll-behavior:contain;width:100%;max-width:600px;max-height:80dvh;overflow:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:18px;font-weight:500}.modal-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;display:flex}.modal-close:hover{color:var(--text)}.widget-types-grid{gap:var(--spacing-md);padding:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.widget-type-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;font-family:var(--font-family);color:var(--text);flex-direction:column;display:flex}.widget-type-card:hover{border-color:var(--primary);background:var(--surface)}.widget-type-label{font-size:16px;font-weight:500}.widget-type-description{color:var(--text-dim);font-size:12px;line-height:1.4}.widget-type-card.coming-soon{opacity:.5;cursor:default;position:relative}.widget-type-card.coming-soon:hover{border-color:var(--border);background:var(--bg)}.coming-soon-badge{top:var(--spacing-sm);right:var(--spacing-sm);padding:2px var(--spacing-xs);background:var(--text);color:var(--bg);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;font-size:10px;font-weight:500;position:absolute}.widget-picker-modal{flex-direction:column;height:80dvh;display:flex;overflow:hidden}.widget-types-grid-container{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.widget-picker-search{border-top:1px solid var(--border);padding:var(--spacing-lg);background:var(--surface)}.site-logo{color:var(--text);text-decoration:none}.gallery-layout{align-items:start;gap:var(--spacing-xl);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.gallery-catalog{gap:var(--spacing-md);flex-direction:column;min-width:0;display:flex}.catalog-search{align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex}.catalog-search .input{border:0;padding-left:0}.catalog-groups{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.catalog-group{padding:var(--spacing-xs) var(--spacing-sm);font-size:12px}.catalog-group.selected{background:var(--text);border-color:var(--text);color:var(--surface)}.catalog-grid{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.catalog-card{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;cursor:pointer;display:flex}.catalog-card>svg{color:var(--text-dim);flex-shrink:0}.catalog-card.selected,.catalog-card:hover{border-color:var(--primary)}.catalog-card.selected>svg{color:var(--primary)}.catalog-card-copy{gap:var(--spacing-xs);flex-direction:column;min-width:0;display:flex}.catalog-card-copy>.text-dim{font-size:11px;line-height:1.5}.catalog-card-title{font-size:14px;font-weight:500}.catalog-card-arrow{display:none}.gallery-preview{top:var(--spacing-xl);gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-width:0;display:flex;position:sticky}.preview-heading{align-items:flex-start;gap:var(--spacing-sm);display:flex}.preview-heading>svg{flex-shrink:0}.preview-heading-copy{flex:1;min-width:0}.preview-heading>.btn{padding:var(--spacing-sm);font-size:12px}.preview-heading .text-dim{padding-top:var(--spacing-xs);font-size:12px;line-height:1.5}.preview-toolbar,.preview-use{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.preview-toolbar label,.embed-dimensions label{align-items:center;gap:var(--spacing-sm);font-size:12px;display:flex}.preview-toolbar select{width:auto;max-width:160px}.gallery-preview-frame{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:auto;display:block}.mobile-widget-choice{display:none}.preview-use{padding-top:var(--spacing-sm);border-top:1px solid var(--border)}.preview-use>.text-dim{font-size:11px}.gallery-empty{align-items:flex-start;gap:var(--spacing-md);flex-direction:column;display:flex}.notice,.auth-notice{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);flex-wrap:wrap;display:flex}.embed-dimensions{align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.embed-dimensions .input{width:90px}.btn:disabled{opacity:.55;cursor:default}.widget-collection{gap:var(--spacing-md);flex-direction:column;display:flex}.collection-toolbar{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.collection-toolbar>.input{flex:1;width:auto;min-width:160px}.collection-count{font-size:12px}.view-toggle{gap:var(--spacing-xs);display:flex}.view-toggle .selected{background:var(--text);color:var(--surface);border-color:var(--text)}.collection-card{color:var(--text);gap:var(--spacing-sm);flex-direction:column;text-decoration:none;display:flex}.widget-summary{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.widget-table-scroll{border:1px solid var(--border);border-radius:var(--radius);position:relative;overflow-x:auto}.widget-table{border-collapse:collapse;background:var(--surface);text-align:left;width:100%;font-size:12px}.widget-table th,.widget-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.widget-table th{color:var(--text-dim);background:var(--bg);font-weight:400}.widget-table tbody tr:last-child td{border-bottom:0}.widget-table tbody tr:hover{background:var(--bg)}.widget-table td:first-child a{color:var(--text);font-weight:500;text-decoration:none}.widget-table td:first-child a:hover{text-decoration:underline}.widget-table-details{text-overflow:ellipsis;max-width:280px;overflow:hidden}.table-sort{align-items:center;gap:var(--spacing-xs);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;display:flex}.table-copy{padding:var(--spacing-xs) var(--spacing-sm);font-size:11px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.input{font-size:16px}button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (max-width:800px){.gallery-layout{grid-template-columns:minmax(0,1fr)}.gallery-preview{position:static}.gallery-catalog{grid-row:2}.gallery-preview{grid-row:1}.mobile-widget-choice{align-items:center;gap:var(--spacing-sm);font-size:12px;display:flex}.gallery-preview-frame{max-height:420px}.header{gap:var(--spacing-sm);flex-wrap:wrap}.widgets-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}}@media (max-width:420px){.catalog-grid{grid-template-columns:minmax(0,1fr)}.catalog-card-arrow{margin-left:auto;display:block}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100dvh}
