@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,700&family=Dancing+Script:wght@500;600&display=swap";html,body{margin:0;height:100%;overflow-x:hidden;background:var(--bg-base)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--font-primary: "Outfit", sans-serif;--font-heading: "Playfair Display", Georgia, serif;--font-script: "Dancing Script", cursive;--font-body-light: 300 var(--fs-body) var(--font-primary);--font-body-light-italic: italic 300 var(--fs-helper) var(--font-primary);--font-body-regular: 500 var(--fs-helper) var(--font-primary);--font-body-med: 500 var(--fs-body) var(--font-primary);--font-body-semi: 600 var(--fs-body) var(--font-primary);--font-body-bold-heading: italic 700 var(--fs-body) var(--font-heading);--font-body-med-script: 500 var(--fs-body) var(--font-script);--font-helper-med: 500 var(--fs-helper) var(--font-primary);--font-label-med: 500 var(--fs-label) var(--font-primary);--font-caption-med: 500 var(--fs-caption) var(--font-primary);--font-map-label-med: 500 var(--fs-map-label) var(--font-primary);--font-subtitle-heavy-heading: italic 800 var(--fs-subtitle) var(--font-heading);--font-title-bold-heading: italic 700 var(--fs-title) var(--font-heading);--glass-bg-subtle: rgba(0, 0, 0, .03);--glass-bg-faint: rgba(0, 0, 0, .04);--glass-bg: rgba(0, 0, 0, .05);--glass-bg-mid: rgba(0, 0, 0, .09);--glass-bg-hover: rgba(0, 0, 0, .06);--glass-bg-active: rgba(0, 0, 0, .12);--glass-border: rgba(0, 0, 0, .1);--glass-border-strong: rgba(0, 0, 0, .18);--border-faint: rgba(0, 0, 0, .07);--border-soft: rgba(0, 0, 0, .08);--border-mid: rgba(0, 0, 0, .12);--border-strong: rgba(0, 0, 0, .14);--border-white-soft: rgba(255, 255, 255, .55);--text-primary: #1a1916;--text-secondary: #6b6660;--text-muted: #726e6b;--color-danger: #dc2626;--color-success: #16a34a;--color-amber-deep: #7c4a03;--color-success-bg: rgba(34, 197, 94, .12);--color-success-text: rgba(22, 163, 74, .9);--color-success-vivid: rgba(34, 197, 94, .85);--danger-bg-faint: rgba(220, 38, 38, .06);--danger-bg-subtle: rgba(220, 38, 38, .08);--shadow-dark: rgba(0, 0, 0, .18);--shadow-medium: rgba(0, 0, 0, .1);--shadow-light: rgba(0, 0, 0, .06);--shadow-xs: 0 1px 4px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .08);--shadow-raised: 0 1px 4px rgba(0, 0, 0, .1);--shadow-glow-success: 0 0 4px rgba(34, 197, 94, .4);--shadow-glow-accent: 0 0 4px rgba(217, 119, 6, .4);--shadow-md: 0 3px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-panel: 0 8px 32px rgba(0, 0, 0, .08);--shadow-nav: 0 4px 20px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .7);--shadow-tab-hover: 0 2px 10px rgba(100, 180, 255, .18), 0 1px 3px rgba(0, 0, 0, .07), inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -1px 0 rgba(100, 180, 255, .12);--shadow-dialog: 0 20px 60px rgba(0, 0, 0, .15), 0 4px 16px rgba(0, 0, 0, .08);--border-hairline: rgba(0, 0, 0, .06);--accent-border-faint: rgba(217, 119, 6, .15);--accent-border-subtle: rgba(217, 119, 6, .18);--accent-border-dim: rgba(217, 119, 6, .28);--accent-border-vivid: rgba(217, 119, 6, .8);--danger-border: rgba(220, 38, 38, .5);--danger-border-soft: rgba(220, 38, 38, .25);--accent-bg-faint: rgba(217, 119, 6, .04);--accent-bg: rgba(217, 119, 6, .1);--accent-vivid: rgba(217, 119, 6, .85);--accent-text-soft: rgba(217, 119, 6, .8);--accent-text: rgba(217, 119, 6, .9);--accent-text-dark: rgba(180, 83, 9, .9);--accent-bg-hover: rgba(217, 119, 6, .18);--accent-border: rgba(217, 119, 6, .35);--accent-border-hover: rgba(217, 119, 6, .55);--accent-border-focus: rgba(217, 119, 6, .45);--accent-glow: rgba(217, 119, 6, .15);--accent-border-mid: rgba(217, 119, 6, .5);--bubble-bg: rgba(217, 119, 6, .12);--bubble-bg-hover: rgba(217, 119, 6, .2);--bubble-glow: rgba(217, 119, 6, .1);--bubble-glow-hover: rgba(217, 119, 6, .18);--glow-hint: rgba(217, 119, 6, .06);--glow-faint: rgba(217, 119, 6, .1);--glow-soft: rgba(217, 119, 6, .2);--glow-mid: rgba(217, 119, 6, .32);--glow-strong: rgba(217, 119, 6, .5);--glow-intense: rgba(217, 119, 6, .7);--gradient-tab-hover: linear-gradient( 160deg, rgba(255, 255, 255, .55) 0%, rgba(190, 225, 255, .22) 50%, rgba(160, 210, 255, .12) 100% );--gradient-tab-active: linear-gradient( 160deg, rgba(160, 210, 255, .35) 0%, rgba(100, 180, 255, .18) 60%, rgba(255, 255, 255, .25) 100% );--gradient-warm-hover: linear-gradient(135deg, #fdf8f2 0%, #fef6ea 100%);--gradient-warm-active: linear-gradient(135deg, #fdf0e0 0%, #fde8c8 100%);--gradient-warm-subtle: linear-gradient(135deg, #fdf6e3 0%, #fef9f0 100%);--gradient-warm-soft: linear-gradient(160deg, #fdf6e3 0%, #fff8f0 60%, #fef9f0 100%);--gradient-accent: linear-gradient(90deg, rgba(217, 119, 6, .5), rgba(217, 119, 6, .15));--bg-base: #faf9f5;--bg-white: #ffffff;--bg-dark: #2d2c28;--bg-nav: rgba(250, 249, 245, .97);--bg-overlay: rgba(0, 0, 0, .35);--bg-dim: rgba(0, 0, 0, .3);--bg-dark-overlay: rgba(0, 0, 0, .55);--dialog-close-size: 28px;--photo-max-width: 150px;--quill-offset: 14px;--radius-sm: 10px;--radius-md: 12px;--radius-card: 14px;--radius-lg: 16px;--radius-xl: 24px;--radius-xxl: 32px;--radius-pill: 99px;--header-padding: 50px;--nav-height: 50px;--lh: 1.8;--transition-duration: .22s;--tr-instant: .1s ease;--tr-fast: .15s ease;--tr-base: .2s ease;--hover-scale: 1.05;--hover-lift: -5px;--z-overlay: 1000;--cover-sm-w: 44px;--cover-sm-h: 64px;--cover-md-w: 75px;--cover-md-h: 110px;--thumb-size: 90px;--chatbot-bubble-size: 56px;--chatbot-window-width: 350px;--chatbot-window-max-height: 520px;--chatbot-bg: #ffffff;--gap-xxs: 4px;--gap-xs: 6px;--gap-s: 10px;--gap-md: 12px;--gap-lg: 20px;--ls-pad-xxs: 2px;--ls-pad-xs: 4px;--ls-pad-s: 8px;--ls-pad-md: 16px;--ls-pad-lg: 24px;--ls-pad-xl: 32px;--ls-pad-xxl: 64px;--ls-blur: 16px;--ls-toggle-size: 32px;--ls-handle-w: 16px;--ls-handle-h: 64px;--ls-clearance: calc(var(--ls-pad-s) + var(--ls-toggle-size) + var(--ls-pad-s));--ls-shadow-nav: 2px 0 var(--ls-pad-s) rgba(0, 0, 0, .08);--ls-shadow-toggle: 0 2px var(--ls-pad-s) rgba(0, 0, 0, .1);--ls-shadow-handle: 4px 0 var(--ls-pad-s) rgba(0, 0, 0, .08);--fs-map-label: .5rem;--fs-badge: .62rem;--fs-micro: .68rem;--fs-caption: .72rem;--fs-label: .78rem;--fs-helper: .82rem;--fs-body: 1rem;--fs-subtitle: 1.5rem;--fs-title: 2rem}:root{--photo-max-width: 120px;--header-padding: 32px}.App{font-family:var(--font-primary);text-align:center;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.App-header{background:var(--bg-base);flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:calc(50px + var(--header-padding));font-size:calc(10px + 2vmin);color:var(--text-primary);position:relative;overflow-x:hidden}.App-header--blogs{padding-top:0}.main-tabs{display:flex;flex-direction:row;width:100%;box-sizing:border-box;gap:0;padding:4px 0;border-radius:0;border:1px solid var(--border-white-soft);border-left:none;border-right:none;border-bottom-color:var(--border-hairline);max-height:50px;overflow:hidden;position:fixed;top:0;left:0;z-index:50;margin-bottom:0;background:var(--bg-base);box-shadow:var(--shadow-nav);opacity:1;transition:opacity .7s ease}.main-tabs--hidden{opacity:1}.main-tab{flex:1;padding:8px 16px;border:none;border-radius:0;background:transparent;color:var(--text-muted);font:var(--font-helper-med);cursor:pointer;text-align:center;transition:background var(--tr-base),color var(--tr-base),box-shadow var(--tr-base),transform .08s ease}.main-tab:hover{background:var(--gradient-tab-hover);color:var(--text-primary);box-shadow:var(--shadow-tab-hover)}.main-tab:active{background:var(--gradient-tab-active);box-shadow:0 0 0 4px #64b4ff2e,0 0 16px #64b4ff38,inset 0 2px 6px #0000001a,inset 0 1px #fff9;transform:scale(.94);color:var(--text-primary);transition:transform .07s ease,box-shadow .07s ease,background .07s ease}.main-tab--active{background:var(--gradient-tab-active);color:var(--text-primary);box-shadow:0 1px 6px #0000001f,0 0 0 1px #0000000f}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.main-tab-content{position:relative;z-index:10;display:flex;justify-content:center;flex:1;min-height:0;animation:tab-fade-in .25s ease}.App-header--books .main-tab-content{justify-content:flex-start}.tab-content-panel{display:flex;flex-direction:column;align-items:center;gap:var(--ls-pad-md);text-align:center;max-width:calc(100vw - 32px)}.tab-content-title{font:var(--font-body-bold-heading);letter-spacing:2px;color:var(--text-primary);margin:0;text-shadow:0 1px 3px rgba(0,0,0,.08)}.tab-content-text{font-size:var(--fs-body);color:var(--text-secondary);margin:0;line-height:var(--lh);font-weight:300}.tab-content-links{display:flex;gap:var(--gap-md);flex-wrap:wrap;justify-content:center}.tab-content-link{padding:9px 20px;border-radius:var(--radius-xl);background:var(--bg-white);border:1px solid var(--border-mid);color:var(--text-primary);font:var(--font-body-semi);text-decoration:none;transition:background var(--transition-duration) ease,box-shadow var(--transition-duration) ease,border-color var(--transition-duration) ease;box-shadow:var(--shadow-sm)}.tab-content-link:hover{background:#f5f0e8;border-color:var(--accent-border);box-shadow:0 2px 10px #0000001a,0 0 0 2px #d977061f}.main-tab-content--adventures{align-self:stretch;flex:1;min-height:0;position:relative}.landscape-nav-toggle,.landscape-nav-close,.landscape-nav-backdrop{display:none}@media(min-width:601px){:root{--photo-max-width: 150px;--header-padding: 50px}.App-header{padding-top:var(--header-padding)}.main-tabs{position:relative;top:auto;left:auto;width:auto;max-height:none;overflow:visible;flex-direction:row;gap:var(--gap-s);padding:5px;border-radius:var(--radius-xxl);border:1px solid var(--border-white-soft);border-bottom-color:var(--border-hairline);background:#faf9f58c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom:var(--header-padding);z-index:10;box-shadow:var(--shadow-nav)}.main-tab{flex:none;padding:var(--ls-pad-s) var(--ls-pad-lg);font-size:var(--fs-body);border-radius:var(--radius-xl);text-align:center}.tab-content-panel{max-width:400px;gap:var(--gap-lg)}.tab-content-title{font-size:var(--fs-title)}.tab-content-link{padding:var(--ls-pad-s) var(--ls-pad-lg)}.main-tab-content--blogs{align-self:stretch}.App-header--wayfare{padding-top:0;overflow:hidden}.App-header--wayfare .main-tabs{position:absolute;top:var(--header-padding);left:50%;transform:translate(-50%);margin-bottom:0;z-index:100}.App-header--wayfare .main-tab-content--adventures{position:absolute;inset:0}}@media(min-width:1200px){:root{--photo-max-width: 180px;--header-padding: 64px}.main-tabs--hidden{opacity:0}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){:root{--header-padding: 0px}.App-header{flex-direction:row;align-items:stretch;padding-top:0;overflow:hidden;height:100dvh;box-sizing:border-box}.main-tabs,.App-header--wayfare .main-tabs{position:relative;left:auto;top:auto;transform:none;flex-shrink:0;align-self:stretch;flex-direction:column;justify-content:center;align-items:stretch;max-height:none;overflow:visible;width:auto;margin-bottom:0;padding:var(--ls-pad-s);border-radius:0;gap:var(--gap-s);z-index:200;box-sizing:border-box;box-shadow:var(--ls-shadow-nav);background:var(--bg-nav);backdrop-filter:blur(var(--ls-blur));-webkit-backdrop-filter:blur(var(--ls-blur))}.main-tab{flex:none;padding:var(--ls-pad-s) var(--gap-s);font-size:var(--fs-body);line-height:var(--lh);text-align:center;border-radius:var(--radius-sm);white-space:normal;word-break:break-word}.main-tab-content{flex:1;min-width:0;min-height:0;max-height:100dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;box-sizing:border-box}.App-header--books .main-tab-content{align-items:center;justify-content:flex-start}.main-tabs--landscape-toggle,.App-header--wayfare .main-tabs--landscape-toggle{position:absolute;top:0;left:0;height:100%;transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s .2s}.main-tabs--landscape-open,.App-header--wayfare .main-tabs--landscape-open{transform:translate(0);visibility:visible;overflow:visible;transition:transform .2s ease,visibility 0s}.landscape-nav-backdrop{display:block;position:absolute;inset:0;z-index:150;background:#00000026}.App-header--landscape-toggle-mode .main-tab-content{padding-top:var(--ls-clearance)}.landscape-nav-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:var(--ls-pad-s);left:var(--ls-pad-s);width:var(--ls-toggle-size);height:var(--ls-toggle-size);z-index:300;background:#faf9f5eb;backdrop-filter:blur(var(--ls-blur));-webkit-backdrop-filter:blur(var(--ls-blur));border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--fs-body);color:var(--text-primary);cursor:pointer;box-shadow:var(--ls-shadow-toggle)}.landscape-nav-close{display:flex;align-items:center;justify-content:center;position:absolute;right:calc(-1 * var(--ls-handle-w));top:50%;transform:translateY(-50%);width:var(--ls-handle-w);height:var(--ls-handle-h);background:var(--bg-nav);backdrop-filter:blur(var(--ls-blur));-webkit-backdrop-filter:blur(var(--ls-blur));border:1px solid var(--glass-border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--ls-shadow-handle);font-size:var(--fs-body);color:var(--text-muted);cursor:pointer;z-index:201;transition:background .15s ease,color .15s ease}.landscape-nav-close:hover{background:#f0ebe4f7;color:var(--text-secondary)}.App-header--landscape-toggle-mode .main-tab-content--adventures,.App-header--wayfare .main-tab-content--adventures{position:relative;inset:auto;overflow-y:hidden}.main-tab-content--adventures{position:relative;align-items:stretch;overflow-y:hidden}}.main-tab:focus-visible,.landscape-nav-toggle:focus-visible,.landscape-nav-close:focus-visible{outline:2px solid var(--accent-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.main-tab-content{animation:none}.main-tabs,.main-tab,.main-tabs--landscape-toggle,.App-header--wayfare .main-tabs--landscape-toggle,.main-tabs--landscape-open,.landscape-nav-close{transition:none}}.blogs-footer{margin-top:auto;font-size:var(--fs-label);color:var(--text-muted);font-weight:300;text-align:center;padding:var(--ls-pad-s) 0 4px;border-top:1px solid var(--border-hairline)}.footer-medium-link{display:block;text-align:center;font-size:var(--fs-label);color:var(--accent-text-soft);text-decoration:none;font-weight:500;padding:6px 0;transition:color var(--transition-duration) ease}.footer-medium-link:hover{color:#d97706}.photo-container{display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;z-index:10}.photo{max-width:var(--photo-max-width);border-radius:var(--radius-xl);border:1.5px solid var(--glass-border);box-shadow:0 4px 16px var(--shadow-medium),0 2px 6px var(--shadow-light);transition:transform var(--transition-duration) ease,box-shadow var(--transition-duration) ease}.photo:hover{transform:scale(var(--hover-scale)) translateY(var(--hover-lift));box-shadow:0 12px 36px var(--shadow-dark),0 4px 14px var(--shadow-medium),0 0 0 2px #d977062e}.photo-title{font:var(--font-title-bold-heading);letter-spacing:2px;color:var(--text-primary);margin:0;opacity:1;transform:none;text-shadow:0 1px 4px rgba(0,0,0,.12),0 0 20px var(--glow-soft);transition:opacity var(--transition-duration) ease,transform var(--transition-duration) ease}.photo-container:hover .photo-title,.photo-container--hovered .photo-title{opacity:1;transform:translateY(0) scale(1)}.mobile-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;max-width:300px}.mobile-tag{font:var(--font-caption-med);color:var(--text-secondary);white-space:nowrap}.scatter-tag{display:none}@media(min-width:601px){.photo-title{opacity:0;transform:translateY(-10px) scale(.95);margin-top:40px;letter-spacing:1px}.mobile-tags{max-width:400px}.mobile-tag{font-size:var(--fs-label)}.mobile-tags{display:none}.scatter-tag{display:block;position:absolute;font:var(--font-caption-med);color:var(--text-secondary);white-space:nowrap;cursor:default;user-select:none;z-index:200;padding:8px 16px;top:calc(110px + sin(var(--a, 0deg)) * var(--ry, 160px));left:calc(50% + cos(var(--a, 0deg))*180px);transform:translate(-50%,-50%) scale(.75);rotate:var(--tilt, 0deg);opacity:0;transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.56,.64,1);text-shadow:0 1px 6px rgba(0,0,0,.18)}.scatter-tag:nth-child(1 of.scatter-tag){--a: -90deg;--tilt: -4deg;--delay: 0s}.scatter-tag:nth-child(2 of.scatter-tag){--a: -54deg;--tilt: 3deg;--delay: .04s}.scatter-tag:nth-child(3 of.scatter-tag){--a: -18deg;--tilt: 3deg;--delay: .08s}.scatter-tag:nth-child(4 of.scatter-tag){--a: 18deg;--tilt: 2deg;--delay: .12s}.scatter-tag:nth-child(5 of.scatter-tag){--a: 54deg;--tilt: -2deg;--delay: .16s;--ry: 210px}.scatter-tag:nth-child(6 of.scatter-tag){--a: 90deg;--tilt: -2deg;--delay: .2s;--ry: 210px}.scatter-tag:nth-child(7 of.scatter-tag){--a: 126deg;--tilt: 3deg;--delay: .24s;--ry: 210px}.scatter-tag:nth-child(8 of.scatter-tag){--a: 162deg;--tilt: 5deg;--delay: .28s}.scatter-tag:nth-child(9 of.scatter-tag){--a: 198deg;--tilt: -3deg;--delay: .32s}.scatter-tag:nth-child(10 of.scatter-tag){--a: 234deg;--tilt: 4deg;--delay: .36s}.photo-container--hovered .scatter-tag{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:var(--delay, 0s)}}@media(prefers-reduced-motion:reduce){.photo,.photo-title{transition:none}.scatter-tag,.photo-container--hovered .scatter-tag{transition:none;transition-delay:0s}}@media(min-width:601px)and (max-width:1199px){.photo-title{margin-top:80px}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.photo-container{width:100%;max-width:320px;margin:0 auto;padding:12px var(--ls-pad-md);box-sizing:border-box;align-items:center}.photo{max-width:100px}.photo-title{opacity:1;transform:none;margin-top:8px}.mobile-tags{display:flex}.scatter-tag{display:none}}.skill-page{width:100%;padding:var(--ls-pad-s) var(--ls-pad-md);box-sizing:border-box}.skill-page-title{font-family:var(--font-heading);font-size:var(--fs-body);font-weight:700;font-style:italic;color:var(--text-primary);margin:0 0 28px;letter-spacing:.5px}.skill-bars{display:grid;grid-template-columns:1fr;gap:32px;width:100%}.skill-group{display:flex;flex-direction:column;gap:14px}.skill-group-title{font-family:var(--font-primary);font-size:var(--fs-micro);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;padding-bottom:var(--ls-pad-s);border-bottom:1px solid var(--glass-border)}.skill-group-skills,.skill-item{display:flex;flex-direction:column;gap:var(--gap-s)}.skill-name{font-family:var(--font-primary);font-size:var(--fs-helper);font-weight:500;color:var(--text-secondary);letter-spacing:.2px}.skill-line{height:2px;width:100%;background:var(--gradient-accent);border-radius:var(--radius-pill)}@media(min-width:601px){.skill-page{padding:40px 40px 56px}.skill-page-title{margin:0 0 40px}.skill-bars{grid-template-columns:repeat(2,1fr);gap:40px 48px}}@media(min-width:1025px){.skill-page{padding:48px 48px 64px}.skill-bars{grid-template-columns:repeat(3,1fr);gap:48px 56px}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.skill-page{padding:var(--ls-pad-md) 20px var(--ls-pad-lg);width:100%}.skill-page-title{font-size:var(--fs-body);margin-bottom:var(--ls-pad-md)}.skill-bars{grid-template-columns:repeat(2,1fr);gap:20px 32px}.skill-group{gap:var(--gap-s)}.skill-group-title{font-size:var(--fs-micro);margin-bottom:2px;padding-bottom:4px}.skill-group-skills{gap:7px}.skill-name{font-size:var(--fs-label)}}.adv-wrapper{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.adv-wrapper:active{cursor:grabbing}.adv-map{width:100%;height:100%}.adv-geo{fill:transparent;stroke:#0000002e;stroke-width:.5;outline:none;pointer-events:none;cursor:default}.adv-dot{stroke-width:1.5;cursor:pointer;transition:r var(--tr-fast)}.adv-dot--visited{fill:#22c55ebf;stroke:#16a34af2;filter:drop-shadow(0 0 4px rgba(34,197,94,.3))}.adv-dot--wishlist{fill:#d97706bf;stroke:#d97706f2;filter:drop-shadow(0 0 4px rgba(217,119,6,.3))}.adv-dot--visited:hover,.adv-dot--visited.adv-dot--active{fill:#22c55e;filter:drop-shadow(0 0 7px rgba(34,197,94,.6));r:7}.adv-dot--wishlist:hover,.adv-dot--wishlist.adv-dot--active{fill:#d97706;filter:drop-shadow(0 0 7px rgba(217,119,6,.55));r:7}.adv-legend{position:absolute;bottom:14px;left:14px;display:flex;flex-direction:column;gap:var(--gap-xs);z-index:20;pointer-events:none}.adv-legend-item{display:flex;align-items:center;gap:var(--gap-xs);font:var(--font-caption-med);color:var(--text-secondary);background:#faf9f5bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:3px var(--ls-pad-s) 3px 6px;border-radius:20px;border:1px solid var(--border-faint)}.adv-legend-item:before{content:"";width:9px;height:9px;border-radius:50%;flex-shrink:0}.adv-legend-item--visited:before{background:#22c55ed9;box-shadow:0 0 4px #22c55e66}.adv-legend-item--wishlist:before{background:#d97706d9;box-shadow:0 0 4px #d9770666}.adv-label{font:var(--font-map-label-med);fill:var(--text-secondary);pointer-events:none;user-select:none}.adv-popup-inner{background:var(--bg-base);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #00000021,0 2px 8px #00000012;padding:12px;display:flex;flex-direction:column;gap:var(--gap-s)}.adv-popup{position:absolute;transform:translate(-50%,calc(-100% - 14px));z-index:100;width:200px;opacity:1;transition:opacity 1s ease;pointer-events:auto}.adv-popup--fading{opacity:0;pointer-events:none}.adv-popup--flipped{transform:translate(-50%,14px)}.adv-popup-arrow{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid var(--glass-border);position:relative;left:50%;transform:translate(-50%)}.adv-popup-arrow:after{content:"";position:absolute;top:-10px;left:-7px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid var(--bg-base)}.adv-popup--flipped .adv-popup-arrow{order:-1;border-top:none;border-bottom:9px solid var(--glass-border)}.adv-popup--flipped .adv-popup-arrow:after{top:auto;bottom:-10px;border-top:none;border-bottom:8px solid var(--bg-base)}.adv-popup-header{display:flex;align-items:baseline;gap:var(--gap-xs)}.adv-popup-title{font:var(--font-body-bold-heading);color:var(--text-primary);flex:1}.adv-popup-country{font-family:var(--font-primary);font-size:var(--fs-micro);color:var(--text-muted)}.adv-popup-close{background:none;border:none;font-size:var(--fs-body);color:var(--text-muted);cursor:pointer;padding:0 2px;line-height:1;transition:color var(--tr-fast)}.adv-popup-close:hover{color:var(--text-primary)}.adv-popup-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ls-pad-s);min-height:clamp(130px,15vw,180px)}.adv-popup-spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--accent-border-faint);border-top-color:var(--accent-border-vivid);border-radius:50%;animation:spinner-spin .8s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}.adv-popup-loading-text{font-family:var(--font-primary);font-size:var(--fs-caption);color:var(--text-muted);animation:loading-pulse 1.2s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.4}}.adv-popup-loading--out{animation:loading-fadeout .35s ease forwards}@keyframes loading-fadeout{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.adv-carousel-track--reveal{animation:photo-reveal .8s ease forwards}@keyframes photo-reveal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.adv-popup-empty{font-family:var(--font-primary);font-size:var(--fs-caption);color:var(--text-muted);line-height:var(--lh);margin:0;padding:var(--ls-pad-s) 0}.adv-popup-empty--tall{min-height:clamp(130px,15vw,180px);display:flex;align-items:center;justify-content:center;padding:0}.adv-carousel-track{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--glass-bg-mid)}.adv-carousel-img{width:100%;height:130px;object-fit:cover;object-position:center 20%;display:block;pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}.adv-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:var(--bg-overlay);border:none;color:#fff;font-size:var(--fs-body);width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease}.adv-carousel-btn:hover{background:#0000008c}.adv-carousel-btn--prev{left:5px}.adv-carousel-btn--next{right:5px}.adv-carousel-counter{position:absolute;bottom:5px;right:7px;font-family:var(--font-primary);font-size:var(--fs-badge);color:#ffffffe6;background:var(--bg-overlay);padding:1px 6px;border-radius:var(--radius-pill)}.adv-zoom-controls{position:absolute;bottom:24px;right:24px;display:flex;flex-direction:column;gap:var(--gap-s);z-index:50}.adv-zoom-btn{width:32px;height:32px;background:var(--bg-base);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--fs-body);line-height:1;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014;transition:background var(--tr-fast),color var(--tr-fast)}.adv-zoom-btn:hover{background:#f0ece4;color:var(--text-primary)}@keyframes lightbox-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes lightbox-out{0%{opacity:1;transform:translate(0) scale(1)}60%{opacity:.6}to{opacity:0;transform:translate(var(--close-dx),var(--close-dy)) scale(.04)}}.adv-lightbox{position:fixed;inset:0;z-index:9999;background:#00000026;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ls-pad-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:1;transition:opacity 1s ease;touch-action:none;animation:lightbox-in .3s ease}.adv-lightbox--fading{opacity:0;pointer-events:none}.adv-lightbox--closing{animation:lightbox-out .75s cubic-bezier(.4,0,.8,.6) forwards;pointer-events:none}.adv-lightbox-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff2e;color:#fff;font-size:var(--fs-body);cursor:pointer;display:flex;align-items:center;justify-content:center}.adv-lightbox-label{display:flex;gap:var(--ls-pad-s);align-items:baseline}.adv-lightbox-title{font:var(--font-body-bold-heading);color:#fff}.adv-lightbox-country{font-family:var(--font-primary);font-size:var(--fs-label);color:#fff9}.adv-lightbox-body{position:relative;display:flex;align-items:center;justify-content:center}.adv-lightbox-carousel{position:relative;border-radius:var(--radius-md);overflow:hidden}.adv-lightbox-img-wrap{position:relative;display:inline-block}.adv-lightbox-img{max-width:88vw;max-height:65vh;object-fit:contain;border-radius:12px;display:block;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;touch-action:none;pointer-events:none}.adv-lightbox-watermark{position:absolute;bottom:10px;right:14px;font:var(--font-caption-med);letter-spacing:.04em;color:#ffffff73;text-shadow:0 1px 3px rgba(0,0,0,.4);pointer-events:none;user-select:none}.adv-zoom-btn:focus-visible,.adv-carousel-btn:focus-visible,.adv-popup-close:focus-visible,.adv-lightbox-close:focus-visible{outline:2px solid var(--accent-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.adv-lightbox{animation:none;transition:none}.adv-lightbox--closing{animation:none}.adv-popup{transition:none}.adv-popup-loading-text{animation:none;opacity:.7}.adv-popup-spinner{animation:none;opacity:.5}.adv-popup-loading--out,.adv-carousel-track--reveal{animation:none}.adv-dot,.adv-popup-close,.adv-carousel-btn,.adv-zoom-btn{transition:none}}@media(min-width:901px){.adv-popup{width:clamp(200px,25vw,280px)}.adv-carousel-img{height:clamp(130px,15vw,180px)}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.adv-lightbox-img{max-width:70vw;max-height:80vh}.adv-zoom-controls{bottom:8px;right:8px}.adv-legend{bottom:8px;left:8px}}.books-panel{max-width:calc(100vw - 32px);width:100%}.books-loading{opacity:.45;font-style:italic;font-weight:300}.books-columns{display:flex;flex-direction:column;gap:20px;width:100%;align-items:flex-start}.books-column{flex:1;display:flex;flex-direction:column;gap:var(--ls-pad-s);min-width:0}.books-column-title{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.2px;margin:0 0 4px}.books-list{display:flex;flex-direction:column;gap:var(--ls-pad-s);width:100%;max-height:calc(50dvh - 80px);overflow-y:auto;padding-right:4px}.books-current-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-s);align-items:flex-start}.book-current-card{display:flex;flex-direction:column;align-items:center;gap:var(--gap-xs);text-decoration:none;transition:transform var(--transition-duration) ease}.book-current-card:hover{transform:translateY(-3px)}.book-current-cover{width:var(--cover-md-w);height:var(--cover-md-h);object-fit:cover;border-radius:var(--radius-sm);box-shadow:0 6px 20px var(--shadow-dark),0 0 0 1px var(--glass-border)}.book-current-title{font-size:var(--fs-label);font-weight:600;color:var(--text-primary);text-align:center;line-height:var(--lh);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-current-author{font-size:var(--fs-micro);color:var(--text-secondary);text-align:center}.books-list::-webkit-scrollbar{width:3px}.books-list::-webkit-scrollbar-track{background:transparent}.books-list::-webkit-scrollbar-thumb{background:var(--glass-bg-hover);border-radius:2px}.book-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-card);background:var(--bg-white);border:1px solid var(--border-soft);text-decoration:none;transition:background var(--transition-duration) ease,transform var(--transition-duration) ease,border-color var(--transition-duration) ease,box-shadow var(--transition-duration) ease;text-align:left;box-shadow:var(--shadow-xs)}.book-item:hover{background:#fdf8f2;border-color:var(--accent-border-dim);box-shadow:var(--shadow-md);transform:translate(3px)}.book-cover{width:var(--cover-sm-w);height:var(--cover-sm-h);object-fit:cover;border-radius:6px;flex-shrink:0;box-shadow:0 4px 12px var(--shadow-medium)}.book-info{display:flex;flex-direction:column;gap:var(--gap-xs);min-width:0}.book-title{font-size:var(--fs-body);font-weight:600;color:var(--text-primary);line-height:var(--lh);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author{font-size:var(--fs-label);color:var(--text-secondary);font-weight:300}.book-stars{font-size:var(--fs-label);letter-spacing:1px}.book-star{color:#d6cfc7}.book-star--filled{color:#ffd250e0}@media(min-width:601px){.books-panel{max-width:760px}.books-columns{flex-direction:row;gap:var(--ls-pad-md)}.books-list{max-height:320px}.books-current-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1200px){.books-panel{max-width:900px}.books-list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-s);max-height:none;overflow-y:visible;padding-right:0}.book-item{flex-direction:column;align-items:center;text-align:center;padding:10px;gap:var(--gap-s)}.book-item:hover{transform:translateY(-3px)}.book-cover{width:var(--cover-md-w);height:var(--cover-md-h);border-radius:var(--radius-sm);box-shadow:0 6px 20px var(--shadow-dark),0 0 0 1px var(--glass-border)}.book-info{align-items:center}.book-title{font-size:var(--fs-label);text-align:center}.book-author{font-size:var(--fs-micro);text-align:center}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.books-panel{max-width:600px;width:100%;padding:12px var(--ls-pad-lg) var(--ls-pad-lg);box-sizing:border-box;margin:0 auto}.books-columns{flex-direction:column;gap:20px}.books-list{max-height:none;overflow-y:visible}.books-current-grid{grid-template-columns:repeat(4,1fr)}.books-loading{text-align:center;width:100%;padding-top:40px}}.chatbot-bubble{position:fixed;bottom:16px;right:16px;width:50px;height:50px;border-radius:50%;background:var(--bubble-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1.5px solid var(--glass-border-strong);color:var(--text-primary);font-size:var(--fs-body);cursor:pointer;box-shadow:0 8px 32px var(--shadow-medium),0 0 20px var(--bubble-glow);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease}.chatbot-bubble:hover{background:var(--bubble-bg-hover);border-color:var(--accent-border-hover);box-shadow:0 8px 24px var(--shadow-medium),0 0 16px var(--bubble-glow-hover);transform:scale(1.08)}.chatbot-window{position:fixed;left:12px;right:12px;bottom:78px;width:auto;max-height:calc(100dvh - 94px);background:var(--chatbot-bg);border:1px solid var(--glass-border);border-radius:16px 16px 4px 4px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;display:flex;flex-direction:column;z-index:var(--z-overlay);animation:chatbot-slide-up .25s ease;overflow:hidden;font-family:var(--font-primary)}@keyframes chatbot-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chatbot-header{background:var(--glass-bg-subtle);border-bottom:1px solid var(--glass-bg);color:var(--text-primary);padding:14px var(--ls-pad-md);display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:var(--fs-body);letter-spacing:.2px}.chatbot-close{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;color:var(--text-primary);width:24px;height:24px;font-size:var(--fs-helper);cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s,background .2s}.chatbot-close:hover{opacity:1;background:var(--glass-bg-hover)}.chatbot-tabs{display:flex;gap:2px;padding:6px 12px;background:var(--glass-bg-subtle);border-bottom:1px solid var(--glass-bg)}.chatbot-tab{flex:1;padding:6px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:var(--font-label-med);cursor:pointer;transition:background var(--tr-base),color var(--tr-base)}.chatbot-tab:hover{background:var(--glass-bg-hover);color:var(--text-secondary)}.chatbot-tab--active{background:var(--bg-white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.chatbot-messages{flex:1;overflow-y:auto;padding:var(--ls-pad-md);display:flex;flex-direction:column;gap:var(--gap-s)}.chatbot-messages::-webkit-scrollbar{width:3px}.chatbot-messages::-webkit-scrollbar-track{background:transparent}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--glass-bg-hover);border-radius:2px}.chatbot-message{max-width:80%;padding:10px 14px;border-radius:14px;font-size:var(--fs-body);line-height:var(--lh);word-break:break-word}.chatbot-message--assistant{background:var(--glass-bg);border:1px solid var(--glass-bg-mid);color:var(--text-secondary);align-self:flex-start;border-bottom-left-radius:4px}.chatbot-message--user{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-primary);align-self:flex-end;border-bottom-right-radius:4px}.chatbot-typing{display:flex;gap:var(--gap-s);align-items:center;padding:2px 0}.chatbot-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:chatbot-dot-bounce 1.2s infinite}.chatbot-typing span:nth-child(2){animation-delay:.2s}.chatbot-typing span:nth-child(3){animation-delay:.4s}@keyframes chatbot-dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.chatbot-input-row{display:flex;gap:var(--ls-pad-s);padding:12px var(--ls-pad-md);border-top:1px solid var(--glass-bg-subtle)}.chatbot-input-row .chatbot-input{flex:1;width:auto}.chatbot-input-row .chatbot-send{width:auto}.contact-form{display:flex;flex-direction:column;gap:var(--gap-s);padding:var(--ls-pad-md);flex:1}.contact-form-intro{font-size:var(--fs-body);color:var(--text-secondary);margin:0;font-weight:300;line-height:var(--lh)}.contact-form-textarea{resize:vertical;min-height:80px;font-family:var(--font-primary);line-height:var(--lh)}.contact-form-status{font-size:var(--fs-helper);margin:0;font-weight:500}.contact-form-status--success{color:var(--color-success)}.contact-form-status--error{color:var(--color-danger)}.chatbot-input{width:100%;padding:9px 14px;background:var(--glass-bg-subtle);border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:var(--fs-body);font-family:var(--font-primary);color:var(--text-primary);outline:none;box-sizing:border-box;transition:border-color .2s,background .2s}.chatbot-input::placeholder{color:var(--text-muted)}.chatbot-input:focus{border-color:var(--accent-border-focus);background:var(--glass-bg)}.chatbot-send{width:100%;padding:9px var(--ls-pad-md);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);color:var(--text-primary);font:var(--font-body-semi);cursor:pointer;transition:background var(--tr-base),border-color var(--tr-base),box-shadow var(--tr-base)}.chatbot-send:hover:not(:disabled){background:var(--accent-bg-hover);border-color:var(--accent-border-hover);box-shadow:0 4px 16px var(--accent-glow)}.chatbot-send:disabled{opacity:.32;cursor:not-allowed}.chatbot-social-links{display:flex;gap:var(--ls-pad-s);padding:12px var(--ls-pad-md);flex-wrap:nowrap;align-items:center;justify-content:center;border-top:1px solid var(--glass-bg-subtle)}.chatbot-chip{width:32px;height:32px;padding:0;border-radius:50%;background:var(--glass-bg-subtle);border:1px solid var(--glass-border);color:var(--text-secondary);text-decoration:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease,border-color .2s ease}.chatbot-chip:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--text-primary)}@media(min-width:601px){.chatbot-bubble{bottom:28px;right:28px;width:var(--chatbot-bubble-size);height:var(--chatbot-bubble-size)}.chatbot-window{left:auto;right:28px;bottom:96px;width:var(--chatbot-window-width);max-height:var(--chatbot-window-max-height);border-radius:20px 20px 6px 6px}}@media(min-width:1200px){:root{--chatbot-window-width: 400px;--chatbot-window-max-height: 580px}}.chatbot-bubble:focus-visible,.chatbot-close:focus-visible,.chatbot-send:focus-visible,.chatbot-chip:focus-visible{outline:2px solid var(--accent-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.chatbot-window{animation:none}.chatbot-bubble,.chatbot-close,.chatbot-tab,.chatbot-input,.chatbot-send,.chatbot-chip{transition:none}.chatbot-typing span{animation:none;opacity:.6}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.chatbot-bubble{bottom:8px;right:12px;width:40px;height:40px;font-size:var(--fs-body)}.chatbot-window{left:72px;right:8px;bottom:56px;width:auto;max-height:calc(100dvh - 68px);border-radius:12px 12px 4px 4px}}.blogs-wrapper{display:flex;flex-direction:column;gap:var(--ls-pad-md);width:100%;flex:1 1 auto;min-height:0;height:100%;position:relative;overflow:visible}.blogs-layout{display:flex;flex-direction:column;gap:var(--gap-md);width:100%;flex:1;min-height:0;height:100%;padding-top:0}.blogs-content-area{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto;max-height:calc(100vh - var(--header-padding) - 100px);width:100%;max-width:100%;margin:0;padding:calc(var(--nav-height) + var(--gap-md)) 12px 20px;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--ls-pad-md)}.blogs-content-area::-webkit-scrollbar{width:6px}.blogs-content-area::-webkit-scrollbar-track{background:transparent}.blogs-content-area::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.blog-list{list-style:none;margin:0;padding:0;width:100%;max-width:100%;display:flex;flex-direction:column;gap:var(--gap-s)}.blog-item{width:100%;max-width:100%;text-align:left;background:var(--bg-white);border:1px solid var(--border-soft);border-radius:var(--radius-card);padding:var(--ls-pad-s) var(--ls-pad-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--gap-s);box-shadow:0 1px 4px #0000000f;box-sizing:border-box;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.blog-item:hover{background:var(--gradient-warm-hover);border-color:var(--accent-border);box-shadow:0 4px 16px #d977061f,0 1px 4px #0000000f,inset 0 1px #ffffffe6;transform:translate(4px)}.blog-item:active{background:var(--gradient-warm-active);border-color:var(--accent-border-hover);box-shadow:0 1px 6px #d9770626,inset 0 2px 4px #b4530914;transform:translate(2px) scale(.99);transition:background .07s ease,border-color .07s ease,box-shadow .07s ease,transform .07s ease}.blog-item--external{text-decoration:none;color:inherit}.blog-item-title{font-size:var(--fs-body);font-weight:600;color:var(--text-primary);line-height:var(--lh);word-break:break-word;overflow-wrap:break-word}.blog-item-meta{font-size:var(--fs-label);color:var(--accent-text-soft);font-weight:500}.blog-item-summary{font-size:var(--fs-helper);color:var(--text-secondary);font-weight:300;line-height:var(--lh);word-break:break-word;overflow-wrap:break-word}.blog-empty{font:var(--font-body-light);color:var(--text-muted);padding:var(--ls-pad-md) 0}.blog-detail{display:flex;flex-direction:column;gap:var(--ls-pad-md);width:100%;text-align:left;padding:0 var(--ls-pad-xxs);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.blog-back{align-self:flex-start;background:none;border:none;color:var(--accent-text-soft);font:var(--font-body-med);cursor:pointer;padding:0;transition:color var(--transition-duration) ease}.blog-back:hover{color:#b45309}.blog-detail-date{font-size:var(--fs-label);color:var(--accent-text-soft);font-weight:500;margin:0;text-align:center}.blog-detail-title{font:var(--font-subtitle-heavy-heading);color:var(--text-primary);margin:0;line-height:var(--lh);letter-spacing:.7px;text-align:center}.blog-detail-image-wrapper{margin:var(--ls-pad-md) 0;text-align:center}.blog-detail-para{font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh);font-weight:300;word-break:break-word;margin:0 0 6px;text-align:left}.blog-detail-illustration{width:100%;max-width:22.5rem;align-self:center}.blog-detail-illustration-credit{font-size:var(--fs-label);color:var(--text-muted);font-weight:300;text-align:center;margin:0 0 12px}.blog-detail-markdown ul{list-style:none;padding:0;margin:4px 0 10px;display:flex;flex-direction:column;gap:var(--gap-s)}.blog-detail-markdown ul li{font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh);font-weight:300;padding-left:1.4em;position:relative}.blog-detail-markdown ul li:before{content:"❧";position:absolute;left:0;color:var(--accent-text-soft);font-size:var(--fs-body)}.blog-detail-blockquote{position:relative;padding:var(--ls-pad-lg);background:var(--gradient-warm-subtle);border:1px solid var(--accent-border-subtle);border-radius:4px 12px 12px 4px;border-left:3px solid var(--accent-border-hover);box-shadow:2px 3px 12px #b4530912}.blog-detail-blockquote-quill{position:absolute;top:calc(-1 * var(--quill-offset));left:var(--quill-offset);font-size:var(--fs-body);transform:rotate(-20deg);filter:drop-shadow(1px 1px 2px rgba(0,0,0,.15))}.blog-detail-blockquote p{font:var(--font-body-med-script);color:var(--color-amber-deep);line-height:var(--lh);margin:0;text-align:center;letter-spacing:.3px}.blogs-medium-link{align-self:flex-start}.poem-section{margin-top:8px;padding:var(--ls-pad-lg) 20px 20px;background:var(--gradient-warm-soft);border:1px solid var(--accent-border-faint);border-top:2px solid var(--accent-border);border-radius:0 0 12px 12px;box-shadow:0 4px 16px #b453090f;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.poem-body{font:var(--font-body-med-script);color:var(--color-amber-deep);line-height:var(--lh);white-space:pre-line;margin:0;word-break:break-word;text-align:center}.blog-end-dots{text-align:center;font-size:var(--fs-body);letter-spacing:.5em;color:#d977068c;user-select:none}.blog-note-section{padding-top:var(--ls-pad-lg);display:flex;flex-direction:column;align-items:center;gap:var(--gap-md)}.blog-note-prompt{font:var(--font-body-light-italic);color:var(--text-muted);margin:0}.blog-note-trigger{display:inline-flex;align-items:center;gap:var(--ls-pad-s);padding:10px 22px;background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-xl);color:var(--text-primary);font:var(--font-body-med);cursor:pointer;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease}.blog-note-trigger:hover{background:var(--accent-bg-hover);border-color:var(--accent-border-hover);box-shadow:0 4px 16px var(--accent-glow)}.blog-note-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:note-overlay-in .25s ease}@keyframes note-overlay-in{0%{opacity:0}to{opacity:1}}.blog-note-dialog{background:var(--chatbot-bg);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;width:auto;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:hidden;display:flex;flex-direction:column;animation:note-dialog-in .25s ease;font-family:var(--font-primary)}@keyframes note-dialog-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.blog-note-dialog-header{background:var(--glass-bg-subtle);border-bottom:1px solid var(--glass-bg);display:flex;align-items:center;justify-content:space-between;padding:14px var(--ls-pad-md);font:var(--font-body-semi);color:var(--text-primary)}.blog-note-dialog-close{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;color:var(--text-primary);font-size:var(--fs-helper);cursor:pointer;padding:var(--gap-xs);display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s,background .2s}.blog-note-dialog-close:hover{opacity:1;background:var(--glass-bg-hover)}.blog-note-dialog-body{overflow-y:auto}.blog-note-dialog-body .contact-form{padding:var(--ls-pad-md);flex:none}@media(min-width:601px){.blogs-wrapper{max-width:720px;margin:0 auto;width:100%;position:relative;box-sizing:border-box;overflow:visible}.blogs-layout{align-items:flex-start;min-height:calc(100vh - var(--header-padding) - 200px)}.blogs-sidebar{position:relative;top:auto;left:auto;width:120px;flex-direction:column;align-self:flex-start;border-radius:var(--radius-lg);grid-column:1;grid-row:1}.blogs-sidebar-btn{flex:none;width:100%;box-sizing:border-box;padding:var(--ls-pad-s) 18px;font-size:var(--fs-body);text-align:left;border-radius:var(--radius-md)}.blogs-sidebar-btn--menu,.blogs-sidebar-btn--close{display:none}.blogs-content-area{max-height:calc(100vh - var(--header-padding) - 200px);padding:0 var(--ls-pad-s) var(--ls-pad-s) 0;scrollbar-gutter:stable;overflow-x:visible;max-width:none}.blog-item{padding:14px 18px;max-width:none}.blog-detail{padding:0}.blog-detail-title{font-size:var(--fs-subtitle)}.blog-note-dialog{width:var(--chatbot-window-width);border-radius:var(--radius-xl)}}@media(min-width:1200px){.blogs-wrapper{width:100%;max-width:800px;overflow:visible}.blogs-layout{min-height:calc(100vh - var(--header-padding) - 200px)}.blogs-content-area{width:100%}}@media(max-width:900px)and (orientation:landscape)and (max-height:500px){.blogs-wrapper{display:flex;flex-direction:column;grid-template-columns:none;width:100%;max-width:none;padding:0;box-sizing:border-box;gap:0}.blogs-layout{grid-column:unset;margin-left:0;min-height:unset;padding:var(--ls-pad-s) var(--ls-pad-md) 0 var(--ls-pad-md);width:100%;box-sizing:border-box;align-items:stretch}.blogs-content-area{max-height:calc(100dvh - 52px);padding:0 0 var(--ls-pad-s);overflow-x:hidden;max-width:none}.blog-detail-markdown p,.blog-detail-markdown li{font-size:var(--fs-body);line-height:var(--lh)}.blog-note-dialog{max-height:calc(100dvh - 32px)}}.admin-login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);font-family:var(--font-primary)}.admin-login-card{background:var(--bg-white);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:18px}.admin-login-title{font-size:var(--fs-body);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.admin-login-sub{font-size:var(--fs-body);color:var(--text-muted);margin:-10px 0 0}.admin-dashboard{min-height:100vh;background:var(--bg-base);font-family:var(--font-primary);display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ls-pad-l) var(--ls-pad-xl);background:var(--bg-white);border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:10}.admin-header-left{display:flex;align-items:center;gap:var(--ls-pad-md)}.admin-header-actions{display:flex;align-items:center;gap:var(--ls-pad-s)}.admin-add-form{background:var(--bg-white);border-bottom:1px solid var(--border-soft);padding:var(--ls-pad-l) var(--ls-pad-xl);display:flex;flex-direction:column;gap:14px}.admin-add-title{font-size:var(--fs-body);font-weight:700;color:var(--text-primary);margin:0}.admin-add-row{display:flex;gap:var(--gap-xxs);flex-wrap:wrap;align-items:flex-end}.admin-title{font-size:var(--fs-body);font-weight:700;color:var(--text-primary);margin:0}.admin-stats{display:flex;gap:var(--ls-pad-s)}.admin-stat{font-size:var(--fs-caption);font-weight:600;padding:var(--ls-pad-xxs) var(--ls-pad-s);border-radius:var(--radius-pill)}.admin-stat--visited{background:var(--color-success-bg);color:var(--color-success-text)}.admin-stat--wishlist{background:var(--accent-bg);color:var(--accent-text-dark)}.admin-dialog-overlay{position:fixed;inset:0;background:var(--bg-dim);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.admin-dialog{background:var(--bg-white);border-radius:var(--radius-lg);padding:var(--ls-pad-lg);display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-dialog);animation:dialog-in var(--tr-base)}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-dialog-header{display:flex;align-items:center;justify-content:space-between}.admin-dialog-close{width:var(--dialog-close-size);height:var(--dialog-close-size);border-radius:50%;border:none;background:var(--glass-bg-hover);color:var(--text-secondary);font-size:var(--fs-caption);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr-fast)}.admin-dialog-close:hover{background:var(--glass-bg-active);color:var(--text-primary)}.admin-dialog-footer{display:flex;gap:var(--ls-pad-s);justify-content:flex-end;margin-top:4px}.admin-controls{display:flex;align-items:center;gap:var(--gap-md);padding:var(--ls-pad-md) var(--ls-pad-xl);flex-wrap:wrap}.admin-search{flex:1}.admin-filter-tabs{display:flex;gap:var(--gap-s);background:var(--glass-bg-faint);padding:var(--ls-pad-xxs);border-radius:var(--radius-sm)}.admin-filter-btn{padding:5px 14px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary);font:var(--font-helper-med);cursor:pointer;text-transform:capitalize;transition:background var(--tr-fast),color var(--tr-fast)}.admin-filter-btn--active{background:var(--bg-white);color:var(--text-primary);box-shadow:var(--shadow-raised)}.admin-place-list{display:flex;flex-direction:column;gap:0;padding:0 var(--ls-pad-lg) var(--ls-pad-xl)}.admin-place-card{border-bottom:1px solid var(--border-hairline);position:relative}.admin-place-header{width:100%;display:flex;align-items:center;gap:var(--gap-s);padding:14px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-primary);transition:background var(--tr-fast);border-radius:var(--radius-sm)}.admin-place-header:hover{background:var(--glass-bg-subtle);padding-left:var(--ls-pad-s);padding-right:var(--ls-pad-s)}.admin-place-dot{width:.6em;height:.6em;border-radius:50%;flex-shrink:0}.admin-place-dot--visited{background:var(--color-success-vivid);box-shadow:var(--shadow-glow-success)}.admin-place-dot--wishlist{background:var(--accent-vivid);box-shadow:var(--shadow-glow-accent)}.admin-place-name{font-size:var(--fs-body);font-weight:600;color:var(--text-primary);flex:1}.admin-place-country{font-size:var(--fs-label);color:var(--text-muted)}.admin-place-badge{font-size:var(--fs-badge);font-weight:600;padding:var(--ls-pad-xxs) var(--ls-pad-s);border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--accent-text-dark);letter-spacing:.03em}.admin-place-remove{position:absolute;top:50%;right:0;transform:translateY(-50%);padding:var(--gap-xs);border-radius:50%;border:none;background:var(--danger-bg-subtle);color:var(--color-danger);font-size:var(--fs-badge);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--tr-fast)}.admin-place-card:hover .admin-place-remove{opacity:1}.admin-place-toggle{font-size:var(--fs-micro);color:var(--text-muted)}.admin-place-body{padding:0 0 var(--ls-pad-s) var(--ls-pad-s);display:flex;flex-direction:column;gap:var(--gap-s)}.admin-photo-grid{display:flex;flex-wrap:wrap;gap:var(--gap-s)}.admin-photo-thumb{position:relative;width:var(--thumb-size);height:var(--thumb-size);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-soft)}.admin-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}.admin-photo-delete{position:absolute;top:4px;right:4px;padding:var(--gap-xs);border-radius:50%;border:none;background:var(--bg-dark-overlay);color:var(--bg-white);font-size:var(--fs-badge);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--tr-fast)}.admin-photo-thumb:hover .admin-photo-delete{opacity:1}.admin-photo-delete:disabled{opacity:.4;cursor:not-allowed}.admin-drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);padding:var(--ls-pad-s) var(--ls-pad-md);display:flex;flex-direction:column;align-items:center;gap:var(--gap-s);cursor:pointer;font-size:var(--fs-helper);color:var(--text-secondary);transition:border-color var(--tr-fast),background var(--tr-fast);text-align:center}.admin-drop-zone:hover,.admin-drop-zone--over{border-color:var(--accent-border-mid);background:var(--accent-bg-faint)}.admin-drop-icon{font-size:var(--fs-body);color:var(--glow-intense);margin-bottom:2px}.admin-field{display:flex;flex-direction:column;gap:var(--gap-s)}.admin-label{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary)}.admin-input{width:100%;box-sizing:border-box;padding:var(--ls-pad-s);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:var(--fs-body);color:var(--text-primary);background:var(--bg-base);outline:none;transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}.admin-input:focus{border-color:var(--accent-border-mid);box-shadow:0 0 0 3px #d977061a}.admin-geocode--ok{color:var(--color-success-text)}.admin-field--inline{display:flex;align-items:center;gap:var(--gap-s)}.admin-field--inline .admin-label{margin:0;white-space:nowrap}.admin-dialog .admin-filter-tabs{display:inline-flex}.admin-dialog .admin-filter-btn{padding:var(--ls-pad-s) var(--ls-pad-md);font-size:var(--fs-label)}.admin-geocode--warn{color:var(--accent-text)}.admin-dialog-hints{display:flex;flex-direction:column;gap:var(--gap-s);margin:calc(-1 * var(--ls-pad-s)) 0}.admin-btn{padding:var(--ls-pad-s) var(--ls-pad-md);border:none;border-radius:var(--radius-sm);font:var(--font-body-semi);cursor:pointer;transition:background var(--tr-fast),opacity var(--tr-fast)}.admin-btn--primary{background:var(--text-primary);color:var(--bg-white)}.admin-btn--primary:hover{background:var(--bg-dark)}.admin-btn--primary:disabled{opacity:.5;cursor:not-allowed}.admin-btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-mid)}.admin-btn--ghost:hover{background:var(--glass-bg-faint);color:var(--text-primary)}.admin-btn--danger{background:transparent;color:var(--color-danger);border:1px solid var(--danger-border-soft);font-size:var(--fs-label);padding:var(--ls-pad-s) var(--ls-pad-md);align-self:flex-start}.admin-btn--danger:hover{background:var(--danger-bg-faint);border-color:var(--danger-border)}.admin-error{font-size:var(--fs-helper);color:var(--color-danger);margin:0}.admin-country-row{display:flex;gap:var(--ls-pad-s);align-items:center}.admin-country-row .admin-input{flex:1}.admin-lookup-btn{white-space:nowrap;padding:9px 14px;font-size:var(--fs-helper)}.admin-suggest-wrap{position:relative;width:100%}.admin-suggest-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-white);border:1px solid var(--border-mid);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000001a;list-style:none;margin:0;padding:var(--ls-pad-s);z-index:200}.admin-suggest-item{display:flex;align-items:baseline;gap:var(--gap-s);padding:var(--ls-pad-s) var(--ls-pad-md);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--tr-instant)}.admin-suggest-item:hover{background:var(--glass-bg-faint)}.admin-suggest-name{font-size:var(--fs-body);font-weight:500;color:var(--text-primary)}.admin-suggest-country{font-size:var(--fs-label);color:var(--text-muted)}.admin-muted{font-size:var(--fs-label);color:var(--text-muted);margin:0}.admin-muted--center{text-align:center;padding:var(--ls-pad-md) 0}.admin-upload-msg{font-size:var(--fs-label);margin:0}.admin-upload-msg--ok{color:var(--color-success-text)}.admin-upload-msg--err{color:var(--color-danger)}
