@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");:root{--page-bg-image:url(/bg-light.webp);--widget-backdrop:blur(24px) brightness(1.05);--widget-radius:30px;--widget-radius-inner:16px;--widget-bg:linear-gradient(135deg,hsla(0,0%,100%,.22),hsla(0,0%,100%,.06));--widget-bg-inner:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.3));--widget-border:1px solid hsla(0,0%,100%,.45);--widget-shadow:0 12px 30px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.06);--text-strong:#1f1f1f;--text-main:#252735;--text-sub:#6b6f80;--text-faint:rgba(37,39,53,.45);--connect-heart:#9663f7;--widget-check-mark:#1f1f1f;--widget-danger:#ec4899;--progress-track-bg:hsla(0,0%,100%,.25);--progress-fill:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.65));--budget-bar:#34b98a;--budget-cat-meal:#ef6c36;--budget-cat-cafe:#e0a100;--budget-cat-alcohol:#b455c8;--budget-cat-culture:#7c4dff;--budget-cat-activity:#8ab021;--budget-cat-transport:#2a93d6;--budget-cat-stay:#3f51b5;--budget-cat-shopping:#d45aa8;--budget-cat-gift:#e13b54;--budget-cat-etc:#8e8e93;--diary-author-a:#ec5f7c;--diary-author-b:#4f84e0;--log-star:#ffc53d}:root[data-theme=dark]{--page-bg-image:url(/bg-dark.webp);--widget-bg:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.03));--widget-bg-inner:linear-gradient(135deg,hsla(0,0%,100%,.14),hsla(0,0%,100%,.06));--widget-border:1px solid hsla(0,0%,100%,.14);--widget-shadow:0 12px 30px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.25);--text-strong:#f5f5f7;--text-main:#e7e7ee;--text-sub:#a8a8b8;--text-faint:rgba(230,230,240,.4);--widget-check-mark:#1f1f1f;--progress-track-bg:hsla(0,0%,100%,.12)}:root[data-theme=dark] body{background:#17151f}:root[data-theme=dark] .settings-group{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.04));border-color:hsla(0,0%,100%,.12)}:root[data-theme=dark] .add-btn,:root[data-theme=dark] .fab,:root[data-theme=dark] .icon-btn{background:hsla(0,0%,100%,.14);border-color:hsla(0,0%,100%,.16)}:root[data-theme=dark] .connect-banner,:root[data-theme=dark] .field-input,:root[data-theme=dark] .pill-input{background:linear-gradient(135deg,hsla(0,0%,100%,.14),hsla(0,0%,100%,.06));border-color:hsla(0,0%,100%,.14)}:root[data-theme^=neo]{--page-bg-image:none;--neo-border:#111;--neo-surface:#fff;--widget-backdrop:none;--widget-radius:20px;--widget-radius-inner:12px;--widget-bg:var(--neo-surface);--widget-bg-inner:var(--neo-surface);--widget-border:2px solid var(--neo-border);--widget-shadow:3px 3px 0 var(--neo-border);--text-strong:#111;--text-main:#1c1c1c;--text-sub:#666;--text-faint:hsla(0,0%,8%,.38);--progress-track-bg:rgba(0,0,0,.08);--progress-fill:#111;--map-empty:#f4f1ea;--map-border:#b9b2a4;--map-water:#cfe3f0;--map-selected-stroke:#111;--map-badge-bg:#ffd66e;--map-badge-fg:#111;--map-label-halo:#fff;--map-label-fill:#333}:root[data-theme^=neo] body{background:#f5f2ec}:root[data-theme^=neo] .connect-banner,:root[data-theme^=neo] .settings-group,:root[data-theme^=neo] .widget-card{background:var(--neo-surface);border:2px solid var(--neo-border);box-shadow:3px 3px 0 var(--neo-border);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme^=neo] .add-btn,:root[data-theme^=neo] .chip-btn,:root[data-theme^=neo] .fab,:root[data-theme^=neo] .field-input,:root[data-theme^=neo] .ghost-btn,:root[data-theme^=neo] .icon-btn,:root[data-theme^=neo] .pill-input{background:var(--neo-surface);border:2px solid var(--neo-border);box-shadow:2px 2px 0 var(--neo-border);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme^=neo] .row-item{background:var(--neo-surface);border:1.5px solid var(--neo-border);box-shadow:2px 2px 0 var(--neo-border)}:root[data-theme^=neo] .dialog,:root[data-theme^=neo] .region-panel,:root[data-theme^=neo] .sheet{background:var(--neo-surface);border:2px solid var(--neo-border)}:root[data-theme^=neo] .empty-slot{border-color:var(--neo-border);border-width:1.5px}:root[data-theme=neo-color] .widget-list>div:nth-child(4n+1) .widget-card{border-color:#d33;box-shadow:3px 3px 0 #d33}:root[data-theme=neo-color] .widget-list>div:nth-child(4n+2) .widget-card{border-color:#e6a700;box-shadow:3px 3px 0 #e6a700}:root[data-theme=neo-color] .widget-list>div:nth-child(4n+3) .widget-card{border-color:#3e63dd;box-shadow:3px 3px 0 #3e63dd}:root[data-theme=neo-color] .widget-list>div:nth-child(4n+4) .widget-card{border-color:#2c9d5b;box-shadow:3px 3px 0 #2c9d5b}:root[data-theme=neo-dark]{--neo-border:#e8e8e8;--neo-surface:#161616;--text-strong:#f2f2f2;--text-main:#e4e4e4;--text-sub:#9a9a9a;--text-faint:hsla(0,0%,90%,.35);--progress-track-bg:hsla(0,0%,100%,.12);--progress-fill:#f2f2f2;--map-empty:#242424;--map-border:#555;--map-water:#1f2c38;--map-badge-bg:#7a5cff;--map-badge-fg:#fff;--map-label-fill:#ddd;--map-label-halo:rgba(0,0,0,.7);--map-selected-stroke:#fff;--calendar-today-bg:#f2f2f2;--calendar-today-fg:#111;--calendar-mine:rgba(255,191,198,.16);--calendar-partner:rgba(186,213,255,.16);--calendar-bar:rgba(255,219,166,.16);--calendar-bartext-mine:#ffc9cf;--calendar-bartext-partner:#bcd2ff;--calendar-bartext-shared:#ffdfa8}:root[data-theme=neo-dark] body{background:#0d0d0d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{font-family:Pretendard Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-main);background:#d9d3f2;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;background:var(--page-bg-image) center top /cover no-repeat;z-index:-1}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;color:var(--text-main)}a{color:inherit;text-decoration:none}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;position:relative;padding:14px 18px calc(120px + env(safe-area-inset-bottom, 0px))}.app-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:44px;margin-bottom:6px}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.5);box-shadow:0 4px 12px rgba(0,0,0,.06);color:var(--text-strong);transition:transform .15s ease,background .2s ease}.icon-btn:active{transform:scale(.92)}.page-header{display:flex;align-items:center;gap:6px;height:44px;margin-bottom:14px;position:relative}.page-header .back-btn{width:40px;height:40px;display:grid;place-items:center;margin-left:-8px;color:var(--text-strong)}.page-header .header-center,.page-header .page-title{font-size:17px;font-weight:700;color:var(--text-strong)}.page-header .header-center{position:absolute;left:50%;transform:translateX(-50%)}.page-header .header-action{margin-left:auto;font-size:15px;font-weight:600;color:var(--text-strong);padding:8px}.page-header .header-action:disabled{color:var(--text-faint)}.widget-card{background:var(--widget-bg);border:var(--widget-border);border-radius:var(--widget-radius);box-shadow:var(--widget-shadow);-webkit-backdrop-filter:var(--widget-backdrop);backdrop-filter:var(--widget-backdrop);padding:20px;position:relative;overflow:hidden}.widget-list{display:flex;flex-direction:column;gap:16px}.widget-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.widget-head .title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text-strong)}.widget-head .title .emoji{font-size:17px}.widget-head .meta{font-size:13px;font-weight:600;color:var(--text-sub)}.widget-head .meta.strong{color:var(--text-strong);font-size:15px;font-weight:800}.widget-link{display:block;transition:transform .15s ease}.widget-link:active{transform:scale(.985)}.big-value{font-size:34px;font-weight:800;letter-spacing:-.5px;color:var(--text-strong)}.empty-slot{border:1.5px dashed rgba(120,110,160,.4);border-radius:16px;padding:22px 16px;text-align:center;font-size:14px;color:var(--text-faint)}.empty-slot+.empty-slot{margin-top:10px}.connect-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:26px;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.3));border:1px solid hsla(0,0%,100%,.5);box-shadow:0 12px 30px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);-webkit-backdrop-filter:blur(24px) brightness(1.05);backdrop-filter:blur(24px) brightness(1.05);margin-bottom:16px}.connect-banner .heart{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.6);color:var(--connect-heart);flex-shrink:0}.connect-banner .texts{flex:1 1;min-width:0}.connect-banner .texts b{display:block;font-size:14.5px;font-weight:700;color:var(--text-strong)}.connect-banner .texts span{display:block;font-size:12.5px;color:var(--text-sub);margin-top:2px}.connect-banner .chevron,.connect-banner .close{color:var(--text-faint);flex-shrink:0}.connect-banner .close{padding:4px}.progress-track{height:8px;border-radius:999px;background:var(--progress-track-bg);overflow:hidden;margin:10px 0 16px}.progress-fill{height:100%;border-radius:999px;background:var(--progress-fill);box-shadow:0 1px 3px rgba(0,0,0,.08);transition:width .35s ease}.row-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--widget-radius-inner);background:var(--widget-bg-inner);border:1px solid hsla(0,0%,100%,.5);box-shadow:0 2px 8px rgba(0,0,0,.04)}.row-item+.row-item{margin-top:10px}.row-item .row-text{flex:1 1;min-width:0;font-size:14.5px;color:var(--text-main);word-break:break-word}.row-item .row-sub{font-size:12px;color:var(--text-sub);margin-top:3px}.row-item.done .row-text{text-decoration:line-through;color:var(--text-faint)}.check{width:24px;height:24px;border-radius:50%;border:2px solid rgba(120,110,160,.4);display:grid;place-items:center;flex-shrink:0;transition:all .2s ease;background:transparent}.check.on{background:hsla(0,0%,100%,.9);border-color:hsla(0,0%,100%,.9);color:var(--widget-check-mark)}.del-btn{color:var(--text-faint);padding:4px;flex-shrink:0;transition:color .15s ease}.del-btn:active{color:var(--widget-danger)}.add-row{gap:10px;margin-bottom:18px}.add-row,.pill-input{display:flex;align-items:center}.pill-input{flex:1 1;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.3));border:1px solid hsla(0,0%,100%,.5);border-radius:999px;padding:14px 20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.pill-input input{flex:1 1;border:none;outline:none;background:transparent;font-size:14.5px}.pill-input input::placeholder{color:var(--text-faint)}.pill-input .counter{font-size:12px;color:var(--text-faint);margin-left:8px}.add-btn{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.4);border:1px solid hsla(0,0%,100%,.55);color:var(--text-strong);box-shadow:0 4px 12px rgba(0,0,0,.06);flex-shrink:0;transition:transform .15s ease}.add-btn:active{transform:scale(.92)}.fab{position:fixed;right:max(24px,calc(50% - 240px + 24px));bottom:calc(28px + env(safe-area-inset-bottom, 0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.6);box-shadow:0 10px 26px rgba(0,0,0,.14);color:var(--text-strong);z-index:40;transition:transform .15s ease}.fab:active{transform:scale(.92)}.field{margin-bottom:20px}.field>label{display:block;font-size:14px;font-weight:700;color:var(--text-strong);margin-bottom:10px}.field-input{width:100%;display:flex;align-items:center;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.3));border:1px solid hsla(0,0%,100%,.5);border-radius:22px;padding:16px 20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.field-input input,.field-input select{flex:1 1;border:none;outline:none;background:transparent;font-size:15px;width:100%}.field-input input::placeholder{color:var(--text-faint)}.field-input .counter{font-size:12px;margin-left:8px}.field-input .counter,.field-input.placeholder{color:var(--text-faint)}.toggle-row{display:flex;align-items:center;justify-content:space-between}.toggle-row>span{font-size:14px;font-weight:700;color:var(--text-strong)}.toggle{width:52px;height:30px;border-radius:999px;background:rgba(120,110,160,.25);position:relative;transition:background .2s ease;flex-shrink:0}.toggle.on{background:var(--connect-heart)}.toggle .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:left .2s ease}.toggle.on .knob{left:25px}.empty-hint{text-align:center;color:var(--text-faint);font-size:14px;padding:40px 20px}.settings-group{background:linear-gradient(135deg,hsla(0,0%,100%,.5),hsla(0,0%,100%,.28));border:1px solid hsla(0,0%,100%,.5);border-radius:22px;box-shadow:var(--widget-shadow);-webkit-backdrop-filter:blur(24px) brightness(1.05);backdrop-filter:blur(24px) brightness(1.05);overflow:hidden;margin-bottom:16px}.settings-item{display:flex;align-items:center;gap:14px;padding:16px 18px;width:100%;text-align:left}.settings-item+.settings-item{border-top:1px solid hsla(0,0%,100%,.4)}.settings-item .s-icon{width:22px;display:grid;place-items:center;color:var(--text-strong);flex-shrink:0}.settings-item .s-label{flex:1 1;font-size:15px;color:var(--text-main)}.settings-item .s-chevron{color:var(--text-faint)}.sheet-backdrop{position:fixed;inset:0;background:rgba(30,26,50,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.sheet{width:100%;max-width:480px;background:linear-gradient(180deg,hsla(0,0%,100%,.9),rgba(250,248,255,.92));-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:28px 28px 0 0;padding:10px 18px calc(28px + env(safe-area-inset-bottom, 0px));max-height:82dvh;overflow-y:auto;animation:slideUp .28s cubic-bezier(.2,.8,.2,1)}.sheet .grabber{width:40px;height:5px;border-radius:3px;background:rgba(120,110,160,.3);margin:6px auto 16px}.sheet h2{font-size:18px;font-weight:800;color:var(--text-strong);margin:4px 4px 16px}.widget-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.widget-pick{display:flex;flex-direction:column;gap:8px;padding:18px 16px;border-radius:20px;background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 14px rgba(0,0,0,.05);text-align:left;transition:transform .15s ease;position:relative}.widget-pick:active{transform:scale(.96)}.widget-pick .w-emoji{font-size:26px}.widget-pick .w-name{font-size:14px;font-weight:700;color:var(--text-strong)}.widget-pick .w-desc{font-size:12px;color:var(--text-sub);line-height:1.4}.widget-pick .w-badge{position:absolute;top:12px;right:12px;font-size:10px;font-weight:800;color:var(--widget-danger)}.widget-pick.added{opacity:.55}.widget-pick .w-added{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;color:var(--text-sub);display:flex;align-items:center;gap:3px}.widget-remove{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:hsla(0,0%,100%,.7);display:grid;place-items:center;color:var(--widget-danger);box-shadow:0 2px 6px rgba(0,0,0,.1);z-index:3}.budget-total{font-size:30px;font-weight:800;color:var(--text-strong);margin-bottom:4px}.cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ghost-btn{width:100%;padding:14px;border-radius:16px;background:linear-gradient(135deg,hsla(0,0%,100%,.7),hsla(0,0%,100%,.45));border:1px solid hsla(0,0%,100%,.6);font-size:14px;font-weight:600;color:var(--text-strong);box-shadow:0 2px 8px rgba(0,0,0,.04);margin-top:14px}:root{--map-empty:hsla(0,0%,100%,.38);--map-border:rgba(37,39,53,.28);--map-water:rgba(150,196,236,.4);--map-label-fill:#252735;--map-label-halo:hsla(0,0%,100%,.85);--map-selected-stroke:#4a4e68;--map-badge-bg:#e2c2fe;--map-badge-fg:#1f1f1f}:root[data-theme=dark]{--map-empty:hsla(0,0%,100%,.1);--map-border:hsla(0,0%,100%,.3);--map-water:rgba(120,160,205,.35);--map-label-fill:#e7e7ee;--map-label-halo:rgba(20,20,28,.8);--map-selected-stroke:#cfd2e8;--map-badge-bg:#8f6bd8}.chip-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:hsla(0,0%,100%,.45);border:1px solid hsla(0,0%,100%,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;font-weight:600;color:var(--text-strong);box-shadow:0 2px 8px rgba(0,0,0,.05)}.map-header-row{justify-content:space-between;margin-bottom:14px}.map-header-row,.visit-count{display:flex;align-items:center}.visit-count{gap:10px;font-size:13.5px;color:var(--text-sub)}.visit-count b{font-size:19px;color:var(--text-strong);font-weight:800}.region-panel{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;background:linear-gradient(180deg,hsla(0,0%,100%,.92),rgba(250,248,255,.95));-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-radius:28px 28px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom, 0px));box-shadow:0 -10px 40px rgba(0,0,0,.15);z-index:45;max-height:72dvh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.2,.8,.2,1)}:root[data-theme=dark] .region-panel{background:linear-gradient(180deg,rgba(40,38,52,.95),rgba(30,28,40,.97))}.region-panel .rp-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.region-panel .rp-head h3{margin:0;font-size:20px;font-weight:800;color:var(--text-strong)}.badge{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(120,110,160,.15);color:var(--text-sub)}.badge.on{background:var(--map-badge-bg);color:var(--map-badge-fg)}:root{--calendar-bar:#fff3dd;--calendar-mine:#ffe6eb;--calendar-partner:#e7f1fe;--calendar-bar-chip:#ffdba6;--calendar-mine-chip:#ffbfc6;--calendar-partner-chip:#bad5ff;--calendar-bartext-mine:#823a42;--calendar-bartext-partner:#2b4267;--calendar-bartext-shared:#7b5824;--calendar-anniv:#e89bb0;--calendar-today-bg:#252735;--calendar-today-fg:#fff;--calendar-sunday:#e5484d;--calendar-saturday:#3e63dd}:root[data-theme=dark]{--calendar-today-bg:#f5f5f7;--calendar-today-fg:#17151f;--calendar-sunday:#ff8489;--calendar-saturday:#93acff;--calendar-bartext-mine:#ffc9cf;--calendar-bartext-partner:#bcd2ff;--calendar-bartext-shared:#ffdfa8;--calendar-mine:rgba(255,191,198,.22);--calendar-partner:rgba(186,213,255,.22);--calendar-bar:rgba(255,219,166,.22)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid .dow{text-align:center;font-size:12.5px;font-weight:600;color:var(--text-sub);padding:8px 0 10px}.cal-grid .dow.sun{color:var(--calendar-sunday)}.cal-grid .dow.sat{color:var(--calendar-saturday)}.cal-cell{min-height:72px;padding:4px 2px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}.cal-cell.sel{background:hsla(0,0%,100%,.55)}:root[data-theme=dark] .cal-cell.sel{background:hsla(0,0%,100%,.12)}.cal-cell .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13.5px;font-weight:600;color:var(--text-main)}.cal-cell.out .num{opacity:.35}.cal-cell.sun .num{color:var(--calendar-sunday)}.cal-cell.sat .num{color:var(--calendar-saturday)}.cal-cell.today .num{background:var(--calendar-today-bg);color:var(--calendar-today-fg);font-weight:800}.cal-chip{width:100%;font-size:9.5px;font-weight:700;line-height:1.25;padding:2px 4px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.cal-day-head{display:flex;align-items:center;justify-content:space-between;margin:18px 4px 10px}.cal-day-head h4{margin:0;font-size:16px;font-weight:800;color:var(--text-strong)}.stars{display:inline-flex;gap:6px}.stars .star{font-size:26px;color:rgba(120,110,160,.35);cursor:pointer;transition:transform .1s ease}.stars .star.on{color:var(--log-star)}.stars .star:active{transform:scale(1.2)}.stars.small .star{font-size:14px;cursor:default}.dialog-backdrop{position:fixed;inset:0;background:rgba(30,26,50,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;display:grid;place-items:center;animation:fadeIn .15s ease;padding:24px}.dialog{width:100%;max-width:320px;background:rgba(250,249,253,.97);border-radius:22px;padding:22px 20px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}:root[data-theme=dark] .dialog{background:rgba(45,43,58,.98)}.dialog .d-title{font-size:16px;font-weight:800;color:var(--text-strong);margin-bottom:6px}.dialog .d-desc{font-size:13.5px;color:var(--text-sub);line-height:1.5;margin-bottom:16px}.dialog .d-actions{display:flex;gap:10px}.dialog .d-actions button{flex:1 1;padding:13px;border-radius:14px;font-size:14.5px;font-weight:700}.dialog .d-cancel{background:rgba(120,110,160,.12);color:var(--text-main)}.dialog .d-danger{background:#f5222d;color:#fff}.edit-done-btn{font-size:15px;font-weight:700;color:var(--text-strong);padding:8px 12px}.toast{position:fixed;bottom:calc(32px + env(safe-area-inset-bottom, 0px));left:50%;transform:translateX(-50%);background:rgba(30,26,50,.9);color:#fff;font-size:13.5px;padding:12px 20px;border-radius:999px;z-index:100;animation:fadeIn .2s ease;white-space:nowrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes wobble{0%{transform:rotate(-.4deg) scale(.985)}to{transform:rotate(.4deg) scale(.985)}}@keyframes slideDownTop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-top{animation:slideDownTop .3s ease}