@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";:root{--text:#6d665f;--text-h:#211e1b;--bg:#f8f5ef;--card:#fffdf8;--surface-subtle:#f1ede5;--surface-tinted:#f4ece9;--border:#dfd6ca;--code-bg:#eee8de;--accent:#76546f;--accent-bg:#76546f1c;--accent-border:#76546f57;--coral:#b9665d;--coral-bg:#b9665d1f;--vintage:#9b744e;--paper:#f2eadc;--tape:#cdb891b8;--danger:#c65358;--map-bg:#f7f3ea;--map-text:#6f6252;--map-panel:#fffcf6f0;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--shadow-soft:0 12px 32px #2e1f3a14;--sans:"Pretendard Variable", Pretendard, "Noto Sans KR", system-ui, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b9b0a6;--text-h:#f2ede6;--bg:#181716;--card:#211f1d;--surface-subtle:#282521;--surface-tinted:#2a2222;--border:#3d3832;--code-bg:#2a2723;--accent:#d0a7c6;--accent-bg:#d0a7c624;--accent-border:#d0a7c661;--coral:#db8d83;--coral-bg:#db8d8321;--vintage:#c5a47c;--paper:#2c2822;--tape:#9c81589e;--danger:#ed8589;--map-bg:#222127;--map-text:#d6d0c8;--map-panel:#1d1e25f5;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--shadow-soft:0 12px 32px #00000038}}*{box-sizing:border-box}html{max-width:100%;overflow-x:hidden}body{background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--paper) 72%, transparent), transparent 30rem), var(--bg);min-width:0;max-width:100%;margin:0;overflow-x:clip}#root{width:1120px;max-width:100%;min-height:100svh;margin:0 auto;padding:0 24px 48px}h1,h2,h3{color:var(--text-h);margin:0;font-weight:720}button{font-family:var(--sans);cursor:pointer}input,textarea,select{font-family:var(--sans);font-size:14px}:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:3px}@media (width<=720px){#root{padding:0 16px 32px}}.app-shell{width:100%;min-width:0;min-height:100svh}.site-header{z-index:1000;border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:76px;display:grid;position:sticky;top:0}.site-header>*{min-width:0}.brand{width:fit-content;min-width:0;max-width:100%;color:var(--text-h);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:4px;display:inline-flex}.brand-mark{background:linear-gradient(145deg, var(--accent), var(--coral));width:36px;height:36px;box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 24%, transparent);color:#fff;border-radius:12px;place-items:center;font-size:17px;display:grid}.brand>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.35;overflow:hidden}.brand small{color:var(--text);font-size:11px}.primary-nav{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex;box-shadow:0 8px 24px #261b2f0d}.primary-nav button{min-height:38px;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:650;display:flex}.primary-nav button span{color:var(--accent);font-size:14px}.primary-nav button:hover{background:var(--surface-subtle);color:var(--text-h)}.primary-nav button.active{background:var(--accent);color:#fff;box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 24%, transparent)}.primary-nav button.active span{color:inherit}.profile-menu{justify-self:end;min-width:0;position:relative}.profile-menu>summary{min-height:44px;color:var(--text-h);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 4px;list-style:none;display:flex}.profile-menu>summary::-webkit-details-marker{display:none}.profile-menu>summary:hover{background:var(--surface-subtle)}.profile-avatar{border:1px solid var(--accent-border);background:var(--accent-bg);width:36px;height:36px;color:var(--accent);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:13px;font-weight:700;overflow:hidden}.profile-chevron{color:var(--text)}.profile-menu[open] .profile-chevron{transform:rotate(180deg)}.profile-popover{border:1px solid var(--border);background:var(--card);width:min(320px,100vw - 32px);box-shadow:var(--shadow);border-radius:16px;padding:18px;position:absolute;top:calc(100% + 10px);right:0}.profile-popover-heading{flex-direction:column;margin-bottom:16px;display:flex}.profile-popover-heading strong{color:var(--text-h);font-size:15px}.profile-popover-heading span{color:var(--text);text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.profile-popover .nickname-editor{justify-content:flex-start;align-items:stretch;margin-bottom:14px}.profile-popover .nickname-editor label{width:100%}.profile-popover .nickname-editor input{flex:130px;width:auto;min-height:40px}.profile-popover .nickname-editor button{min-height:40px}.invite-code-card{background:var(--surface-subtle);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:11px 12px;display:flex}.invite-code-card span{color:var(--text);font-size:12px}.invite-code-card strong{color:var(--accent);letter-spacing:1px;font-size:14px}.profile-popover .logout-btn{width:100%;min-height:40px;color:var(--danger);position:static}.screen-content{width:100%;min-width:0;padding:40px 0 16px}.screen-content>*,.page-view,.home-view{min-width:0}.page-view,.home-view{animation:.25s both view-in}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}.page-heading{max-width:680px;margin-bottom:28px}.eyebrow{color:var(--accent);letter-spacing:.08em;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.page-heading h1,.home-intro h1{letter-spacing:-.035em;font-size:clamp(28px,4vw,42px);line-height:1.15}.page-heading p{color:var(--text);word-break:keep-all;margin:10px 0 0;font-size:15px;line-height:1.65}.home-intro{justify-content:space-between;align-items:center;gap:24px;padding:8px 2px 0;display:flex}.home-intro>div{min-width:0}.home-intro .anniversary{flex:none;margin:0}.home-photo-frame{border:1px solid color-mix(in srgb, var(--border) 78%, var(--vintage));background:var(--card);border-radius:6px;width:min(820px,100%);margin:28px auto 0;padding:18px 18px 48px;position:relative;transform:rotate(-.12deg);box-shadow:0 18px 46px #4334271f,0 2px 5px #43342714}.home-photo-frame:before{z-index:3;background:var(--tape);content:"";opacity:.72;width:96px;height:24px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-1.5deg);box-shadow:0 1px 2px #48341e14}.home-photo-frame:after{z-index:2;content:"";pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(circle at 20% 30%,#5c432a0d 0 1px,#0000 1.5px) 0 0/7px 7px;position:absolute;inset:18px 18px 48px}.home-photo-frame .title-photo{z-index:1;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:var(--paper);border-radius:2px;max-width:none;height:clamp(260px,48vw,500px);margin:0;position:relative}.home-photo-frame .title-photo:not(.has-photo){border-style:dashed}.photo-caption{color:var(--vintage);letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:10px;font-weight:760;display:flex;position:absolute;bottom:13px;left:20px;right:20px}.home-view>.daily-quote{max-width:680px;margin:28px auto 0}.dashboard-section,.home-weather{margin-top:44px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;display:flex}.section-heading.compact{margin-bottom:12px}.section-heading h2{letter-spacing:-.02em;font-size:23px}.text-action{min-height:40px;color:var(--accent);background:0 0;border:0;padding:0 2px;font-size:13px;font-weight:750}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-card{border:1px solid var(--border);background:var(--card);min-width:0;min-height:172px;color:var(--text);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;box-shadow:0 8px 28px #271a300b}.dashboard-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.dashboard-card.is-primary{border-color:var(--accent-border);background:linear-gradient(145deg, var(--accent-bg), transparent 70%), var(--card)}.dashboard-icon{background:var(--accent-bg);width:38px;height:38px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:14px;font-size:17px;font-weight:800;display:grid}.dashboard-card>span:nth-child(2){font-size:12px;font-weight:700}.dashboard-card strong{width:100%;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:20px;line-height:1.3;overflow:hidden}.dashboard-card small{width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:auto;padding-top:10px;font-size:12px;overflow:hidden}.home-weather{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:20px}.home-weather .weather{background:var(--surface-subtle);border:0;border-radius:12px;margin-top:0}.life-grid{gap:20px;display:grid}.app-header{text-align:center;margin-bottom:16px;position:relative}.anniversary{margin:12px auto 0}.anniversary-badge{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:15px;font-weight:600;display:inline-flex}.anniversary-heart{color:var(--accent);font-size:16px}.anniversary-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.anniversary-form label{color:var(--text);font-size:13px}.anniversary-form input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px}.anniversary-form button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.anniversary-form button:disabled{opacity:.5}.anniversary-form .anniversary-cancel{border:1px solid var(--border);color:var(--text-h);background:0 0}.app-header .daily-quote{text-align:left;max-width:480px;margin:12px auto 0}.app-footer{border-top:1px solid var(--border);color:var(--text);justify-content:center;align-items:center;gap:8px;margin-top:48px;padding:24px 0;font-size:12px;display:flex}.app-footer strong{color:var(--text-h)}.nickname-editor{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;display:flex}.nickname-editor label{color:var(--text);font-size:13px}.nickname-editor input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;width:140px;padding:6px 8px}.nickname-editor button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.nickname-editor button:disabled{opacity:.5}.app-footer .invite-code-hint{margin-top:6px}.logout-btn{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:6px;padding:6px 10px;font-size:13px;position:absolute;top:0;right:0}.auth-loading{text-align:center;color:var(--text);padding:40px 0}.auth-page{justify-content:center;padding:40px 16px;display:flex}.auth-form{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:20px;display:flex}.auth-form h1{text-align:center;margin-bottom:4px;font-size:18px}.auth-error{color:var(--danger);font-size:13px}.auth-notice{color:var(--accent);font-size:13px}.auth-toggle{color:var(--accent);background:0 0;border:none;margin-top:4px;font-size:13px}.auth-divider{color:var(--text);align-items:center;gap:8px;margin:4px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-login-btn{border:1px solid var(--border);color:#1f1f1f;background:#fff;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:500}.invite-code{text-align:center;letter-spacing:2px;color:var(--accent);margin:8px 0;font-size:24px;font-weight:700}.invite-code-hint{color:var(--text);margin-top:4px;font-size:12px}.title-photo{border:2px dashed var(--border);cursor:pointer;background:var(--accent-bg);border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:480px;height:160px;margin:0 auto 12px;display:flex;position:relative;overflow:hidden}.title-photo.dragging{border-color:var(--accent);background:var(--accent-bg)}.title-photo.has-photo{border-style:solid;padding:0}.title-photo-placeholder{color:var(--text);padding:0 16px;font-size:13px}.title-photo-img{object-fit:cover;width:100%;height:100%}.title-photo-remove{color:#fff;background:#0009;border:none;border-radius:999px;width:24px;height:24px;font-size:14px;line-height:1;position:absolute;top:8px;right:8px}.notice-banner{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.notice-banner button{background:var(--accent);color:#fff;white-space:nowrap;border:none;border-radius:6px;padding:6px 12px;font-size:14px}.notice-banner.denied{border-color:var(--border);color:var(--text);background:0 0}.app-main{align-items:flex-start;gap:24px;display:flex}@media (width<=720px){.app-main{flex-direction:column;align-items:stretch;gap:20px}.calendar-column,.day-detail{flex:none;width:100%}}.calendar-column{flex-direction:column;flex:1 1 0;gap:16px;min-width:0;display:flex}.calendar{min-width:0}.calendar-header{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-header h2{text-align:center;min-width:130px;font-size:18px}.calendar-header button{border:1px solid var(--border);width:32px;height:32px;color:var(--text-h);background:0 0;border-radius:6px;font-size:16px}.calendar-header .today-btn{width:auto;padding:0 10px;font-size:13px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;display:grid}.weekday-row{margin-bottom:4px}.weekday-cell{text-align:center;color:var(--text);padding:4px 0;font-size:12px}.day-cell{aspect-ratio:1;border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;transition:transform .12s,background .15s,border-color .15s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.day-cell:hover{background:var(--code-bg);transform:translateY(-1px)}}.day-cell:active{transform:scale(.95)}.day-cell.outside-month{color:var(--text);opacity:.4}.day-cell.sunday,.day-cell.holiday{color:var(--danger)}.holiday-name{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;font-size:10px;line-height:1.1;overflow:hidden}.day-cell.saturday{color:#3b82f6}.day-cell.today .day-number{font-weight:700;text-decoration:underline}.day-cell.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent);animation:.2s cell-pop}@keyframes cell-pop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}.day-number{font-size:13px}.event-dot{background:var(--accent);color:#fff;border-radius:999px;min-width:16px;height:16px;padding:0 3px;font-size:10px;line-height:16px}.daily-quote{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:12px;padding:20px 22px 16px;position:relative;overflow:hidden}.quote-mark{color:var(--accent);opacity:.25;pointer-events:none;font-family:Georgia,Times New Roman,serif;font-size:56px;line-height:1;position:absolute;top:-8px;left:12px}.quote-text{color:var(--text-h);word-break:keep-all;margin:0;font-size:15px;font-weight:500;line-height:1.7;position:relative}.quote-author{text-align:right;color:var(--accent);margin:10px 0 0;font-size:13px;font-weight:600}.day-detail{flex-direction:column;flex:1 1 0;gap:16px;min-width:0;animation:.3s both detail-in;display:flex}@keyframes detail-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.day-detail-header{flex-direction:column;gap:8px;padding-bottom:4px;display:flex}.day-detail-header h2{font-size:18px}.day-detail-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--code-bg);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.chip-holiday{background:var(--accent-bg);color:var(--danger);border-color:var(--accent-border)}.chip-done{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.event-form{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.event-form h3{margin-bottom:4px;font-size:15px}.form-row{flex-direction:column;gap:4px;display:flex}.form-row label{color:var(--text);font-size:13px}.form-row input,.form-row textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px}.checkbox-row label{flex-direction:row;align-items:center;gap:6px;display:flex}.checkbox-row input{width:auto}.form-actions{gap:8px;margin-top:4px;display:flex}.form-actions button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:14px}.form-actions .secondary{border:1px solid var(--border);color:var(--text-h);background:0 0}.empty-state{text-align:center;padding:12px 0;font-size:14px}.event-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.event-item{border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;animation:.25s both item-in}@media (hover:hover){.event-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow)}}@keyframes item-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.event-item-main{align-items:center;gap:8px;display:flex}.event-time{color:var(--accent);font-size:13px;font-weight:600}.event-title{color:var(--text-h);font-weight:600}.event-memo{margin:4px 0 0;font-size:13px}.event-item-actions{gap:8px;margin-top:8px;display:flex}.event-item-actions button{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:6px;padding:4px 10px;font-size:13px}.event-item-actions .danger{border-color:var(--danger);color:var(--danger)}.icon-picker{flex-wrap:wrap;gap:6px;display:flex}.icon-option{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;line-height:1;display:flex}.icon-option.selected{border-color:var(--accent);background:var(--accent-bg)}.event-icon{font-size:16px;line-height:1}.day-icons{font-size:11px;line-height:1}.workout-panel-card{border:1px solid var(--border);border-radius:10px;padding:16px}.workout-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.workout-heading h3{font-size:15px}.workout-count{color:var(--accent);white-space:nowrap;font-size:13px;font-weight:600}.workout-form{flex-direction:column;gap:12px;display:flex}.workout-form .form-actions button:disabled{opacity:.6}.workout-done-row{color:var(--text-h);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.workout-done-row input{width:18px;height:18px}.workout-check-badge{font-size:10px;line-height:1;position:absolute;top:2px;right:3px}.workout-icon{vertical-align:-.18em;object-fit:contain;display:inline-block}.workout-check-badge .workout-icon{vertical-align:top;filter:drop-shadow(0 1px 2px #0000002e)}.competition{border:1px solid var(--border);background:var(--card);border-radius:16px;margin-top:0;padding:20px;box-shadow:0 8px 28px #271a300b}.competition-header{margin-bottom:16px}.competition-header h2{font-size:18px}.competition-message{color:var(--text-h);word-break:keep-all;margin:6px 0 0;font-size:14px;font-weight:500}.competition-races{flex-direction:column;gap:16px;display:flex}.race-label{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.race-rows{flex-direction:column;gap:8px;display:flex}.race-row{align-items:center;gap:10px;display:flex}.race-name{width:34px;color:var(--text-h);flex:none;font-size:13px;font-weight:600}.race-track{background:var(--bg);border:1px solid var(--border);border-radius:999px;flex:1 1 0;min-width:0;height:18px;overflow:hidden}.race-bar{border-radius:999px;min-width:2px;height:100%;transition:width .5s}.race-bar.mine{background:var(--accent)}.race-bar.partner{background:var(--coral)}.race-bar.leading{box-shadow:0 0 8px var(--accent-border)}.race-count{text-align:right;width:34px;color:var(--text-h);flex:none;font-size:13px;font-weight:700}.roulette-section{border:1px solid var(--accent-border);background:radial-gradient(circle at 100% 0%, var(--coral-bg), transparent 44%), var(--surface-tinted);border-radius:16px;margin-top:0;padding:20px;overflow:hidden}.roulette-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.roulette-heading h2{font-size:18px}.roulette-heading p{color:var(--text);margin:5px 0 0;font-size:13px}.roulette-count{border:1px solid var(--accent-border);color:var(--accent);background:var(--bg);border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:700}.roulette-layout{grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);align-items:center;gap:28px;display:grid}.roulette-editor{flex-direction:column;gap:7px;display:flex}.roulette-editor label{color:var(--text-h);font-size:13px;font-weight:700}.roulette-editor textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:170px;color:var(--text-h);border-radius:10px;padding:11px 12px;line-height:1.6}.roulette-editor textarea:focus{outline:2px solid var(--accent-border);border-color:var(--accent)}.roulette-editor textarea:disabled{opacity:.65}.roulette-hint,.roulette-warning{margin:0;font-size:12px;line-height:1.5}.roulette-warning{color:var(--danger);font-weight:600}.roulette-game{flex-direction:column;align-items:center;gap:14px;display:flex}.roulette-wheel-wrap{aspect-ratio:1;background:var(--bg);width:min(100%,330px);box-shadow:var(--shadow);border-radius:50%;padding:7px;position:relative}.roulette-wheel{filter:drop-shadow(0 4px 12px #40155d2e);will-change:transform;width:100%;height:100%;transition:transform 4.2s cubic-bezier(.12,.65,.12,1);display:block}.roulette-pointer{z-index:2;border-left:15px solid #0000;border-right:15px solid #0000;border-top:34px solid var(--text-h);filter:drop-shadow(0 2px 2px #00000040);width:0;height:0;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.roulette-label{fill:#fff;paint-order:stroke;stroke:#0003;stroke-width:2px;stroke-linejoin:round;font-size:12px;font-weight:800}.roulette-hub{fill:var(--text-h);stroke:#ffffffd9;stroke-width:4px}.roulette-empty-wheel{fill:var(--code-bg);stroke:var(--border);stroke-width:3px}.roulette-empty-label{fill:var(--text);font-size:14px;font-weight:600}.roulette-spin-btn{background:var(--accent);color:#fff;min-width:150px;box-shadow:0 7px 18px var(--accent-border);border:none;border-radius:999px;padding:11px 22px;font-size:15px;font-weight:800;transition:transform .15s,opacity .15s}.roulette-spin-btn:hover:not(:disabled){transform:translateY(-2px)}.roulette-spin-btn:active:not(:disabled){transform:scale(.97)}.roulette-spin-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.roulette-result{border:1px dashed var(--border);background:var(--bg);width:100%;min-height:67px;color:var(--text);text-align:center;word-break:break-word;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 14px;font-size:13px;display:flex}.roulette-result.has-result{border-style:solid;border-color:var(--accent-border);animation:.35s both roulette-result-pop}.roulette-result span{color:var(--accent);font-size:12px;font-weight:700}.roulette-result strong{color:var(--text-h);font-size:18px}@keyframes roulette-result-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (width<=720px){.roulette-layout{grid-template-columns:1fr}.roulette-wheel-wrap{max-width:310px}}.weather{border:1px solid var(--border);color:var(--text-h);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;padding:14px 16px;font-size:14px;display:flex}.weather-error,.weather>span{color:var(--text);font-size:13px}.weather-emoji{font-size:32px;line-height:1}.weather-main{flex-direction:column;gap:2px;display:flex}.weather-temp{font-size:22px;font-weight:700}.weather-label{color:var(--text);font-size:13px}.weather-detail{text-align:right;color:var(--text);flex-direction:column;gap:2px;margin-left:auto;font-size:12px;display:flex}@media (width<=720px){.weather-detail{text-align:left;margin-left:0}}.memory-section{border:1px solid var(--border);background:var(--card);border-radius:18px;margin-top:0;padding:22px;box-shadow:0 8px 28px #271a300b}.memory-heading h2{margin:0;font-size:17px}.memory-hint{color:var(--text);margin:4px 0 14px;font-size:13px}.korea-map-wrap{justify-content:center;padding:8px 0;display:flex}.korea-map{filter:drop-shadow(0 6px 14px #5b1a8a2e);width:100%;max-width:440px;height:auto}.korea-region{fill:var(--card);stroke:var(--accent);stroke-width:.8px;stroke-linejoin:round;cursor:pointer;transition:fill .15s}.korea-region:focus-visible{stroke:var(--coral);stroke-width:2.5px;outline:none}@media (hover:hover){.korea-region:hover{fill:var(--accent-bg)}}.korea-region.has-memory{fill:var(--accent-bg)}.korea-region.selected{fill:var(--accent);stroke:var(--card);stroke-width:1.4px}.region-label{fill:var(--text-h);cursor:pointer;paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:15px;font-weight:700}.region-label.on-thumb{font-size:13px}.region-thumb{cursor:pointer;pointer-events:none}.region-thumb-ring{fill:var(--card);stroke:var(--coral);stroke-width:2px}.region-count{fill:var(--coral);stroke:#fff;stroke-width:1.5px}.region-count-text{fill:#fff;font-size:10px;font-weight:700}.memory-empty{text-align:center;color:var(--text);margin:14px 0 0;font-size:13px}.region-panel{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:14px;padding:16px}.region-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.region-panel-head h3{color:var(--text-h);margin:0;font-size:16px}.region-close{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:16px}.region-empty{color:var(--text);margin:0 0 12px;font-size:13px}.memory-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.memory-card{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin:0;position:relative;overflow:hidden}.memory-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.memory-card figcaption{flex-direction:column;gap:2px;padding:6px 8px;display:flex}.memory-card-date{color:var(--accent);font-size:12px}.memory-card-memo{color:var(--text);white-space:pre-wrap;font-size:12px}.memory-card-del{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;width:22px;height:22px;font-size:12px;line-height:1;position:absolute;top:4px;right:4px}.region-add-btn{border:1px dashed var(--accent-border);background:var(--accent-bg);width:100%;color:var(--accent);cursor:pointer;border-radius:10px;padding:10px;font-size:14px;font-weight:600}.memory-form{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;gap:10px;margin-top:14px;padding:16px;display:flex}.memory-form h3{color:var(--text-h);margin:0 0 2px;font-size:14px}.memory-photo-picker{border:1px dashed var(--accent-border);background:var(--accent-bg);height:110px;color:var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.memory-photo-picker img{object-fit:cover;width:100%;height:100%}.memory-form input,.memory-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.memory-form textarea{resize:vertical}.memory-form-actions{justify-content:flex-end;gap:8px;display:flex}.memory-form-actions button{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.memory-form-actions button:disabled{opacity:.5}.memory-form-actions .memory-cancel{border:1px solid var(--border);color:var(--text-h);background:0 0}.travel-planner{border:1px solid var(--border);background:linear-gradient(135deg, var(--accent-bg), transparent 42%), var(--bg);border-radius:18px;margin-top:0;overflow:hidden}.travel-hero{text-align:left;width:100%;min-height:84px;color:var(--text-h);background:0 0;border:0;align-items:center;gap:14px;padding:18px 22px;display:flex}.travel-hero-icon{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:27px;display:grid}.travel-hero>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.travel-hero strong{font-size:19px}.travel-hero small{color:var(--text);font-size:13px}.travel-hero-action{color:var(--accent);margin-left:auto;font-size:13px;font-weight:700}.travel-body{border-top:1px solid var(--border);padding:0 20px 22px}.travel-toolbar{align-items:center;gap:12px;padding:14px 0;display:flex}.travel-trip-tabs{scrollbar-width:thin;flex:auto;gap:7px;display:flex;overflow-x:auto}.travel-trip-tabs button,.travel-new-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;flex:none;padding:7px 12px;font-size:13px}.travel-trip-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff}.travel-new-btn{color:var(--accent);border-color:var(--accent-border);font-weight:700}.travel-error,.travel-create-card{border:1px solid var(--border);background:var(--bg);border-radius:14px;margin-top:18px;padding:18px}.travel-error{color:var(--danger);font-size:13px;line-height:1.6}.travel-error code{color:var(--text-h)}.travel-summary{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px;display:flex}.travel-dday{background:var(--accent);color:#fff;border-radius:999px;margin-bottom:8px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-block}.travel-summary h3{font-size:22px}.travel-summary p{color:var(--text);margin:6px 0 0;font-size:13px}.travel-summary-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.travel-summary-actions button{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:7px;padding:6px 10px;font-size:12px}.travel-summary-actions button.danger{border-color:var(--danger);color:var(--danger)}.travel-form{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:14px;padding:16px}.travel-overview-form{margin-bottom:14px}.travel-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.travel-form-grid label{min-width:0;color:var(--text);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.travel-form-grid input,.travel-form-grid textarea,.travel-form-grid select,.travel-inline-form input,.travel-inline-form select{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;color:var(--text-h);font:13px var(--sans);border-radius:7px;padding:8px 9px}.travel-form-grid textarea{resize:vertical}.travel-form-grid .travel-wide-field{grid-column:1/-1}.travel-form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.travel-form-actions button,.travel-inline-form button{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:700}.travel-form-actions button:disabled{opacity:.55}.travel-form-actions .travel-secondary{border:1px solid var(--border);color:var(--text-h);background:0 0}.travel-quick-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.travel-quick-stats span{border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:center;border-radius:9px;padding:10px;font-size:12px}.travel-quick-stats strong{color:var(--text-h);margin-top:2px;font-size:14px;display:block}.travel-nav{border:1px solid var(--border);background:var(--code-bg);border-radius:11px;gap:4px;padding:4px;display:flex;overflow-x:auto}.travel-nav button{color:var(--text);background:0 0;border:0;border-radius:8px;flex:1 0 auto;padding:9px 11px;font-size:13px}.travel-nav button.active{background:var(--bg);color:var(--accent);font-weight:700;box-shadow:0 1px 4px #00000014}.travel-tab-panel{border:1px solid var(--border);background:var(--bg);border-radius:14px;min-height:220px;margin-top:12px;padding:18px}.travel-subheading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.travel-subheading h4{color:var(--text-h);margin:0;font-size:16px}.travel-subheading p{color:var(--text);margin:3px 0 0;font-size:12px}.travel-progress{background:var(--code-bg);border-radius:999px;width:100%;height:7px;margin:-2px 0 14px;overflow:hidden}.travel-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.travel-inline-form{grid-template-columns:120px minmax(0,1fr) auto;gap:7px;margin-bottom:14px;display:grid}.travel-budget-form{grid-template-columns:100px minmax(0,1fr) 130px auto}.travel-list{flex-direction:column;gap:7px;display:flex}.travel-list-row{border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;padding:10px 11px;font-size:13px;display:flex}.travel-list-row.is-complete{opacity:.62}.travel-list-row.is-complete .travel-check-label span{text-decoration:line-through}.travel-check-label{min-width:0;color:var(--text-h);flex:auto;align-items:center;gap:9px;display:flex}.travel-check-label input{width:17px;height:17px;accent-color:var(--accent)}.travel-category{background:var(--accent-bg);color:var(--accent);border-radius:999px;flex:none;padding:3px 7px;font-size:12px}.travel-icon-btn{width:26px;height:26px;color:var(--text);background:0 0;border:0;border-radius:50%;flex:none}.travel-icon-btn:hover{background:var(--code-bg);color:var(--danger)}.travel-empty{text-align:center;color:var(--text);grid-column:1/-1;margin:12px 0;font-size:13px}.travel-stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.travel-stat-grid>div{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;padding:12px}.travel-stat-grid span,.travel-stat-grid strong{display:block}.travel-stat-grid span{color:var(--text);font-size:12px}.travel-stat-grid strong{color:var(--text-h);margin-top:3px;font-size:15px}.travel-stat-grid .is-over strong{color:var(--danger)}.travel-paid-toggle{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;flex:none;padding:4px 8px;font-size:12px}.travel-paid-toggle.paid{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.travel-row-main{flex-direction:column;flex:auto;min-width:0;display:flex}.travel-row-main strong{color:var(--text-h)}.travel-row-main span,.travel-row-main small{color:var(--text);font-size:12px}.travel-row-main a,.travel-timeline a{color:var(--accent);margin-top:3px;font-size:12px;text-decoration:none}.travel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.flight-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--accent-bg), transparent 55%);border-radius:12px;padding:14px}.flight-card-head{justify-content:space-between;align-items:center;display:flex}.flight-card-head strong{color:var(--text-h)}.flight-card-head span,.flight-date{color:var(--text);font-size:12px}.flight-date{margin-top:2px;display:block}.flight-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:13px;display:grid}.flight-route>div{text-align:center;flex-direction:column;display:flex}.flight-route strong{color:var(--text-h);font-size:20px}.flight-route span{color:var(--text);font-size:12px}.flight-line{color:var(--accent);font-size:20px}.flight-card p{border-top:1px dashed var(--border);margin:12px 0 0;padding-top:9px;font-size:12px}.travel-timeline{margin-top:15px}.travel-timeline section+section{margin-top:18px}.timeline-item{border-top:1px solid var(--border);grid-template-columns:74px minmax(0,1fr) auto;gap:10px;padding:11px 0;display:grid}.timeline-item time{color:var(--accent);font-size:12px;font-weight:700}.timeline-item>div{flex-direction:column;display:flex}.timeline-item strong{color:var(--text-h);font-size:13px}.timeline-item span,.timeline-item p{color:var(--text);margin:3px 0 0;font-size:12px}.travel-coordinate-field{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent-bg) 70%, transparent);border-radius:12px;padding:11px 13px}.travel-coordinate-field>span{color:var(--text-h);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.travel-coordinate-field p{color:var(--text);margin:0;font-size:12px}.travel-coordinate-field>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.travel-coordinate-field strong{color:var(--accent);font-size:12px}.travel-coordinate-field button{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.travel-map-day-tabs{align-items:center;gap:7px;margin:17px 0 9px;display:flex;overflow-x:auto}.travel-map-day-tabs button,.travel-map-day-tabs span{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;flex:none;padding:7px 11px;font-size:12px}.travel-map-day-tabs button{cursor:pointer}.travel-map-day-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}.travel-route-map-wrap{border:1px solid var(--border);background:var(--map-bg);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 12px 30px #4d3b2314}.travel-map-loading{border:1px solid var(--border);background:var(--map-bg);height:360px;color:var(--map-text);border-radius:18px;place-items:center;font-size:12px;display:grid}.travel-route-map{z-index:0;height:360px}.travel-route-map .leaflet-control-attribution{font-size:10px}.travel-map-hint{background:var(--map-panel);color:var(--map-text);border-top:1px solid #78664c24;justify-content:space-between;gap:12px;padding:9px 13px;font-size:12px;display:flex}.travel-map-marker-shell{background:0 0;border:0}.travel-map-marker{color:#fff;background:linear-gradient(145deg,#ff9aae,#ff6f8a);border:4px solid #fff;border-radius:50% 50% 50% 12px;place-items:center;width:44px;height:44px;font-size:16px;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 8px 18px #d3436257}.travel-map-marker b{transform:rotate(45deg)}.travel-map-marker.is-draft{background:linear-gradient(145deg,#76c7b4,#35a58b);animation:1.5s ease-in-out infinite travel-map-pulse}@keyframes travel-map-pulse{50%{transform:rotate(-45deg)translateY(-5px)}}.travel-map-tooltip{flex-direction:column;gap:2px;min-width:100px;padding:2px;display:flex}.travel-map-tooltip strong{color:#3e3540;font-size:12px}.travel-map-tooltip span{color:#756a75;font-size:11px}.travel-timeline section{border:1px solid #0000;border-radius:14px;padding:0 12px 7px}.travel-timeline section.is-map-active{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent-bg) 55%, transparent)}.travel-timeline-date{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:10px 0 7px;display:flex}.travel-timeline-date span{font-size:13px;font-weight:800}.travel-timeline-date small{color:var(--text);font-size:12px}.travel-mapped-badge{color:#228269;background:#e3f6ef;border-radius:999px;align-self:flex-start;margin-top:5px;padding:3px 7px;font-size:11px;font-weight:700}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.travel-info-section{color:var(--text)}.travel-info-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.travel-info-heading h4{color:var(--text-h);margin:0;font-size:18px;line-height:1.35}.travel-info-heading p{color:var(--text);margin:3px 0 0;font-size:12px}.travel-info-heading>button{color:var(--accent);background:0 0;border:0;padding:4px 2px;font-size:12px;font-weight:700}.stay-display{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:4px 0 18px;display:grid}.stay-building{background:color-mix(in srgb, var(--accent-bg) 80%, var(--bg));border-radius:14px;place-items:center;width:66px;height:66px;font-size:30px;display:grid}.stay-display-main{min-width:0}.stay-display-main>span{color:var(--text);font-size:12px}.stay-display-main h5{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 4px;font-size:18px;line-height:1.3;overflow:hidden}.stay-display-main>p{color:var(--text);margin:0;font-size:12px;line-height:1.5}.stay-facts{flex-wrap:wrap;gap:7px 18px;margin-top:10px;display:flex}.stay-facts span,.stay-facts a{color:var(--text);font-size:12px}.stay-display-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:190px;display:flex}.stay-display-actions a{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}.stay-display-actions .is-text-link{width:100%;color:var(--accent);text-align:right;border:0;padding:2px}.stay-note-preview{border-top:1px solid var(--border);color:var(--text);gap:12px;margin:0;padding:12px 0;font-size:12px;line-height:1.55;display:flex}.stay-note-preview strong{color:var(--text-h);flex:none}.travel-inline-guide{background:color-mix(in srgb, var(--code-bg) 62%, var(--bg));border-radius:10px;align-items:center;gap:8px 22px;margin-top:14px;padding:12px 14px;font-size:12px;display:flex}.travel-inline-guide strong{color:var(--text-h)}.travel-inline-guide span{position:relative}.travel-inline-guide span+span:before{color:var(--border);content:"·";position:absolute;left:-12px}.travel-native-form{padding-top:2px}.travel-native-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.travel-native-form label,.saved-place-form label{min-width:0;color:var(--text);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.travel-native-form label em{color:var(--accent);margin-left:3px;font-size:11px;font-style:normal}.travel-native-form input,.saved-place-form input{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;color:var(--text-h);font:13px var(--sans);border-radius:7px;padding:9px 10px}.travel-native-form input:focus,.saved-place-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent)}.stay-editor-links{flex-wrap:wrap;gap:8px 18px;margin:11px 0 2px;display:flex}.stay-editor-links a{color:var(--accent);font-size:12px;font-weight:700}.travel-native-details{border-top:1px solid var(--border);margin-top:13px}.travel-native-details summary{color:var(--text-h);cursor:pointer;padding:12px 0;font-size:12px;font-weight:700}.travel-native-details summary small{color:var(--text);margin-left:4px;font-size:11px;font-weight:500}.travel-native-details .travel-native-grid{padding-bottom:12px}.travel-native-wide{grid-column:1/-1}.travel-native-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;display:flex}.travel-native-actions span{color:var(--text);font-size:11px}.travel-native-actions button,.saved-place-core button{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:700}.travel-native-actions button:disabled{opacity:.55}.travel-weather-layout{gap:24px;display:grid}.weather-overview{min-width:0}.weather-area-select select{border:1px solid var(--border);background:var(--bg);min-width:112px;color:var(--text-h);font:12px var(--sans);border-radius:7px;padding:6px 28px 6px 9px}.weather-date-strip{scrollbar-width:thin;grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;gap:7px;padding:1px 1px 7px;display:grid;overflow-x:auto}.weather-date-strip button{border:1px solid var(--border);background:var(--bg);min-height:82px;color:var(--text);cursor:pointer;border-radius:9px;place-items:center;gap:3px;padding:9px;display:grid}.weather-date-strip button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent-bg) 46%, var(--bg))}.weather-date-strip span{font-size:12px;font-weight:700}.weather-date-strip button.active span{color:var(--accent)}.weather-date-strip b{color:var(--text-h);font-size:23px;line-height:1.1}.weather-date-strip small{color:var(--text);font-size:11px}.weather-selected{background:color-mix(in srgb, var(--code-bg) 55%, var(--bg));border-radius:11px;grid-template-columns:minmax(160px,.8fr) minmax(210px,1fr) minmax(220px,1.4fr);align-items:center;gap:18px;margin-top:5px;padding:16px 18px;display:grid}.weather-selected-main{align-items:center;gap:12px;display:flex}.weather-selected-icon{flex:none;font-size:37px}.weather-selected-main>div{flex-direction:column;min-width:0;display:flex}.weather-selected-main small{color:var(--text);font-size:11px}.weather-selected-main strong{color:var(--text-h);margin-top:2px;font-size:20px}.weather-selected-metrics{gap:14px;display:flex}.weather-selected-metrics span{color:var(--text);flex-direction:column;font-size:11px;display:flex}.weather-selected-metrics b{color:var(--text-h);font-size:14px}.weather-selected-tip,.weather-native-message{color:var(--text);margin:0;font-size:12px;line-height:1.5}.weather-native-message{text-align:center;grid-column:1/-1}.weather-source-link{color:var(--text);text-align:right;margin-top:8px;font-size:11px;display:block}.travel-native-empty{color:var(--text);text-align:center;margin:0;padding:30px 16px;font-size:12px}.saved-places{border-top:1px solid var(--border);padding-top:22px}.saved-places-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.saved-places-header h4{color:var(--text-h);margin:0;font-size:16px}.saved-places-header p{color:var(--text);margin:3px 0 0;font-size:12px}.travel-eyebrow{display:none}.saved-places-count{color:var(--text);font-size:12px}.saved-place-form{background:color-mix(in srgb, var(--code-bg) 48%, var(--bg));border-radius:10px;padding:12px}.saved-place-core{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.saved-place-optional summary{color:var(--text);cursor:pointer;padding-top:10px;font-size:12px}.saved-place-optional summary small{margin-left:3px}.saved-place-optional>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:9px;display:grid}.saved-place-list{gap:0;margin-top:10px;display:grid}.saved-place-item{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 2px;display:grid}.travel-pin{font-size:18px}.saved-place-empty{color:var(--text);text-align:center;padding:24px 0}.saved-place-empty span{font-size:22px}.saved-place-empty p{margin:4px 0 0;font-size:12px}.travel-map-marker.is-hotel{background:linear-gradient(145deg,#fff8e9,#ffe3d5);border-color:#e7a17d}.travel-map-marker.is-hotel b{font-size:18px}@media (width<=960px){.site-header{grid-template-columns:1fr auto;gap:8px 16px;padding:10px 0}.primary-nav{grid-area:2/1/auto/-1;justify-self:center}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.site-header{grid-template-columns:minmax(0,1fr) auto;width:100%;min-height:64px;padding:8px 0}.brand{max-width:calc(100vw - 92px)}.brand small,.profile-name,.profile-chevron{display:none}.profile-menu>summary{padding-right:0}.profile-popover{width:auto;max-width:none;position:fixed;top:68px;left:12px;right:12px}.primary-nav{z-index:1100;right:12px;bottom:max(10px, env(safe-area-inset-bottom));width:auto;max-width:calc(100vw - 24px);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px;display:grid;position:fixed;left:12px}.primary-nav button{border-radius:13px;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:52px;padding:3px;font-size:10.5px}.primary-nav button span{font-size:16px}.screen-content{padding:28px 0 84px}.page-heading{margin-bottom:22px}.page-heading h1,.home-intro h1{font-size:30px}.page-heading p{font-size:14px}.home-intro{flex-direction:column;align-items:flex-start;gap:14px;padding-top:2px}.home-intro .anniversary{margin:0}.home-photo-frame{border-radius:4px;width:100%;margin-top:22px;padding:10px 10px 38px;transform:none}.home-photo-frame:after{inset:10px 10px 38px}.home-photo-frame .title-photo{width:100%;height:min(68vw,300px)}.photo-caption{bottom:10px;left:12px;right:12px}.home-view>.daily-quote{margin-top:18px}.dashboard-section,.home-weather{margin-top:34px}.section-heading{align-items:flex-start}.section-heading h2{font-size:21px}.dashboard-grid{gap:10px}.dashboard-card{min-height:158px;padding:15px}.dashboard-card strong{font-size:18px}.home-weather{padding:15px}.app-footer{margin:0 0 64px}.app-footer span{display:none}:where(.event-form,.workout-panel-card,.travel-form,.memory-form) input,:where(.event-form,.workout-panel-card,.travel-form,.memory-form) textarea,:where(.event-form,.workout-panel-card,.travel-form,.memory-form) select{min-height:44px;font-size:14px}:where(.form-actions,.anniversary-form,.notice-banner,.travel-form-actions,.memory-form-actions,.travel-native-actions) button{min-height:44px}.calendar-header button,.travel-icon-btn,.title-photo-remove,.region-close,.memory-card-del{width:40px;height:40px}.travel-paid-toggle{min-height:36px;padding:6px 10px;font-size:12px}.travel-category,.travel-stat-grid span,.travel-row-main span,.travel-row-main small,.travel-row-main a,.travel-timeline a,.weather-selected-main small,.weather-selected-metrics span,.weather-selected-tip,.weather-native-message{font-size:12px}.travel-body{padding:0 12px 14px}.travel-summary{flex-direction:column;padding:16px}.travel-summary-actions{justify-content:flex-start}.travel-quick-stats{grid-template-columns:repeat(2,1fr)}.travel-tab-panel{padding:13px}.travel-form-grid,.travel-card-grid,.travel-weather-layout{grid-template-columns:1fr}.travel-form-grid .travel-wide-field{grid-column:auto}.travel-inline-form,.travel-budget-form,.travel-stat-grid{grid-template-columns:1fr}.travel-list-row{flex-wrap:wrap}.travel-route-map{height:300px}.travel-map-hint{flex-direction:column}.stay-display{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.stay-building{width:52px;height:52px;font-size:24px}.stay-display-main h5{white-space:normal;font-size:16px}.stay-display-actions{grid-column:1/-1;justify-content:stretch;max-width:none}.stay-display-actions a{text-align:center;flex:1}.stay-display-actions .is-text-link{border:1px solid var(--border);width:auto;color:var(--text-h);text-align:center}.stay-note-preview,.travel-inline-guide{flex-direction:column;align-items:flex-start;gap:5px}.travel-inline-guide span+span:before{content:none}.travel-native-grid,.saved-place-core,.saved-place-optional>div{grid-template-columns:1fr}.travel-native-wide{grid-column:auto}.travel-native-actions{flex-direction:column;align-items:stretch}.travel-native-actions button,.saved-place-core button{width:100%}.weather-date-strip{grid-auto-columns:94px}.weather-date-strip button{min-height:78px}.weather-selected{grid-template-columns:1fr;gap:11px;padding:14px}.weather-selected-metrics,.weather-selected-tip{border-top:1px solid var(--border);padding-top:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
