.cal-builder{flex-direction:column;padding:4px 0 40px;display:flex}.cal-app-bar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:none}.cal-app-back,.cal-app-download{border:1px solid var(--border);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.cal-app-back svg,.cal-app-download svg{width:16px;height:16px}.cal-app-download{background:var(--primary);color:#fff;border-color:#0000}.cal-app-download svg{color:#fff}.cal-app-title{text-align:center;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Baloo,sans-serif;font-size:15px;font-weight:800;overflow:hidden}.cal-stage{flex-direction:column;align-items:center;gap:16px;padding:20px 16px;display:flex;position:relative}.cal-fullscreen-toggle{z-index:2;border:1px solid var(--border);background:var(--card-bg);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex;position:absolute;top:20px;right:16px}.cal-fullscreen-toggle svg{width:16px;height:16px}.cal-fullscreen-toggle:hover{border-color:var(--primary);color:var(--primary)}.cal-month-nav{align-items:center;gap:14px;display:flex}.cal-month-nav-btn{border:1px solid var(--border);background:var(--card-bg);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:border-color .15s,transform .15s;display:flex}.cal-month-nav-btn svg{width:14px;height:14px}.cal-month-nav-btn:hover{border-color:var(--primary);transform:translateY(-1px)}.cal-month-nav-label{color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;min-width:150px;font-family:Baloo,sans-serif;font-size:17px;font-weight:800}.cal-preview-panel{justify-content:center;width:100%;display:flex}.cal-poster{--cal-from:#fffdf8;--cal-to:#faf2e4;--cal-ink:#201e2b;--cal-accent:#1fb6b0;--cal-muted:#9c96a8;--cal-on-accent:#fff;aspect-ratio:1080/1440;background:linear-gradient(165deg, var(--cal-from), var(--cal-to));width:100%;max-width:360px;box-shadow:var(--shadow-lg);z-index:0;border-radius:18px;flex-direction:column;padding:5.5% 5.5% 4%;display:flex;position:relative;overflow:hidden}.cal-poster-bg-image{z-index:-1;border-radius:inherit;opacity:var(--cal-bg-opacity,.18);background-position:50%;background-size:cover;transition:opacity .2s;position:absolute;inset:0}.cal-poster-heading{text-align:center;color:var(--cal-accent);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;margin-bottom:3%;font-family:Baloo,sans-serif;font-size:clamp(15px,3.6vw,19px);font-weight:800;display:flex}.cal-poster-heading.is-hidden{display:none}.cal-poster-heading:before,.cal-poster-heading:after{content:"";background:var(--cal-accent);opacity:.45;border-radius:2px;flex:1;max-width:46px;height:2px}.cal-poster-header{text-align:center;margin-bottom:4%}.cal-poster-month{color:var(--cal-ink);font-family:Baloo,sans-serif;font-size:clamp(22px,6.5vw,34px);font-weight:800;line-height:1.1}.cal-poster-year{color:var(--cal-muted);margin-top:2px;font-size:clamp(13px,3vw,16px);font-weight:600}.cal-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.cal-weekdays span{color:var(--cal-muted);font-size:clamp(10px,2.4vw,13px);font-weight:700}.cal-grid{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;display:grid}.cal-cell{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex;position:relative}.cal-cell-empty{cursor:default}.cal-cell-num{color:var(--cal-ink);z-index:2;font-size:clamp(13px,3.4vw,18px);font-weight:600;position:relative}.cal-cell.is-selected .cal-cell-num{color:var(--cal-on-accent);font-weight:800}.cal-cell.is-selected:before{content:"";z-index:1;aspect-ratio:1;background:var(--cal-accent);border-radius:50%;width:68%;position:absolute}.cal-cell-label{z-index:3;background:var(--cal-accent);color:var(--cal-on-accent);white-space:nowrap;text-overflow:ellipsis;border-radius:100px;max-width:220%;padding:3px 7px;font-size:clamp(7px,1.7vw,10px);font-weight:700;position:absolute;top:72%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 3px 8px #00000026}.cal-poster-brand{text-align:center;color:var(--cal-muted);margin-top:3%;font-size:clamp(10px,2.2vw,13px);font-weight:700}.cal-theme-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cal-theme-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0;transition:transform .15s,border-color .15s;box-shadow:inset 0 0 0 1px #201e2b14}.cal-theme-swatch:hover{transform:scale(1.1)}.cal-theme-swatch.is-active{border-color:var(--primary);transform:scale(1.12)}.cal-action-bar{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card-bg);align-items:center;gap:8px;display:flex}.cal-action-btn{color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-family:inherit;font-size:11px;font-weight:700;transition:background .15s,color .15s;display:flex}.cal-action-btn svg{width:19px;height:19px}.cal-action-btn:hover{color:var(--primary)}.cal-action-btn--primary{background:var(--primary);color:#fff;border-radius:100px;flex-direction:row;flex:1.4;gap:8px;font-size:13px}.cal-action-btn--primary svg{width:16px;height:16px}.cal-action-btn--primary:hover{color:#fff;opacity:.92}.cal-sheet{z-index:310;opacity:0;visibility:hidden;justify-content:center;align-items:flex-end;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.cal-sheet.open{opacity:1;visibility:visible}.cal-sheet-backdrop{background:#14121c8c;position:absolute;inset:0}.cal-sheet-panel{z-index:1;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:80dvh;transition:transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;transform:translateY(16px)}.cal-sheet.open .cal-sheet-panel{transform:translateY(0)}.cal-sheet-head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:16px 18px;font-family:Baloo,sans-serif;font-size:16px;font-weight:800;display:flex}.cal-sheet-close{cursor:pointer;width:30px;height:30px;color:var(--muted);background:#f1eff7;border:none;border-radius:50%;font-size:18px;line-height:1}.cal-sheet-body{padding:16px 18px calc(18px + env(safe-area-inset-bottom));overflow-y:auto}.cal-sheet-body input[type=text]{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--ink);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:15px}.cal-hint{color:var(--faint);margin:8px 0 0;font-size:11.5px;line-height:1.4}.cal-upload-tile{border:1.5px dashed var(--border);background:var(--input-bg);border-radius:12px;justify-content:center;align-items:center;width:100%;height:130px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.cal-upload-tile:hover{border-color:var(--primary)}.cal-upload-input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.cal-upload-placeholder{color:var(--faint);pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex}.cal-upload-placeholder svg{width:30px;height:30px;color:var(--muted)}.cal-upload-placeholder span{font-size:12px;font-weight:600}.cal-upload-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cal-upload-remove{z-index:2;color:#fff;cursor:pointer;background:#14121c99;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:7px;right:7px}.cal-upload-preview.is-hidden,.cal-upload-remove.is-hidden,.cal-upload-placeholder.is-hidden{display:none}.cal-days-list{flex-direction:column;gap:8px;display:flex}.cal-day-row{align-items:center;gap:8px;display:flex}.cal-day-input{text-align:center;border:1px solid var(--border);background:var(--input-bg);width:56px;color:var(--ink);border-radius:10px;flex:none;padding:10px 8px;font-family:inherit;font-size:14px;font-weight:700}.cal-day-label-input{border:1px solid var(--border);background:var(--input-bg);min-width:0;color:var(--ink);border-radius:10px;flex:1;padding:10px 12px;font-family:inherit;font-size:13.5px}.cal-day-remove{width:32px;height:32px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:17px;line-height:1;transition:background .15s,color .15s;display:flex}.cal-day-remove:hover{color:#c0392b;background:#fbeaea}.cal-add-day-btn{border:1.5px dashed var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:100px;align-items:center;gap:6px;margin-top:10px;padding:9px 14px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.cal-add-day-btn:hover{background:#1fb6b014}.cal-add-day-btn:active{transform:scale(.97)}.cal-add-day-btn svg{width:15px;height:15px}.cal-opacity-row{margin-top:14px}.cal-opacity-row.is-hidden{display:none}.cal-opacity-row label{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.cal-opacity-control{align-items:center;gap:12px;display:flex}.cal-opacity-control input[type=range]{appearance:none;background:linear-gradient(to right, var(--primary) 0%, var(--primary) var(--cal-opacity-pct,18%), var(--border) var(--cal-opacity-pct,18%), var(--border) 100%);cursor:pointer;border-radius:100px;outline:none;flex:1;height:6px}.cal-opacity-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);cursor:pointer;border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #201e2b40}.cal-opacity-control input[type=range]::-moz-range-thumb{background:var(--primary);cursor:pointer;border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #201e2b40}.cal-opacity-value{text-align:right;min-width:34px;color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:700}.cal-builder.is-fullscreen{z-index:300;background:var(--bg);flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.cal-builder.is-fullscreen .cal-app-bar{display:flex}.cal-builder.is-fullscreen .cal-stage{flex:1;justify-content:center;min-height:0;padding:16px}.cal-builder.is-fullscreen .cal-preview-panel{flex:1;align-items:center;min-height:0}.cal-builder.is-fullscreen .cal-poster{height:auto;max-height:100%}.cal-builder.is-fullscreen .cal-fullscreen-toggle,.cal-builder.is-fullscreen .cal-action-btn--primary{display:none}body.cal-fullscreen-active{overflow:hidden}body.cal-fullscreen-active .mobile-header,body.cal-fullscreen-active .desktop-nav,body.cal-fullscreen-active .breadcrumb,body.cal-fullscreen-active .page-hero,body.cal-fullscreen-active #calAboutSection,body.cal-fullscreen-active #calFaqSection,body.cal-fullscreen-active .site-footer,body.cal-fullscreen-active .mobile-nav-wrap{display:none!important}@media (prefers-reduced-motion:reduce){.cal-sheet,.cal-sheet-panel,.cal-month-nav-btn,.cal-theme-swatch{transition:none}}
