:root{
  --bg:#f8f3ea;--surface:#fffefa;--surface-2:#fbf3e5;--surface-3:#f5e5cf;--ink:#241d18;--muted:#675d53;--line:#e5d6c2;
  --brand:#8a2c28;--brand-dark:#6d1f1c;--brand-soft:#f6dfdb;--gold:#9d6f1f;--gold-soft:#f3e2ba;
  --positive:#356b55;--positive-bg:#e6f1ea;--warning:#a56a20;--warning-bg:#fff0d7;--danger:#9b3b36;--danger-bg:#f8e5e2;
  --critical:#742420;--neutral:#716d67;--neutral-bg:#eeece7;--info:#477084;--info-bg:#e5eff4;--note:#6b5aa6;
  --shadow:0 14px 44px rgba(67,47,27,.08);--shadow-soft:0 7px 24px rgba(67,47,27,.06);--radius:22px;--sidebar:250px;
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(170,129,53,.26);outline-offset:2px}.app-shell{min-height:100vh}
.offline-banner{position:fixed;left:50%;top:9px;z-index:100;transform:translate(-50%,-150%);background:#352e28;color:#fff;padding:9px 14px;border-radius:12px;font-size:11px;box-shadow:var(--shadow);transition:.25s}.offline-banner.show{transform:translate(-50%,0)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:28px 20px;background:#2b1f1a;color:#f6ead7;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand-mark,.mini-mark{display:grid;place-items:center;background:var(--brand);color:#f6e8be;font-family:Georgia,serif;font-weight:700}.brand-mark{width:44px;height:44px;border-radius:13px;font-size:24px}.brand strong{display:block;font-size:15px}.brand span{display:block;color:#c8bba7;font-size:12px;margin-top:3px}.side-nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:inherit;border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:11px;text-align:left}.side-nav .nav-item{color:#cfc4b4}.side-nav .nav-item:hover,.side-nav .nav-item.active{background:#49362f;color:#fff}.nav-item span{font-size:20px;width:24px;text-align:center}.side-note{margin-top:auto;border-top:1px solid #493c34;padding:18px 8px 0}.side-note strong{font-size:12px;color:#e7d2a4;text-transform:uppercase;letter-spacing:.08em}.side-note p{font-size:12px;line-height:1.55;color:#b8aa97;margin:8px 0 0}.engine-badge{display:flex;align-items:center;gap:7px;margin:18px 8px 0;color:#9e9282;font-size:10px}.engine-dot{width:7px;height:7px;border-radius:50%;background:#5e9b76;box-shadow:0 0 0 4px rgba(94,155,118,.1)}
.main{margin-left:var(--sidebar);padding:25px 34px 62px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px;gap:20px}.eyebrow{margin:0 0 5px;color:var(--gold);font-size:10px;font-weight:850;letter-spacing:.13em}.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:30px;margin:0}.page-context{font-size:11px;color:var(--muted);margin:6px 0 0}.mobile-brand{display:none}.top-actions{display:flex;gap:8px}.utility-btn,.today-btn,.round-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft)}.utility-btn{width:42px;height:42px;border-radius:13px;font-size:19px;display:grid;place-items:center;position:relative}.utility-btn:hover,.today-btn:hover,.round-btn:hover{border-color:#cfb77e;background:#fffaf0}.reminder-btn b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--brand);color:#fff;font-size:9px;border:2px solid var(--bg)}.today-btn{height:42px;border-radius:13px;padding:0 16px;font-weight:800}.round-btn{width:42px;height:42px;border-radius:50%;font-size:26px;line-height:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.view{display:none}.view.active{display:block}
.calendar-controls{padding:17px 18px;margin-bottom:12px}.control-fields{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.65fr) minmax(160px,.7fr);gap:14px}label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:12px;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#c7a45d;box-shadow:0 0 0 3px rgba(181,138,55,.12)}.activity-ribbon{margin-top:13px;padding:12px 14px;border-radius:14px;background:linear-gradient(110deg,var(--gold-soft),#f7efdd);display:flex;align-items:center;justify-content:space-between;gap:18px}.activity-ribbon div{display:grid;gap:2px}.activity-ribbon span{font-size:10px;color:#8b7548}.activity-ribbon strong{font-size:14px;color:#624b1c}.activity-ribbon p{margin:0;color:#806d4a;font-size:10px;max-width:520px;text-align:right;line-height:1.45}
.month-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px}.stat-card{background:rgba(255,253,248,.65);border:1px solid var(--line);border-radius:16px;padding:11px 13px;display:flex;align-items:end;justify-content:space-between;gap:8px}.stat-card span{font-size:10px;color:var(--muted)}.stat-card strong{font-family:Georgia,serif;font-size:20px;color:var(--brand)}
.calendar-card{overflow:hidden}.calendar-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:20px 23px 14px}.month-title{border:0;background:transparent;text-align:center;color:var(--ink);padding:4px 12px;border-radius:12px}.month-title:hover{background:var(--surface-2)}.month-title strong{display:block;font-family:Georgia,serif;font-size:25px}.month-title span{font-size:11px;color:var(--muted)}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row{padding:0 18px}.weekday-row span{text-align:center;color:var(--muted);font-size:10px;font-weight:850;padding:10px 0;border-bottom:1px solid var(--line)}.weekday-row .weekend{color:#976a61}.month-grid{padding:0 18px 18px}.day-cell{position:relative;min-height:116px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 9px;background:transparent;transition:.15s ease;text-align:left;color:inherit;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#fbf5e8;z-index:1}.day-cell.outside{opacity:.2;pointer-events:none}.day-cell.today{box-shadow:inset 0 0 0 2px var(--brand);border-radius:12px}.day-cell.tone-positive:after,.day-cell.tone-excellent:after,.day-cell.tone-warning:after,.day-cell.tone-danger:after,.day-cell.tone-critical:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.day-cell.tone-positive:after,.day-cell.tone-excellent:after{background:var(--positive)}.day-cell.tone-warning:after{background:var(--warning)}.day-cell.tone-danger:after,.day-cell.tone-critical:after{background:var(--danger)}.solar-day{font-family:Georgia,serif;font-size:22px;font-weight:700}.day-cell.sunday .solar-day{color:var(--brand)}.lunar-day{position:absolute;top:12px;right:9px;font-size:10px;color:var(--muted)}.lunar-day.new-month{color:var(--brand);font-weight:800}.day-meta{position:absolute;left:9px;right:8px;bottom:8px;display:grid;gap:5px}.mini-line{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-badges{display:flex;gap:4px;align-items:center}.status-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:850;white-space:nowrap}.tone-positive,.tone-excellent{color:var(--positive);background:var(--positive-bg)}.tone-warning{color:var(--warning);background:var(--warning-bg)}.tone-danger,.tone-critical{color:var(--danger);background:var(--danger-bg)}.tone-neutral{color:var(--neutral);background:var(--neutral-bg)}.tone-info{color:var(--info);background:var(--info-bg)}.path-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.path-dot.yellow{background:#c89a38}.path-dot.black{background:#4f4942}.note-mark{position:absolute;right:7px;bottom:7px;width:7px;height:7px;border-radius:50%;background:var(--note);box-shadow:0 0 0 3px rgba(107,90,166,.1)}.legend{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding:13px 22px;color:var(--muted);font-size:9px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.positive{background:var(--positive)}.dot.warning{background:var(--warning)}.dot.yellow{background:#c89a38}.dot.black{background:#4f4942}.dot.note{background:var(--note)}
.search-layout{display:grid;grid-template-columns:350px 1fr;gap:20px;align-items:start}.search-form{padding:22px;display:grid;gap:14px;position:sticky;top:20px}.section-title h2,.convert-card h2,.prose-card h2,.about-hero h2{font:700 24px/1.2 Georgia,serif;margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-range{display:flex;gap:6px;margin-top:-4px}.quick-range button{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.quick-range button:hover{color:var(--brand);border-color:#cfb77e}.primary-btn,.secondary-btn{border:0;border-radius:13px;padding:12px 15px;font-weight:850}.primary-btn{background:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(125,41,37,.18)}.primary-btn:hover{background:var(--brand-dark)}.primary-btn:disabled{opacity:.55;cursor:wait}.secondary-btn{background:var(--gold-soft);color:#6d5425}.form-help{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.search-results{display:grid;gap:12px}.empty-state{text-align:center;padding:60px 25px;color:var(--muted)}.empty-icon{font-size:42px;color:#baa783}.empty-state h3{color:var(--ink);margin:10px 0 6px}.empty-state p{font-size:12px;line-height:1.55}.search-summary{padding:15px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center}.search-summary strong{font-family:Georgia,serif;font-size:18px}.search-summary span{font-size:10px;color:var(--muted)}.result-card{padding:18px 19px;display:grid;grid-template-columns:64px 1fr auto;gap:15px;align-items:start;position:relative}.rank-box{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#f3ead8;color:#7a5c24;font-family:Georgia;font-size:22px;font-weight:700}.result-main h3{margin:2px 0 4px;font-size:17px}.result-sub{font-size:10px;color:var(--muted)}.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.soft-badge{font-size:9px;padding:4px 7px;border-radius:999px;background:var(--surface-2);color:#645b51}.reason-list{display:grid;gap:4px;font-size:10px;color:#514a42}.reason.good:before{content:"✓ ";color:var(--positive);font-weight:900}.reason.warn:before{content:"! ";color:var(--warning);font-weight:900}.result-side{text-align:right;min-width:120px}.result-side .status-pill{margin-left:auto}.hours-mini{font-size:9px;color:var(--muted);margin-top:8px;line-height:1.55}.result-card .detail-link{grid-column:2/4;justify-self:start;border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:850;padding:0}
.convert-grid,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.convert-card,.prose-card{padding:25px}.convert-card{display:grid;gap:15px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}.convert-result{min-height:126px;border-radius:16px;background:var(--surface-2);padding:16px;color:var(--muted);display:flex;align-items:center}.convert-result strong{font-family:Georgia,serif;color:var(--brand);font-size:23px}.conversion-big{display:grid;gap:5px;width:100%}.conversion-big small{font-size:10px}.conversion-actions{display:flex;gap:7px;margin-top:7px}.inline-link{border:0;background:transparent;color:var(--brand);padding:0;font-size:10px;font-weight:850}.prose-card{line-height:1.65}.prose-card p{color:#62594f;font-size:12px}.principle-list{display:grid;gap:12px;margin-top:20px}.principle-list div{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.principle-list b{display:grid;place-items:center;background:var(--gold-soft);color:#745b25;border-radius:9px;height:30px}.principle-list span{font-size:12px;color:#544c43}.coverage-box{background:#f6eadf;border-left:3px solid var(--brand);padding:14px 15px;border-radius:10px}.coverage-box.soft{border-left-color:var(--gold);background:#f8f2e5}.coverage-box p{margin:5px 0 0;font-size:11px}.about-hero{padding:26px;margin-bottom:18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.about-hero p{color:var(--muted);max-width:760px;line-height:1.65;font-size:12px}.version-card{min-width:125px;text-align:center;padding:18px;border-radius:18px;background:var(--surface-2);display:grid;gap:3px}.version-card span,.version-card small{font-size:9px;color:var(--muted)}.version-card strong{font:700 28px Georgia,serif;color:var(--brand)}
.drawer-backdrop,.sheet-backdrop{position:fixed;inset:0;background:rgba(25,19,15,.4);backdrop-filter:blur(2px);z-index:40;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open,.sheet-backdrop.open{opacity:1;pointer-events:auto}.day-drawer,.reminder-sheet{position:fixed;top:0;right:0;bottom:0;background:var(--surface);z-index:41;box-shadow:-20px 0 50px rgba(30,20,12,.16);transform:translateX(101%);transition:.25s ease;overflow:auto}.day-drawer{width:min(540px,100vw)}.reminder-sheet{width:min(430px,100vw);z-index:51}.sheet-backdrop{z-index:50}.day-drawer.open,.reminder-sheet.open{transform:translateX(0)}.drawer-header,.sheet-header{position:sticky;top:0;z-index:3;background:rgba(255,253,248,.96);backdrop-filter:blur(9px);display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.drawer-header h2,.sheet-header h2{margin:0;font:700 23px Georgia,serif}.day-detail-body{padding:18px 22px 38px;display:grid;gap:14px}.hero-status{padding:18px;border-radius:18px;border:1px solid transparent}.hero-status.tone-positive,.hero-status.tone-excellent{border-color:#cfe2d5}.hero-status.tone-warning{border-color:#efd4aa}.hero-status.tone-danger,.hero-status.tone-critical{border-color:#ecc7c2}.hero-status h3{margin:8px 0 0;font:700 22px Georgia,serif}.hero-status p{font-size:11px;margin:6px 0 0;opacity:.85;line-height:1.5}.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.fact{padding:12px;background:var(--surface-2);border-radius:14px}.fact span{font-size:9px;color:var(--muted);display:block}.fact strong{font-size:12px;display:block;margin-top:4px}.detail-section{border-top:1px solid var(--line);padding-top:15px}.detail-section h4{margin:0 0 10px;font-size:12px}.detail-list{display:grid;gap:7px}.detail-item{display:flex;gap:8px;align-items:start;font-size:11px;color:#514a42;line-height:1.45}.detail-item .symbol{width:20px;font-weight:900;flex:none}.detail-item.good .symbol{color:var(--positive)}.detail-item.warn .symbol{color:var(--warning)}.removed-box{background:#edf4ef;border-radius:12px;padding:10px}.hour-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.hour-chip{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px;font-size:9px;line-height:1.45}.hour-chip strong{display:block;font-size:11px;margin-bottom:2px}.hour-chip.excellent{background:var(--positive-bg);border-color:#cfe3d6}.stars-cloud{display:flex;gap:6px;flex-wrap:wrap}.star-tag{border-radius:999px;background:var(--surface-2);padding:5px 8px;font-size:9px}.star-tag.used{background:var(--positive-bg);color:var(--positive)}.note-box textarea{min-height:82px;resize:vertical}.note-controls{display:grid;grid-template-columns:1fr 120px;gap:9px;margin-top:9px}.lunar-repeat{display:flex;gap:8px;align-items:center;background:var(--surface-2);padding:9px 10px;border-radius:11px;font-size:10px;color:var(--ink)}.lunar-repeat input{width:auto}.note-row{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.note-lunar-label{font-size:9px;color:var(--muted)}.tiny-btn{border:0;background:var(--gold-soft);color:#6d5425;padding:7px 10px;border-radius:10px;font-size:9px;font-weight:850}.tiny-btn.danger{background:var(--danger-bg);color:var(--danger)}.coverage-warning{font-size:9px;color:#826c49;background:#f8f0df;border-radius:10px;padding:9px 10px;line-height:1.45}
.sheet-body{padding:18px 20px 32px}.notification-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);padding:13px;border-radius:14px;margin-bottom:16px}.notification-card strong{font-size:11px}.notification-card p{font-size:9px;color:var(--muted);margin:4px 0 0;line-height:1.45}.reminder-list{display:grid;gap:9px}.reminder-item{border:1px solid var(--line);border-radius:14px;padding:12px}.reminder-item-head{display:flex;justify-content:space-between;gap:10px}.reminder-item strong{font-size:11px}.reminder-item small{font-size:9px;color:var(--muted)}.reminder-item p{font-size:10px;line-height:1.45;margin:8px 0 0;color:#514a42}.reminder-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.reminder-tags span{font-size:8px;padding:4px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.sheet-empty{padding:40px 15px;text-align:center;color:var(--muted);font-size:11px}
.bottom-nav{display:none}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:#2d2723;color:#fff;border-radius:12px;padding:10px 14px;font-size:11px;z-index:80;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}.loading{display:grid;place-items:center;min-height:180px;color:var(--muted);font-size:11px}.spinner{width:27px;height:27px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 8px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{height:80px;background:linear-gradient(90deg,#f1ece3 25%,#faf7f1 50%,#f1ece3 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:15px}.skeleton.tall{height:420px;margin:20px}@keyframes shimmer{to{background-position:-200% 0}}
@media(max-width:1080px){.sidebar{display:none}.main{margin-left:0;padding:20px 18px 92px}.bottom-nav{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;height:64px;display:grid;grid-template-columns:repeat(4,1fr);background:#30231e;color:#cfc4b4;border-radius:20px;padding:6px;box-shadow:0 10px 35px rgba(28,20,15,.25)}.bottom-nav .nav-item{display:grid;place-items:center;gap:0;padding:4px;color:#cfc4b4;font-size:17px}.bottom-nav .nav-item.active{background:#503a32;color:#fff}.bottom-nav small{font-size:8px}.search-layout{grid-template-columns:1fr}.search-form{position:static}.convert-grid,.about-grid{grid-template-columns:1fr}.mobile-brand{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;margin-bottom:9px}.mini-mark{width:25px;height:25px;border-radius:8px;font-size:14px}}
@media(max-width:760px){.main{padding:14px 10px 88px}.topbar{padding:0 3px;align-items:flex-end}.topbar h1{font-size:24px}.page-context{display:none}.top-actions{gap:5px}.utility-btn{width:38px;height:38px;border-radius:12px}.today-btn{height:38px;padding:0 10px;font-size:11px}.calendar-controls{padding:12px}.control-fields{grid-template-columns:1fr 1fr;gap:9px}.control-fields label:first-child{grid-column:1/3}.activity-ribbon{display:block}.activity-ribbon p{text-align:left;margin-top:6px}.month-stat-row{grid-template-columns:1fr 1fr;gap:7px}.stat-card{padding:9px 10px}.stat-card strong{font-size:18px}.calendar-card{border-radius:16px}.calendar-head{padding:14px 10px 9px}.month-title strong{font-size:21px}.weekday-row,.month-grid{padding-left:5px;padding-right:5px}.day-cell{min-height:91px;padding:7px 5px}.solar-day{font-size:18px}.lunar-day{top:8px;right:5px;font-size:8px}.day-meta{left:5px;right:5px;bottom:5px}.mini-line{display:none}.status-pill{font-size:7.5px;padding:3px 5px}.legend{padding:10px 12px;gap:9px}.search-form,.convert-card,.prose-card,.about-hero{padding:18px}.about-hero{grid-template-columns:1fr}.version-card{justify-self:start;min-width:110px}.result-card{grid-template-columns:45px 1fr;padding:14px}.rank-box{width:42px;height:42px}.result-side{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.result-side .status-pill{margin-left:0}.result-card .detail-link{grid-column:2}.fact-grid{grid-template-columns:1fr 1fr}.day-drawer,.reminder-sheet{width:100%}.drawer-header,.sheet-header{padding:17px}.day-detail-body{padding:14px 15px 30px}.hour-chips{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.control-fields{grid-template-columns:1fr}.control-fields label:first-child{grid-column:auto}.two-col{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:1fr 1fr 1fr}.day-cell{min-height:80px}.status-pill.cell-status{max-width:50px;overflow:hidden;text-overflow:ellipsis}.month-grid{padding-bottom:8px}.legend{font-size:8px}.fact-grid{grid-template-columns:1fr 1fr}.activity-ribbon p{display:none}.note-controls{grid-template-columns:1fr}.hour-chips{grid-template-columns:1fr 1fr}.reminder-btn b{min-width:16px;height:16px;font-size:8px}}

/* V1.4 Classic Calendar */
.calendar-classic{max-width:1120px;margin:0 auto;background:linear-gradient(180deg,#fffefa 0%,#fdf6eb 100%)}
.month-picker-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;padding:0!important;border:0!important;pointer-events:none!important}
.calendar-classic .calendar-head{position:relative;padding:24px 30px 16px}
.calendar-classic .month-title strong{font-size:29px;letter-spacing:.01em;color:#3a2c23}
.calendar-classic .month-title span{margin-top:4px;display:block;letter-spacing:.04em}
.calendar-classic .weekday-row{padding:0 24px}
.calendar-classic .month-grid{padding:0 24px 22px}
.calendar-classic .day-cell{min-height:112px;padding:11px 10px;background:rgba(255,253,248,.35);overflow:visible}
.calendar-classic .day-cell:hover{background:#faefd9;transform:translateY(-1px);box-shadow:0 6px 18px rgba(67,47,27,.07)}
.calendar-classic .day-cell.today{box-shadow:inset 0 0 0 2px var(--brand),0 6px 20px rgba(125,41,37,.08);background:#fff3e5}
.calendar-classic .day-cell.today .solar-day{color:var(--brand)}
.calendar-classic .day-cell.saturday .solar-day{color:#805c50}
.calendar-classic .solar-day{font-size:25px;line-height:1}
.calendar-classic .lunar-day{top:12px;right:10px;font-size:11px}
.calendar-classic .lunar-day.new-month{background:var(--brand-soft);color:var(--brand);padding:3px 6px;border-radius:999px}
.calendar-classic .lunar-month-caption{position:absolute;left:10px;bottom:10px;font-size:9px;color:#8a6e3c;font-weight:800;letter-spacing:.02em}
.calendar-classic .lunar-month-start{background:rgba(241,228,196,.24)}
.calendar-classic .note-mark{right:10px;bottom:11px;width:8px;height:8px}
.calendar-legend{align-items:center;padding:14px 26px}
.calendar-legend .legend-hint{margin-left:auto;color:#8d7e6b;font-style:italic}
.dot.today-dot{background:var(--brand);box-shadow:0 0 0 2px rgba(125,41,37,.12)}
.dot.lunar-dot{background:var(--gold)}

.convert-board{max-width:1120px;margin:0 auto;padding:28px;overflow:hidden;background:linear-gradient(180deg,#fffefa 0%,#fcf3e5 100%)}
.convert-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.convert-board-head h2{margin:0;font:700 27px/1.22 Georgia,"Times New Roman",serif}
.convert-board-head p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.today-soft-btn{border:1px solid #d7c7ac;background:#fffaf0;color:#70582d;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:850;white-space:nowrap}
.today-soft-btn:hover{background:var(--gold-soft)}
.dual-wheel-wrap{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);gap:16px;align-items:center;padding:26px 0}
.wheel-pane{border:1px solid var(--line);border-radius:20px;padding:18px;background:rgba(255,253,248,.78);box-shadow:var(--shadow-soft)}
.wheel-pane.lunar-pane{background:linear-gradient(180deg,#fffaf0,#fffdf8)}
.wheel-pane-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:15px}
.wheel-pane-title span{font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--gold)}
.wheel-pane-title strong{font:700 19px Georgia,serif}
.wheel-labels{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;margin:0 4px 6px;color:var(--muted);font-size:9px;font-weight:800;text-align:center}
.date-wheel-group{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;position:relative;padding:0 4px}
.date-wheel-group:before,.date-wheel-group:after{content:"";position:absolute;left:4px;right:4px;height:1px;background:#c8ad76;z-index:4;pointer-events:none}
.date-wheel-group:before{top:91px}.date-wheel-group:after{top:137px}
.date-wheel{height:230px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;padding:92px 0;border-radius:13px;background:linear-gradient(180deg,rgba(247,240,229,.9),rgba(255,253,248,.96) 37%,rgba(255,253,248,.96) 63%,rgba(247,240,229,.9));position:relative;outline:none}
.date-wheel::-webkit-scrollbar{display:none}
.wheel-item{height:46px;min-height:46px;width:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;border:0;background:transparent;color:#918579;font-size:12px;font-weight:700;padding:0 4px;transition:font-size .12s,color .12s,opacity .12s;opacity:.62;white-space:nowrap}
.wheel-item.selected{font:700 18px Georgia,serif;color:var(--brand);opacity:1}
.month-wheel .wheel-item.selected{font-size:14px}
.year-wheel .wheel-item.selected{font-size:17px}
.wheel-summary{margin-top:14px;border-radius:13px;background:var(--surface-2);padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.wheel-summary span{font-size:9px;color:var(--muted)}
.wheel-summary strong{font:700 16px Georgia,serif;color:#4e382b;text-align:right}
.sync-mark{display:grid;place-items:center;gap:5px;color:var(--brand)}
.sync-mark span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--brand-soft);font-size:21px}
.sync-mark small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.convert-footer{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.converted-date-line{display:grid;gap:3px}.converted-date-line span{font-size:9px;color:var(--muted);font-weight:800}.converted-date-line strong{font:700 18px Georgia,serif}
.primary-btn.compact{padding:10px 14px;font-size:10px}

.day-analysis-controls{display:grid;gap:11px;padding:14px;border:1px solid #e2d4bb;border-radius:16px;background:#fbf4e8}
.day-analysis-head{display:grid;gap:3px}.day-analysis-head span{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--gold)}.day-analysis-head small{font-size:9px;color:var(--muted);line-height:1.45}
.day-analysis-fields{display:grid;grid-template-columns:1.45fr .75fr;gap:9px}.day-analysis-submit{justify-self:start;padding:9px 12px;font-size:9px}

@media(max-width:760px){
  .calendar-classic{border-radius:17px}
  .calendar-classic .calendar-head{padding:16px 10px 10px}
  .calendar-classic .month-title strong{font-size:23px}
  .calendar-classic .weekday-row,.calendar-classic .month-grid{padding-left:6px;padding-right:6px}
  .calendar-classic .month-grid{padding-bottom:8px}
  .calendar-classic .day-cell{min-height:83px;padding:8px 6px}
  .calendar-classic .solar-day{font-size:20px}
  .calendar-classic .lunar-day{top:8px;right:6px;font-size:8.5px}
  .calendar-classic .lunar-day.new-month{padding:2px 4px}
  .calendar-classic .lunar-month-caption{left:6px;bottom:7px;font-size:7.5px}
  .calendar-classic .note-mark{right:6px;bottom:7px}
  .calendar-legend{padding:10px 12px;gap:9px}
  .calendar-legend .legend-hint{width:100%;margin-left:0}
  .convert-board{padding:17px 12px;border-radius:17px}
  .convert-board-head{display:grid;gap:10px;padding:0 4px 16px}.convert-board-head h2{font-size:22px}.today-soft-btn{justify-self:start}
  .dual-wheel-wrap{grid-template-columns:1fr;padding:16px 0;gap:10px}
  
  .wheel-pane{padding:13px 10px;border-radius:16px}
  .date-wheel{height:184px;padding:69px 0}.date-wheel-group:before{top:68px}.date-wheel-group:after{top:114px}
  .wheel-item{font-size:11px}.wheel-item.selected{font-size:17px}.month-wheel .wheel-item.selected{font-size:13px}
  .wheel-summary{margin-top:9px;padding:9px 10px}.wheel-summary strong{font-size:14px}
  .convert-footer{align-items:flex-end}.converted-date-line strong{font-size:15px}.primary-btn.compact{white-space:nowrap}
  .day-analysis-fields{grid-template-columns:1fr}
}
@media(max-width:430px){
  .calendar-classic .day-cell{min-height:74px}
  .calendar-classic .solar-day{font-size:18px}
  .calendar-classic .lunar-month-caption{display:none}
  .calendar-legend .legend-hint{display:none}
  .convert-board{padding:14px 9px}
  .date-wheel-group,.wheel-labels{grid-template-columns:.8fr 1.45fr 1fr;gap:4px}
  .wheel-item.selected{font-size:16px}.month-wheel .wheel-item.selected{font-size:12px}.year-wheel .wheel-item.selected{font-size:15px}
  .convert-footer{display:grid;grid-template-columns:1fr}.primary-btn.compact{justify-self:start}
}

/* V1.5 Production Polish */
:root{--gold:#8f6928}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav-item .ui-icon{width:21px;height:21px}
.bottom-nav .ui-icon{width:20px;height:20px}
.utility-btn .ui-icon{width:19px;height:19px}
[hidden]{display:none!important}
.round-btn:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}
.eyebrow{font-size:11px}.page-context{font-size:12px}.weekday-row span{font-size:11px}.legend{font-size:10px}.form-help{font-size:11px}.quick-range button{font-size:10px;padding:6px 10px}
.calendar-classic .lunar-day{font-size:11px;color:#665d54}.calendar-classic .lunar-month-caption{font-size:10px;color:#725923}.calendar-classic .outside-month{opacity:.43;background:#f7f1e7}.calendar-classic .outside-month:hover{opacity:.72}.calendar-classic .outside-month .solar-day{font-size:20px;color:#776e65}.calendar-classic .outside-month .lunar-day{color:#8d847b}.calendar-classic .outside-boundary{background:#f8f4ed;opacity:.35;pointer-events:none}.month-grid{touch-action:pan-y}
.location-state{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:10px;line-height:1.45}.location-state .ui-icon{width:16px;height:16px;margin-top:1px;color:var(--brand)}
.on-open-note{padding:9px 10px;border-radius:11px;background:var(--surface-2);font-size:10px;line-height:1.45;color:var(--muted)}
.note-controls{grid-template-columns:1fr 1.3fr}
.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.backup-actions .tiny-btn{font-size:10px}
.update-banner{position:fixed;left:50%;bottom:24px;z-index:95;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#2d2723;color:#fff;border-radius:14px;padding:10px 11px 10px 14px;box-shadow:0 12px 34px rgba(30,22,17,.28);font-size:11px}.update-banner[hidden]{display:none}.update-banner button{border:0;background:#f1e4c4;color:#5f481d;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:850}
.date-wheel{cursor:ns-resize}.date-wheel:focus-visible{outline:3px solid rgba(143,105,40,.24);outline-offset:2px}.wheel-item{user-select:none;cursor:pointer}
.reminder-item small{font-size:10px}.notification-card p{font-size:10px}.reminder-tags span{font-size:9px}.fact span{font-size:10px}.star-tag{font-size:10px}.hour-chip{font-size:10px}
@media(max-width:1080px){.bottom-nav small{font-size:9px}.topbar{min-height:74px}}
@media(max-width:760px){
  .topbar{align-items:flex-start;gap:10px}.top-title{min-width:0}.topbar h1{font-size:23px;line-height:1.08}.top-actions{flex:none;padding-top:24px}.utility-btn{width:36px;height:36px}.today-btn{height:36px;padding:0 10px}
  .calendar-classic .lunar-day{font-size:9.5px}.calendar-classic .lunar-month-caption{font-size:8.5px}.calendar-classic .outside-month .solar-day{font-size:17px}
  .legend{font-size:9.5px}.location-state{font-size:10px}.note-controls{grid-template-columns:1fr}.update-banner{left:12px;right:12px;bottom:86px;transform:none;justify-content:space-between}
}
@media(max-width:430px){
  .main{padding-left:8px;padding-right:8px}.mobile-brand{margin-bottom:6px}.eyebrow{font-size:10px}.top-actions{padding-top:22px}.calendar-classic .day-cell{min-height:76px}.calendar-classic .lunar-day{font-size:9px}.calendar-classic .outside-month .solar-day{font-size:16px}.calendar-legend{font-size:9px}
}
body.modal-open{overflow:hidden}
.location-state span{flex:1}.location-state .inline-link{white-space:nowrap;align-self:center}

/* V1.6 UX & Chi tiet ngay */
.calendar-tools{border-top:1px solid var(--line);background:rgba(255,253,248,.76)}
.calendar-tool-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.calendar-tool-tab{position:relative;border:0;background:transparent;padding:14px 12px 12px;color:var(--muted);font-size:13px;font-weight:850;cursor:pointer}
.calendar-tool-tab.active{color:var(--brand)}
.calendar-tool-tab.active:after{content:"";position:absolute;left:24%;right:24%;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}
.calendar-tool-panel{padding:15px 20px 18px}.calendar-tool-panel[hidden]{display:none!important}
.calendar-tool-empty{min-height:72px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;line-height:1.55;padding:10px}
.calendar-note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.calendar-note-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid var(--line);background:#fffefa;border-radius:11px;padding:9px 10px;color:var(--ink);cursor:pointer}
.calendar-note-item strong{font-size:12px;color:var(--brand)}.calendar-note-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.calendar-note-item small{font-size:10px;color:var(--muted)}
.calendar-tool-more{margin-top:8px;color:var(--muted);font-size:11px;text-align:center}
.calendar-pick-head{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:12px;align-items:start;margin-bottom:12px}
.calendar-pick-head label,.subject-editor label,.compact-subject label{font-size:12px}
.calendar-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.calendar-filter-grid label{display:flex;gap:8px;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:#fffefa;font-size:12px;font-weight:700;cursor:pointer;transition:.15s ease}.calendar-filter-grid label:has(input:checked){border-color:#c69a55;background:#fff4df;color:#5f3b22}.calendar-filter-grid input{width:18px;height:18px;accent-color:var(--brand)}
.calendar-pick-actions{display:flex;align-items:center;min-height:30px;margin-top:12px;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.calendar-pick-actions span{font-size:11px;color:var(--muted);font-weight:700;line-height:1.45}.calendar-pick-actions span.loading-filter:after{content:" · đang cập nhật";color:var(--gold)}
.pick-mark{position:absolute;width:9px;height:9px;border-radius:50%;right:9px;bottom:9px;background:#4b925f;box-shadow:0 0 0 2px #fffefa}
.day-cell.today .pick-mark{box-shadow:0 0 0 2px rgba(255,255,255,.88)}
.subject-editor{border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:11px}.subject-note{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.compact-subject{margin-top:8px}
.search-form label{font-size:12px}.search-form input,.search-form select{font-size:14px}.search-form .form-help{font-size:12px;line-height:1.5}.quick-range button{font-size:11px}
.dual-wheel-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.wheel-pane-title{justify-content:flex-start;margin-bottom:12px}.wheel-pane-title span{font-size:12px;letter-spacing:.12em}.wheel-pane-title strong{display:none}.wheel-labels{font-size:11px}.wheel-item{font-size:14px}.wheel-item.selected{font-size:21px}.month-wheel .wheel-item.selected{font-size:17px}.year-wheel .wheel-item.selected{font-size:20px}.wheel-summary span{font-size:11px}.wheel-summary strong{font-size:17px}.convert-board-head p:not(.eyebrow){font-size:12px}.converted-date-line span{font-size:11px}
.v16-detail{font-size:14px}.v16-detail .day-analysis-controls label{font-size:12px}.v16-detail .day-analysis-controls input,.v16-detail .day-analysis-controls select{font-size:14px}.day-analysis-head span{font-size:11px}.day-analysis-head small{font-size:12px}
.almanac-hero{border:1px solid #d8c7a9;border-radius:18px;background:linear-gradient(145deg,#fff7e9,#fffefa);padding:16px;margin-bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.almanac-date{display:grid;gap:4px}.almanac-date span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--gold)}.almanac-date strong{font:700 19px Georgia,serif}.almanac-date.lunar{text-align:right}.ganzhi-line{grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;border-top:1px solid #e4d8c3;padding-top:10px}.ganzhi-line span{font-size:13px;font-weight:800;color:#4d392d}.solar-term-month-line{grid-column:1/-1;text-align:center;margin-top:-5px;font-size:11px;color:#857565}.solar-term-month-line span{font-weight:600}.solar-term-month-line strong{font-weight:800;color:#67564a}
.v16-detail .hero-status p{font-size:13px;line-height:1.55}.v16-detail .detail-section h4{font-size:15px}.section-lead{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.55}.v16-detail .fact span{font-size:11px}.v16-detail .fact strong{font-size:14px;line-height:1.4}.v16-detail .fact small{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.4}
.v16-detail .detail-item{font-size:13px;line-height:1.55}.v16-detail .detail-item small{font-size:11px;color:var(--muted)}.muted-item{color:var(--muted)}
.truc-summary,.mansion-intro{display:grid;gap:4px;border-radius:12px;padding:11px 12px;background:var(--surface-2);font-size:12px;line-height:1.5}.truc-summary strong,.mansion-intro strong{font-size:14px}.good-box{background:#edf7ef;color:#2e6239}.warn-box{background:#fff2ed;color:#7a3d2d}.mansion-intro{margin-bottom:9px}
.star-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.star-columns h5{margin:0 0 7px;font-size:12px;color:var(--muted)}.star-line{display:grid;gap:2px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;background:#fffdf9;font-size:11px;line-height:1.4}.star-line strong{font-size:13px}.star-line.good strong{color:#356842}.star-line.warn strong{color:#914736}.stars-more{margin-top:9px}.stars-more summary{cursor:pointer;color:var(--brand);font-size:12px;font-weight:800}.stars-more .stars-cloud{margin-top:8px}.v16-detail .star-tag{font-size:11px}.star-tag.bad{border-color:#dfb6ad;color:#8a493d}
.v16-detail .hour-chip{font-size:11px;line-height:1.45}.v16-detail .hour-chip strong{font-size:14px}.v16-detail .hour-chip span,.v16-detail .hour-chip small{display:block}
.day-drawer{width:min(680px,100vw)}
@media(max-width:760px){
  .calendar-tool-panel{padding:12px 9px 14px}.calendar-note-list{grid-template-columns:1fr}.calendar-note-item{grid-template-columns:84px 1fr}.calendar-note-item small{grid-column:2}.calendar-pick-head{grid-template-columns:1fr}.calendar-filter-grid{grid-template-columns:1fr 1fr}.calendar-filter-grid label{font-size:12px;min-height:44px}.calendar-tool-tab{font-size:13px}
  .dual-wheel-wrap{grid-template-columns:1fr;gap:12px}.wheel-pane{padding:15px 11px}.wheel-pane-title span{font-size:12px}.wheel-labels{font-size:11px}.wheel-item{font-size:14px}.wheel-item.selected{font-size:21px}.month-wheel .wheel-item.selected{font-size:17px}.year-wheel .wheel-item.selected{font-size:19px}.wheel-summary span{font-size:11px}.wheel-summary strong{font-size:16px}
  .almanac-hero{padding:13px 12px}.almanac-date strong{font-size:17px}.ganzhi-line{gap:6px}.ganzhi-line span{font-size:12px}.v16-detail .detail-section h4{font-size:15px}.v16-detail .fact span{font-size:11px}.v16-detail .fact strong{font-size:13px}.v16-detail .detail-item{font-size:13px}.star-columns{grid-template-columns:1fr}.section-lead{font-size:12px}.v16-detail .hour-chip{font-size:11px}
  .search-form label{font-size:12px}.search-form input,.search-form select{font-size:14px}.subject-note{font-size:11px}
}
@media(max-width:430px){
  .calendar-filter-grid{grid-template-columns:1fr 1fr}.calendar-filter-grid label{padding:8px;font-size:11.5px}.pick-mark{right:7px;bottom:7px;width:7px;height:7px}
  .wheel-item{font-size:14px}.wheel-item.selected{font-size:20px}.month-wheel .wheel-item.selected{font-size:16px}.year-wheel .wheel-item.selected{font-size:18px}.wheel-labels{font-size:11px}
  .almanac-hero{grid-template-columns:1fr}.almanac-date.lunar{text-align:left}.ganzhi-line{grid-column:1;justify-content:flex-start}.solar-term-month-line{grid-column:1;text-align:left}.v16-detail .fact-grid{grid-template-columns:1fr 1fr}.v16-detail .day-analysis-submit{font-size:11px}
}
.search-summary span{font-size:12px}.result-sub{font-size:12px}.soft-badge{font-size:11px}.reason-list{font-size:12px;line-height:1.45}.hours-mini{font-size:11px}.result-card .detail-link{font-size:12px}.result-side .status-pill{font-size:10px}
@media(max-width:760px){.result-sub{font-size:12px}.soft-badge{font-size:11px}.reason-list{font-size:12px}.hours-mini{font-size:11px}.result-card .detail-link{font-size:12px}.result-side .status-pill{font-size:10px}}

/* V1.7: tổng quan ngày, Dụng sự rõ nghĩa và tăng khả năng đọc */
.day-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#f3eadb;border:1px solid var(--line);border-radius:14px}
.day-mode-switch button{border:0;background:transparent;color:var(--muted);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800}
.day-mode-switch button.active{background:var(--surface);color:var(--brand);box-shadow:0 2px 9px rgba(74,48,28,.09)}
.activity-help{margin:-4px 0 2px;color:var(--muted);font-size:12px;line-height:1.5}
.calendar-activity-help{margin:6px 0 0}
.subject-special{padding:10px 12px;border-radius:11px;background:#f7efdf;color:#705d3f}
.general-hero{background:#f2f6f2;border-color:#d4dfd6}.general-hero h3{color:#365d48}
.guidance-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guidance-box{padding:12px 13px;border-radius:14px}.guidance-box h5{margin:0 0 7px;font-size:13px}.guidance-box ul{margin:0;padding-left:18px;display:grid;gap:5px;font-size:12.5px;line-height:1.45}.guidance-box p{margin:0;font-size:12px;color:var(--muted)}
.star-advice-list{display:grid;gap:8px}.star-advice-card{padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.star-advice-card.good{border-color:#d1e3d6;background:#f7fbf8}.star-advice-card.warn{border-color:#ead4c9;background:#fffaf7}.star-advice-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.star-advice-head strong{font-size:13px}.star-advice-head span{font-size:10px;color:var(--muted);font-weight:700}.star-advice-card p{margin:5px 0 0;font-size:11.5px;line-height:1.45;color:#5c544a}.star-advice-card p b{color:var(--ink)}
.v17-detail .status-pill{font-size:13px;padding:6px 10px}.v17-detail .hero-status h3{font-size:23px}.v17-detail .detail-item{font-size:13px}.v17-detail .detail-item small{font-size:12px}.v17-detail .hour-chip{font-size:12px}.v17-detail .hour-chip strong{font-size:14px}.v17-detail .hour-chip small{font-size:11px}
.search-summary{display:grid;gap:4px;align-items:start}.search-summary strong{font-size:19px}.search-summary span{font-size:12px}.result-side .status-pill{font-size:13px;padding:6px 10px}.hours-mini{font-size:12px}.result-card .detail-link{font-size:13px}.reason-list{font-size:12.5px}.soft-badge{font-size:11.5px}.result-sub{font-size:12.5px}
@media(max-width:760px){.guidance-columns{grid-template-columns:1fr}.day-mode-switch button{font-size:12px;padding:9px 8px}.v17-detail .status-pill{font-size:13px}.result-side .status-pill{font-size:13px}.search-summary strong{font-size:18px}.search-summary span{font-size:12px}.activity-help{font-size:12px}}

/* V1.7.1: Phương án 5, giấy Việt, xanh rêu, nâu trầm và vàng cổ */
:root{
  --bg:#f6f0e4;
  --surface:#fffaf0;
  --surface-2:#f7efdf;
  --surface-3:#eee1ca;
  --ink:#273027;
  --muted:#6f6b5d;
  --line:#ddcfb5;
  --brand:#344737;
  --brand-dark:#26362b;
  --brand-soft:#e2e7dc;
  --gold:#9a7434;
  --gold-soft:#efe1bd;
  --positive:#3f6b4d;
  --positive-bg:#e8f0e6;
  --warning:#9b6c2e;
  --warning-bg:#f7ead3;
  --danger:#9a4937;
  --danger-bg:#f4e3dc;
  --critical:#78372c;
  --neutral:#716d62;
  --neutral-bg:#eeece4;
  --info:#526b65;
  --info-bg:#e6eeea;
  --note:#6757a2;
  --shadow:0 14px 38px rgba(61,49,30,.075);
  --shadow-soft:0 6px 20px rgba(61,49,30,.055);
}
html{background:#f1eadc}
body{
  background:
    radial-gradient(circle at 88% 8%,rgba(154,116,52,.10) 0 1px,transparent 1.5px),
    radial-gradient(circle at 14% 38%,rgba(52,71,55,.045) 0 1px,transparent 1.5px),
    linear-gradient(180deg,#f8f3e9 0%,var(--bg) 100%);
  background-size:22px 22px,31px 31px,auto;
}
.main{position:relative}
.main:before{content:"";position:fixed;right:-90px;top:70px;width:260px;height:260px;border:1px solid rgba(154,116,52,.10);border-radius:50%;box-shadow:inset 0 0 0 22px rgba(154,116,52,.025),inset 0 0 0 52px rgba(52,71,55,.018);pointer-events:none;z-index:-1}
.card{background:rgba(255,250,240,.94);border-color:var(--line);box-shadow:var(--shadow)}
.eyebrow{color:#87672f}
.brand-mark,.mini-mark{background:linear-gradient(145deg,#a76438,#8b522f);color:#fff7df;box-shadow:inset 0 0 0 1px rgba(255,232,176,.35)}
.sidebar{background:linear-gradient(180deg,#26392d 0%,#1f3027 100%);color:#f4ead8;border-right:1px solid rgba(188,151,82,.18)}
.side-nav .nav-item{color:#d9d0bc}.side-nav .nav-item:hover,.side-nav .nav-item.active{background:#3b5141;color:#fff8df}.side-note{border-top-color:#455a49}.engine-badge{color:#acb6a8}
.utility-btn,.today-btn,.round-btn{background:rgba(255,250,240,.92);border-color:#ddcfb5}.utility-btn:hover,.today-btn:hover,.round-btn:hover{border-color:#b89a61;background:#fff8e9}.today-btn{color:#344737}.reminder-btn b{background:#9a4937;border-color:var(--bg)}

/* Lịch tháng */
.calendar-classic{position:relative;background:linear-gradient(180deg,rgba(255,251,242,.98),rgba(250,244,232,.96));border-color:#d8c8a9}
.calendar-classic:before{content:"";position:absolute;right:-58px;top:-62px;width:210px;height:210px;border:1px solid rgba(154,116,52,.10);border-radius:50%;box-shadow:inset 0 0 0 18px rgba(154,116,52,.025),inset 0 0 0 46px rgba(52,71,55,.018);pointer-events:none}
.calendar-head{position:relative;z-index:1;padding-top:24px}
.month-title strong{color:var(--brand);letter-spacing:.01em}
.calendar-classic .weekday-row span{color:#3d493e}.calendar-classic .weekday-row .weekend{color:#8e4637}
.calendar-classic .day-cell{border-color:#e2d7c2}
.calendar-classic .day-cell:hover{background:#f6efdf}
.calendar-classic .day-cell.today{box-shadow:inset 0 0 0 2px #a24f36;background:linear-gradient(180deg,#fff9ed,#f9f0df)}
.calendar-classic .day-cell.today .solar-day{color:#8e402d}
.calendar-classic .lunar-day.new-month{color:#9b4b37;background:#f7e6db;border-radius:999px;padding:2px 5px}
.calendar-classic .lunar-month-start{background:rgba(244,235,211,.22)}
.calendar-classic .outside-month{background:#f4eee3;opacity:.44}
.calendar-legend{background:rgba(247,239,223,.46);border-top-color:#dfd3bd}
.calendar-tool-tabs{background:rgba(249,243,231,.58)}
.calendar-tool-tab.active{color:#7c4c28}.calendar-tool-tab.active:after{background:#8d6530}
.calendar-tool-panel{background:rgba(255,251,243,.62)}
.calendar-filter-grid label:has(input:checked){border-color:#7f936f;background:#edf0e5;color:#324237}.calendar-filter-grid input{accent-color:#435b47}
.pick-mark{background:#607f59}
.dot.today-dot{background:#a24f36;box-shadow:0 0 0 2px rgba(162,79,54,.12)}
.dot.note{background:#6757a2}

/* Đổi lịch */
.convert-board{position:relative;background:linear-gradient(180deg,rgba(255,251,242,.98),rgba(248,241,226,.96));border-color:#d7c7a7}
.convert-board:before{content:"";position:absolute;right:-72px;top:-88px;width:270px;height:270px;border:1px solid rgba(154,116,52,.11);border-radius:50%;box-shadow:inset 0 0 0 22px rgba(154,116,52,.024),inset 0 0 0 58px rgba(52,71,55,.018);pointer-events:none}
.convert-board-head{position:relative;z-index:1;justify-content:flex-start;border-bottom:0;padding-bottom:14px}
.today-soft-btn{background:#f5ead0;color:#6f5528;border-color:#d9bf86;box-shadow:0 3px 10px rgba(92,69,32,.06)}.today-soft-btn:hover{background:#ead9af}
.dual-wheel-wrap{position:relative;z-index:1}
.wheel-pane{background:linear-gradient(180deg,rgba(255,252,244,.94),rgba(249,243,231,.91));border-color:#d9c8a6;box-shadow:0 8px 25px rgba(69,55,34,.045)}
.wheel-pane.lunar-pane{background:linear-gradient(180deg,rgba(253,249,239,.96),rgba(244,241,226,.94))}
.wheel-pane-title span{color:#486048}.wheel-pane.lunar-pane .wheel-pane-title span{color:#7a5b2c}
.date-wheel{background:linear-gradient(180deg,rgba(241,234,221,.78),rgba(255,251,242,.96) 36%,rgba(255,251,242,.96) 64%,rgba(241,234,221,.78))}
.date-wheel-group:before,.date-wheel-group:after{background:#b99b61}
.wheel-item{color:#8b867a}.wheel-item.selected{color:#8f4d2f}.wheel-pane.lunar-pane .wheel-item.selected{color:#3f5742}
.wheel-summary{background:linear-gradient(180deg,#f5eedf,#eee7d6);border:1px solid #e0d2bb}.wheel-summary strong{color:#354638}
.convert-footer{border-top-color:#ddcfb5}

/* Tìm ngày, chi tiết ngày và thành phần chung theo bảng màu mới */
.primary-btn{background:linear-gradient(180deg,#3f5844,#304334);box-shadow:0 7px 18px rgba(48,67,52,.18)}.primary-btn:hover{background:#26382b}
.secondary-btn{background:#eadbb4;color:#684f27}
.quick-range button{background:#f4ecdc}.quick-range button:hover{color:#344737;border-color:#9d895f}
.subject-editor,.location-state,.truc-summary,.mansion-intro,.on-open-note{background:#f5eee0}
.search-summary,.result-card,.almanac-hero{border-color:#d9ccb5}
.almanac-hero{background:linear-gradient(145deg,#f7f0df,#fffaf0)}
.general-hero{background:#eaf0e8;border-color:#cfdccf}.general-hero h3{color:#365641}
.good-box{background:#eaf3e8;color:#365f42}.warn-box{background:#f7e9df;color:#7d4634}
.star-line,.star-advice-card{background:#fffaf1}
.day-mode-switch{background:#eee5d3}.day-mode-switch button.active{color:#344737}

/* Điều hướng mobile */
.bottom-nav{background:linear-gradient(180deg,#3d5140 0%,#2d4234 100%);border:1px solid rgba(194,159,91,.34);box-shadow:0 10px 30px rgba(31,46,36,.25),inset 0 1px rgba(255,244,212,.08)}
.bottom-nav .nav-item{color:#e4dbc6}.bottom-nav .nav-item.active{background:linear-gradient(180deg,#566b53,#435943);color:#fff4ce;box-shadow:inset 0 0 0 1px rgba(209,177,105,.32)}
.bottom-nav .nav-item.active .ui-icon{color:#e5c982}

/* Bề mặt và form */
input,select,textarea{background:#fffaf1;border-color:#ded0b7}input:focus,select:focus,textarea:focus{border-color:#8e9369;box-shadow:0 0 0 3px rgba(67,91,71,.10)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:rgba(67,91,71,.26)}
.version-card{background:#eee6d7}.version-card strong{color:#344737}
.coverage-box{background:#efe7d8;border-left-color:#4b624e}.coverage-box.soft{background:#f4ead1;border-left-color:#a67a34}

@media(max-width:1080px){
  .main:before{opacity:.55}
}
@media(max-width:760px){
  body{background:linear-gradient(180deg,#f8f3e9 0%,#f4eddf 100%)}
  .main{padding-top:18px}
  .topbar{margin-bottom:18px}
  .mobile-brand{color:#2e392f}.mini-mark{box-shadow:0 1px 5px rgba(70,48,25,.12)}
  .topbar h1{font-family:Georgia,"Times New Roman",serif;color:#2f3e31}
  .calendar-classic{border-radius:22px}.calendar-classic .calendar-head{padding:18px 12px 12px}.calendar-classic .month-title strong{font-size:26px;color:#344737}
  .calendar-classic .round-btn{width:44px;height:44px;color:#6f5429;background:#fffaf0}
  .calendar-classic .day-cell{min-height:82px}
  .calendar-legend{font-size:10px}
  .convert-board{padding:18px 12px;border-radius:22px}.convert-board-head{padding:0 4px 14px}
  .today-soft-btn{font-size:11px;padding:10px 14px}
  .wheel-pane{border-radius:20px;padding:16px 12px}.wheel-pane-title span{font-size:13px}.wheel-item.selected{font-size:22px}.month-wheel .wheel-item.selected{font-size:18px}.year-wheel .wheel-item.selected{font-size:20px}
  .bottom-nav{left:16px;right:16px;bottom:12px;height:68px;border-radius:22px;padding:6px}.bottom-nav small{font-size:9.5px}
}
@media(max-width:430px){
  .main{padding-left:10px;padding-right:10px}
  .calendar-classic .day-cell{min-height:78px}
  .calendar-classic .solar-day{font-size:19px}
  .calendar-legend{gap:12px}
  .convert-board{padding:15px 9px}
  .wheel-pane{padding:14px 10px}
}

/* V1.7.2: Phương án 5 đúng bản duyệt, giấy ngà, rêu trầm, nâu gỗ và vàng cổ */
:root{
  --bg:#f7f0e2;
  --surface:#fffaf0;
  --surface-2:#f5ead7;
  --surface-3:#ead9bd;
  --ink:#313528;
  --muted:#756f60;
  --line:#dac9aa;
  --brand:#46523a;
  --brand-dark:#343f30;
  --brand-soft:#e7eadf;
  --sandal:#a46139;
  --sandal-dark:#82482d;
  --gold:#a88443;
  --gold-soft:#efe0b9;
  --positive:#4f6947;
  --positive-bg:#e8eee2;
  --warning:#9b6b31;
  --warning-bg:#f6e7cb;
  --danger:#9a4a38;
  --danger-bg:#f4e1da;
  --critical:#76392f;
  --neutral:#746e60;
  --neutral-bg:#ede8dc;
  --info:#66705a;
  --info-bg:#e9ece4;
  --note:#6d5ca1;
  --shadow:0 15px 38px rgba(76,55,29,.08);
  --shadow-soft:0 7px 20px rgba(76,55,29,.055);
}
html{background:#eee3d0}
body{
  background:
    radial-gradient(circle at 88% 9%,rgba(168,132,67,.08) 0 1px,transparent 1.6px),
    radial-gradient(circle at 12% 42%,rgba(164,97,57,.035) 0 1px,transparent 1.6px),
    repeating-linear-gradient(0deg,rgba(110,87,50,.014) 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#fbf6ec 0%,var(--bg) 100%);
  background-size:24px 24px,35px 35px,auto,auto;
}
.main:before{
  right:-104px;top:52px;width:292px;height:292px;
  border-color:rgba(168,132,67,.095);
  box-shadow:inset 0 0 0 25px rgba(164,97,57,.018),inset 0 0 0 60px rgba(70,82,58,.016),inset 0 0 0 88px rgba(168,132,67,.014);
}
.main:after{content:"";position:fixed;right:16px;top:112px;width:92px;height:160px;opacity:.16;pointer-events:none;z-index:-1;background:repeating-linear-gradient(79deg,transparent 0 18px,rgba(70,82,58,.55) 18px 19px,transparent 19px 34px);transform:skewX(-8deg);border-radius:60% 20% 70% 25%}
.card{background:rgba(255,250,240,.955);border-color:var(--line);box-shadow:var(--shadow)}
.eyebrow{color:#8e662e}.brand-mark,.mini-mark{background:linear-gradient(145deg,#ad6a3d,#8e4e2f);color:#fff5da;box-shadow:inset 0 0 0 1px rgba(255,232,176,.38),0 2px 7px rgba(105,63,37,.12)}
.sidebar{background:linear-gradient(180deg,#3d4935 0%,#303b2e 100%);border-right-color:rgba(203,166,91,.2)}
.side-nav .nav-item:hover,.side-nav .nav-item.active{background:#596047;color:#fff3d7}.side-note{border-top-color:#59604b}
.utility-btn,.round-btn{background:rgba(255,250,239,.94);border-color:#d8c39d;color:#774b2b}.utility-btn:hover,.round-btn:hover{background:#fff7e7;border-color:#b88d50}

/* Lịch tháng: rêu chỉ là mực chính, nâu gỗ là điểm nhấn */
.calendar-classic{background:linear-gradient(180deg,rgba(255,252,244,.99),rgba(250,243,229,.97));border-color:#d6c19d;overflow:hidden}
.calendar-classic:before{right:-64px;top:-68px;width:225px;height:225px;border-color:rgba(168,132,67,.11);box-shadow:inset 0 0 0 19px rgba(164,97,57,.018),inset 0 0 0 49px rgba(70,82,58,.014)}
.calendar-classic:after{content:"";position:absolute;right:10px;bottom:86px;width:170px;height:52px;opacity:.14;pointer-events:none;background:linear-gradient(145deg,transparent 22%,#869073 23% 30%,transparent 31%),linear-gradient(35deg,transparent 43%,#b49a70 44% 51%,transparent 52%),linear-gradient(160deg,transparent 55%,#68725e 56% 63%,transparent 64%);filter:blur(.2px)}
.month-title strong{color:#46523a}.calendar-classic .weekday-row span{color:#485040}.calendar-classic .weekday-row .weekend{color:#96503a}
.calendar-classic .day-cell{border-color:#e1d3bc}.calendar-classic .day-cell:hover{background:#f6ecdb}.calendar-classic .outside-month{background:#f3ecdf;opacity:.45}
.calendar-classic .day-cell.today{box-shadow:inset 0 0 0 2px var(--sandal);background:linear-gradient(180deg,#fffaf0,#f8ecda)}
.calendar-classic .day-cell.today .solar-day{color:var(--sandal-dark)}
.calendar-classic .lunar-day.new-month{color:#92503a;background:#f5e5d6}
.calendar-legend{background:rgba(247,237,220,.48);border-top-color:#ddccb1}.calendar-tool-tabs{background:rgba(249,241,226,.64)}
.calendar-tool-tab.active{color:var(--sandal-dark)}.calendar-tool-tab.active:after{background:linear-gradient(90deg,var(--sandal),var(--gold))}
.calendar-filter-grid label:has(input:checked){border-color:#8b936d;background:#eef0e5;color:#394333}.calendar-filter-grid input{accent-color:#596348}.pick-mark{background:#7d865d}
.dot.note{background:#6d5ca1}

/* Đổi lịch: viền vàng cũ, mực nâu và rêu cân bằng */
.convert-board{background:linear-gradient(180deg,rgba(255,252,244,.99),rgba(248,239,222,.97));border-color:#d4bd95;overflow:hidden}
.convert-board:before{right:-82px;top:-100px;width:292px;height:292px;border-color:rgba(168,132,67,.12);box-shadow:inset 0 0 0 24px rgba(164,97,57,.019),inset 0 0 0 61px rgba(70,82,58,.015),inset 0 0 0 91px rgba(168,132,67,.012)}
.convert-board:after{content:"";position:absolute;right:8px;top:58px;width:126px;height:106px;opacity:.14;pointer-events:none;background:repeating-linear-gradient(78deg,transparent 0 17px,rgba(70,82,58,.7) 17px 18px,transparent 18px 31px);transform:rotate(-8deg);border-radius:60%}
.today-soft-btn{background:#f3e5c8;color:#76542b;border-color:#d2b276;box-shadow:0 4px 12px rgba(95,66,30,.07)}.today-soft-btn:hover{background:#ead7ae}
.wheel-pane{background:linear-gradient(180deg,rgba(255,252,243,.97),rgba(249,240,224,.94));border-color:#d8c19b;box-shadow:0 8px 26px rgba(77,56,31,.05)}
.wheel-pane.lunar-pane{background:linear-gradient(180deg,rgba(253,249,239,.97),rgba(245,238,220,.95))}
.wheel-pane-title span{color:#7a5a2d}.wheel-pane.lunar-pane .wheel-pane-title span{color:#4b5a3d}
.date-wheel{background:linear-gradient(180deg,rgba(239,229,211,.75),rgba(255,251,242,.97) 35%,rgba(255,251,242,.97) 65%,rgba(239,229,211,.75))}
.date-wheel-group:before,.date-wheel-group:after{background:#b18c4c}.wheel-item{color:#91897c}.wheel-item.selected{color:#975333}.wheel-pane.lunar-pane .wheel-item.selected{color:#4a5940}
.wheel-summary{background:linear-gradient(180deg,#f6ecdc,#eee3cf);border-color:#dac6a6}.wheel-summary strong{color:#4a553e}
.convert-footer{border-top-color:#d7c4a4}

/* Tìm ngày và chi tiết ngày */
.primary-btn{background:linear-gradient(180deg,#566047,#404c39);box-shadow:0 7px 18px rgba(55,69,47,.19)}.primary-btn:hover{background:#35402f}
.secondary-btn{background:linear-gradient(180deg,#efdcb0,#e2c68d);color:#69471f;border:1px solid #d1b16d}.quick-range button{background:#f3e7d3}.quick-range button:hover{color:#77502f;border-color:#b08f5c}
.subject-editor,.location-state,.truc-summary,.mansion-intro,.on-open-note{background:#f5ead9}.almanac-hero{background:linear-gradient(145deg,#f7eedb,#fffaf0);border-color:#d7c4a5}.general-hero{background:#ebeee5;border-color:#d2d8ca}.general-hero h3{color:#465b40}
.day-mode-switch{background:#eee2cf}.day-mode-switch button.active{color:#7c4f2e;background:#fff8ea}
.funeral-rite-section{background:linear-gradient(180deg,#fffaf0,#f7edda);border:1px solid #d8c39d;border-radius:18px;padding:16px}
.funeral-hour-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}.funeral-hour-card{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff8e9;border:1px solid #dfcba8;border-radius:14px;padding:11px 12px}.funeral-hour-card div{display:grid;gap:3px}.funeral-hour-card strong{font-size:14px;color:#4c523c}.funeral-hour-card span{font-size:12px;color:#7e5835}.funeral-hour-card small{font-size:10.5px;color:#756e5d;text-align:right}.ritual-authority-note{margin-top:12px;padding:10px 12px;border-left:3px solid var(--gold);background:#f3e8d1;color:#6c604e;font-size:11.5px;line-height:1.55}

/* Điều hướng mobile: rêu olive giảm bão hòa, vàng và nâu tăng hiện diện */
.bottom-nav{background:linear-gradient(180deg,#4a553d 0%,#374231 100%);border-color:rgba(190,151,77,.44);box-shadow:0 11px 30px rgba(44,51,37,.24),inset 0 1px rgba(255,241,202,.1)}
.bottom-nav .nav-item{color:#e9dfc9}.bottom-nav .nav-item.active{background:linear-gradient(180deg,rgba(245,232,198,.16),rgba(164,97,57,.15));color:#ffe9b2;box-shadow:inset 0 0 0 1px rgba(213,174,94,.48)}.bottom-nav .nav-item.active .ui-icon{color:#eccb7c}
input,select,textarea{background:#fffaf0;border-color:#ddcbaa}input:focus,select:focus,textarea:focus{border-color:#9c8558;box-shadow:0 0 0 3px rgba(168,132,67,.11)}
.version-card{background:#efe4d1}.version-card strong{color:#755032}.coverage-box{background:#eee7d7;border-left-color:#5b664d}.coverage-box.soft{background:#f3e5c7;border-left-color:#aa7e3b}

@media(max-width:760px){
  body{background:linear-gradient(180deg,#faf5ea 0%,#f5eddf 100%)}
  .mobile-brand{color:#393b30}.topbar h1{font-family:Georgia,"Times New Roman",serif;color:#3c4635}.calendar-classic .month-title strong{color:#46523a}.calendar-classic .round-btn{color:#7b502e;background:#fffaf0}
  .calendar-legend{font-size:10.5px}.bottom-nav{border-radius:22px}.funeral-hour-list{grid-template-columns:1fr 1fr}.funeral-hour-card{padding:10px}
}
@media(max-width:430px){.funeral-hour-list{grid-template-columns:1fr}.funeral-hour-card small{font-size:11px}}
.ritual-location-btn{margin-top:12px;border-color:#c9a869;background:#f3e4c5;color:#704d28;font-weight:800}.ritual-location-btn:hover{background:#ead4a8}

/* V1.7.3: sơn hướng âm trạch */
.burial-context-editor{margin-top:14px;padding:14px;border:1px solid rgba(143,103,49,.22);border-radius:18px;background:rgba(250,244,229,.72)}
.burial-context-editor>label{margin-bottom:12px}
.burial-direction-fields[hidden]{display:none!important}
.optional-label{font-weight:500;font-size:.8em;color:var(--muted)}
.burial-direction-summary{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(67,82,50,.08);color:var(--olive-900,#34422d);font-weight:700}
.burial-direction-section{background:linear-gradient(180deg,rgba(247,241,224,.92),rgba(255,252,244,.94))}
.burial-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 12px}
.burial-direction-grid>div{padding:11px;border:1px solid rgba(143,103,49,.18);border-radius:14px;background:rgba(255,255,255,.48)}
.burial-direction-grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.burial-direction-grid strong{display:block;font-size:15px}
.burial-hour-section .hour-chip{border-color:rgba(116,92,40,.24)}
@media(max-width:520px){.burial-direction-grid{grid-template-columns:1fr 1fr}.burial-direction-grid>div:last-child{grid-column:1/-1}}

/* V1.8: Theme 5 chuẩn, giấy Việt, gỗ đàn hương, rêu trầm và vàng cổ */
:root{--bg:#f4ecdc;--surface:#fffaf2;--surface-2:#f1e5cf;--surface-3:#e6d2b2;--ink:#303329;--muted:#756b5b;--line:#d4bd96;--brand:#46503a;--brand-dark:#30392d;--brand-soft:#e5e8dc;--sandal:#a05d37;--sandal-dark:#79452d;--gold:#ab8746;--gold-soft:#f0dfb6}
body{background-color:#f4ecdc;background-image:url('/theme5-landscape.svg'),repeating-linear-gradient(0deg,rgba(104,75,38,.016) 0 1px,transparent 1px 5px),linear-gradient(180deg,#fbf6eb 0%,#f4ecdc 100%);background-position:right top,0 0,0 0;background-repeat:no-repeat,repeat,repeat;background-size:min(720px,64vw) auto,auto,auto}.main:before,.main:after{display:none!important}.topbar{position:relative}.topbar:after{content:"";position:absolute;right:2%;top:-24px;width:170px;height:170px;background:url('/theme5-compass.svg') center/contain no-repeat;opacity:.085;pointer-events:none;z-index:-1}.card,.calendar-classic,.convert-board{box-shadow:0 13px 32px rgba(82,57,30,.075),inset 0 1px rgba(255,255,255,.66)}.calendar-classic:after{background:url('/theme5-mountains.svg') right bottom/230px auto no-repeat!important;opacity:.12!important;width:250px!important;height:100px!important;bottom:70px!important}.convert-board:after{background:url('/theme5-bamboo.svg') right top/contain no-repeat!important;opacity:.12!important;width:150px!important;height:180px!important;top:16px!important;right:0!important;transform:none!important}.calendar-classic:before,.convert-board:before{background:url('/theme5-compass.svg') center/contain no-repeat!important;border:0!important;box-shadow:none!important;opacity:.075!important}.brand-mark,.mini-mark{background:linear-gradient(145deg,#aa6740,#7d482f);border:1px solid rgba(222,184,104,.54)}.bottom-nav{background:linear-gradient(180deg,#48523d 0%,#333d31 100%)}.bottom-nav .nav-item.active{background:linear-gradient(180deg,rgba(235,214,164,.18),rgba(160,93,55,.2));color:#ffe9b4}.notification-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.secondary-mini{background:#e8dcc6;color:#594a35}.v18-note-controls{grid-template-columns:1fr 1fr}.reminder-options{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px;border:1px solid #d9c5a4;border-radius:12px;background:rgba(250,244,230,.75)}.reminder-options[hidden]{display:none}.reminder-options label{font-size:10.5px;color:var(--muted)}.reminder-options input,.reminder-options select{margin-top:5px}.on-open-note{grid-column:1/-1;font-size:10.5px;line-height:1.5}@media(max-width:760px){body{background-image:url('/theme5-landscape.svg'),linear-gradient(180deg,#faf5ea 0%,#f3eadb 100%);background-size:560px auto,auto;background-position:75% 0,0 0}.topbar:after{width:120px;height:120px;right:-10px;top:-14px}.v18-note-controls{grid-template-columns:1fr}.reminder-options{grid-template-columns:1fr 1fr}}@media(max-width:430px){.reminder-options{grid-template-columns:1fr}.notification-card{align-items:flex-start}.notification-actions{max-width:130px}}

/* V1.8.1: Theme 5 đậm hơn + Tiết khí trên lịch tháng */
:root{
  --bg:#f1e5d0;--surface:#fff8ec;--surface-2:#eee0c7;--surface-3:#dfc7a4;
  --ink:#252b22;--muted:#655a49;--line:#c7aa78;
  --brand:#39472f;--brand-dark:#263327;--brand-soft:#dce3d5;
  --sandal:#8b4e2f;--sandal-dark:#663722;--gold:#98712f;--gold-soft:#ead4a2;
}
body{
  background-color:#f1e5d0;
  background-image:url('/theme5-landscape.svg'),repeating-linear-gradient(0deg,rgba(91,61,31,.024) 0 1px,transparent 1px 5px),linear-gradient(180deg,#f9f1e1 0%,#efe1cb 100%);
}
.sidebar{background:linear-gradient(180deg,#26372b 0%,#19271f 100%);border-right-color:rgba(191,145,69,.26)}
.side-nav .nav-item:hover,.side-nav .nav-item.active{background:#3a4b3b;color:#fff1ce}
.brand-mark,.mini-mark{background:linear-gradient(145deg,#9a5835,#6e3d28);border-color:rgba(225,181,91,.62)}
.bottom-nav{background:linear-gradient(180deg,#414d36 0%,#293428 100%);border-color:rgba(190,145,63,.58)}
.bottom-nav .nav-item.active{background:linear-gradient(180deg,rgba(238,211,150,.22),rgba(139,78,47,.26));color:#ffe4a4;box-shadow:inset 0 0 0 1px rgba(218,171,78,.58)}
.card,.calendar-classic,.convert-board{border-color:#cdb184;box-shadow:0 14px 34px rgba(73,48,25,.10),inset 0 1px rgba(255,255,255,.68)}
.calendar-classic{background:linear-gradient(180deg,rgba(255,249,237,.99),rgba(247,237,218,.97))}
.calendar-classic .weekday-row span{color:#344031}.calendar-classic .weekday-row .weekend{color:#84402f}
.calendar-classic .day-cell{border-color:#d9c5a3}.calendar-classic .day-cell:hover{background:#f2e5ce}
.calendar-classic .day-cell.today{box-shadow:inset 0 0 0 2px #8e4c31;background:linear-gradient(180deg,#fff5df,#f3e3c8)}
.calendar-classic .day-cell.today .solar-day{color:#7a3828}
.month-title strong{color:#34422f}
.utility-btn,.round-btn{border-color:#cfb58a;background:rgba(255,248,234,.96)}
input,select,textarea{background:#fff8ec;border-color:#cfb184}
.calendar-tool-tab.active{color:#6d3d27}.calendar-tool-tab.active:after{background:#8b5a2d}
.calendar-filter-grid label:has(input:checked){border-color:#738164;background:#e8eadc;color:#2d3a2d}
.calendar-filter-grid input{accent-color:#46563f}
.pick-mark{background:#687a55}
.solar-term-label{position:absolute;left:9px;top:43px;max-width:calc(100% - 18px);font-size:9px;line-height:1.15;font-weight:850;color:#8a632c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em}
.day-cell.has-solar-term{background-image:linear-gradient(135deg,rgba(151,108,45,.045),transparent 50%)}
.day-cell.outside-month .solar-term-label{opacity:.72}
@media(max-width:760px){
  body{background-image:url('/theme5-landscape.svg'),linear-gradient(180deg,#f8efdf 0%,#eee0ca 100%)}
  .solar-term-label{left:5px;top:37px;font-size:7.5px;max-width:calc(100% - 10px)}
}
@media(max-width:430px){.solar-term-label{font-size:7px;top:35px}}

/* V1.8.3: tinh chỉnh mobile sau audit giao diện thực tế */
.search-section-kicker{margin-bottom:-2px}.search-section-kicker .eyebrow{margin-bottom:0}
.solar-term-label{position:absolute;left:9px;right:9px;top:46px;max-width:none;font-size:9px;line-height:1.15;font-weight:850;color:#8a632c;white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;letter-spacing:.01em;z-index:1}
@media(max-width:1080px){
  .main{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
  .bottom-nav{bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
  .solar-term-label{left:5px;right:5px;top:44px;max-width:none;font-size:7.5px}
  .convert-board-head{padding:0 4px 4px}
  .dual-wheel-wrap{padding:6px 0 16px}
}
@media(max-width:430px){
  .solar-term-label{top:42px;font-size:7px;line-height:1.12}
}


/* V1.8.4: mobile calendar structure and non-overlapping navigation */
.day-date-row{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;min-width:0}
.calendar-classic .day-date-row .lunar-day{position:static;top:auto;right:auto;flex:none;margin-left:auto}
.solar-term-slot{display:flex;align-items:flex-start;min-height:24px;margin-top:4px;min-width:0}
.solar-term-slot .solar-term-label{position:static;inset:auto;display:block;width:100%;max-width:100%;font-size:9px;line-height:1.15;font-weight:850;color:#8a632c;white-space:normal;overflow:hidden;text-overflow:clip;letter-spacing:.01em;z-index:auto;overflow-wrap:anywhere}

@media(max-width:1080px){
  :root{--mobile-nav-height:64px;--mobile-nav-bottom:12px;--mobile-nav-gap:12px}
  html,body{height:100%;overflow:hidden}
  .app-shell{height:100dvh;min-height:0;overflow:hidden}
  .main{height:calc(100dvh - var(--mobile-nav-height) - var(--mobile-nav-bottom) - var(--mobile-nav-gap) - env(safe-area-inset-bottom));min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}
  body.modal-open .main{overflow:hidden}
  .bottom-nav{height:var(--mobile-nav-height);bottom:calc(var(--mobile-nav-bottom) + env(safe-area-inset-bottom))}
}
@media(max-width:760px){
  :root{--mobile-nav-height:68px}
  .solar-term-slot{min-height:21px;margin-top:3px}
  .solar-term-slot .solar-term-label{font-size:8px;line-height:1.12}
  .main{padding-bottom:20px}
}
@media(max-width:430px){
  .solar-term-slot{min-height:20px;margin-top:2px}
  .solar-term-slot .solar-term-label{font-size:7.5px;line-height:1.1}
}

/* V1.8.5: Today shortcut, readable hour cards, reminder reliability */
.calendar-classic .calendar-head .calendar-today-btn{grid-column:2;grid-row:2;justify-self:center;height:30px;margin-top:7px;padding:0 12px;border-radius:999px;font-size:10px;box-shadow:none}
.calendar-classic .calendar-head #prevMonth,.calendar-classic .calendar-head #monthTitleBtn,.calendar-classic .calendar-head #nextMonth{grid-row:1}
.v17-detail .hour-chip span,.v17-detail .hour-chip small{display:block}
.v17-detail .hour-chip span{margin-top:2px}
.v17-detail .hour-chip small{margin-top:3px;line-height:1.45}
@media(max-width:760px){.calendar-classic .calendar-head .calendar-today-btn{height:28px;margin-top:5px;padding:0 11px;font-size:10px}}

/* V1.8.7: unified Mệnh Lý A Sinh brand + community links */
.brand-mark,.mini-mark{padding:0!important;background:none!important;border:0!important;overflow:hidden;box-shadow:0 2px 8px rgba(45,54,38,.14)!important}
.brand-mark img,.mini-mark img{display:block;width:100%;height:100%;object-fit:cover}
.community-card{grid-column:1/-1}
.community-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.community-link{display:grid;grid-template-columns:42px 1fr 22px;align-items:center;gap:11px;min-height:72px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,252,244,.76);color:var(--ink);text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
.community-link:hover{transform:translateY(-1px);border-color:#bd9451;background:#fffaf0;box-shadow:0 8px 22px rgba(79,58,31,.08)}
.community-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#44543a,#26362b);color:#e5c56f;border:1px solid rgba(203,160,72,.42)}
.community-icon .ui-icon{width:22px;height:22px}
.community-copy{min-width:0;display:grid;gap:3px}
.community-copy strong{font-size:13px;color:#3a3d32}
.community-copy small{font-size:10.5px;line-height:1.35;color:var(--muted)}
.community-open{width:17px;height:17px;color:#9b6a32}
.brand-credit{margin:14px auto 2px;width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10.5px}
.brand-credit img{width:28px;height:28px;border-radius:8px;box-shadow:0 2px 7px rgba(45,54,38,.12)}
.brand-credit strong{color:var(--brand)}
@media(max-width:760px){.community-links{grid-template-columns:1fr}.community-link{min-height:68px}.community-card{padding:18px}.brand-credit{margin-bottom:8px}}
.pick-mark.partial{background:transparent;border:2px solid #687a55;box-shadow:0 0 0 2px #fffefa}
.day-cell.today .pick-mark.partial{box-shadow:0 0 0 2px rgba(255,255,255,.88)}

/* V1.8.9: practical fallback when a fixed year/month already clashes with the subject */
.practical-search-note{border-color:#c9b47d;background:#fbf5e7}
.practical-search-note strong{color:#5f522f}
.empty-state #practicalFallbackBtn{margin-top:10px}
.empty-state #practicalFallbackBtn+.form-help{max-width:520px;margin:9px auto 0}


/* V1.9.1: calendar hierarchy polish requested from real-device review */
.topbar-today-btn{height:40px;padding:0 14px;border-radius:13px;border:1px solid #cfb58a;background:rgba(255,248,234,.96);color:#63472e;font-weight:850;box-shadow:0 4px 12px rgba(79,58,31,.05)}
.topbar-today-btn:hover{background:#fffaf0;border-color:#b99358}
.calendar-classic .calendar-head{padding-bottom:14px}
.calendar-classic .day-cell{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(15px,auto) 1fr minmax(20px,auto);align-items:stretch}
.calendar-classic .day-date-row{display:contents}
.calendar-classic .day-date-row .lunar-day{grid-column:1;grid-row:1;position:static!important;inset:auto!important;justify-self:end;align-self:start;margin:0!important;line-height:1.05;z-index:2}
.calendar-classic .day-date-row .solar-day{grid-column:1;grid-row:2;align-self:center;justify-self:start;margin-top:5px;line-height:1;z-index:1}
.calendar-classic .solar-term-slot{grid-column:1;grid-row:3;align-self:end;display:flex;align-items:flex-end;min-height:20px;margin:0;min-width:0}
.calendar-classic .solar-term-slot .solar-term-label{align-self:flex-end;line-height:1.08;margin:0;padding:0;max-height:2.2em}
.calendar-classic .lunar-month-caption{display:none!important}
@media(max-width:760px){
  .topbar-today-btn{height:38px;padding:0 10px;border-radius:12px;font-size:10.5px}
  .calendar-classic .day-cell{grid-template-rows:minmax(12px,auto) 1fr minmax(17px,auto)}
  .calendar-classic .day-date-row .solar-day{margin-top:7px}
  .calendar-classic .solar-term-slot{min-height:17px}
}
@media(max-width:430px){
  .topbar-today-btn{height:36px;padding:0 9px;font-size:10px}
  .calendar-classic .day-cell{grid-template-rows:minmax(11px,auto) 1fr minmax(16px,auto)}
  .calendar-classic .day-date-row .solar-day{margin-top:8px}
  .calendar-classic .solar-term-slot{min-height:16px}
  .calendar-classic .solar-term-slot .solar-term-label{font-size:7.2px;line-height:1.05}
}


/* V1.9.4 mobile PWA install guide */
.install-guide-backdrop{position:fixed;inset:0;z-index:108;background:rgba(31,27,22,.46);backdrop-filter:blur(2px)}
.install-guide{position:fixed;z-index:109;left:50%;bottom:18px;transform:translateX(-50%);width:min(520px,calc(100vw - 28px));border:1px solid #d7c7aa;border-radius:22px;background:#fffaf0;box-shadow:0 22px 60px rgba(38,29,20,.3);padding:20px 20px 16px;color:var(--ink)}
.install-guide-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer}
.install-guide-brand{display:flex;align-items:center;gap:11px;padding-right:34px}.install-guide-brand img{width:46px;height:46px;border-radius:12px}.install-guide-brand div{display:grid;gap:3px}.install-guide-brand span{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--gold)}.install-guide-brand strong{font:700 18px/1.2 Georgia,serif;color:var(--brand)}
.install-guide-lead{margin:13px 0 12px;color:var(--muted);font-size:12px;line-height:1.55}
.install-guide-steps{display:grid;gap:8px}.install-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fffefa}.install-step b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef2e9;color:var(--brand);font-size:11px}.install-step div{font-size:12px;line-height:1.5}.install-step strong{color:var(--ink)}.install-step .ui-icon{width:17px;height:17px;vertical-align:-4px;margin:0 2px;color:var(--brand)}
.install-guide-actions{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:13px}.install-guide-primary,.install-guide-later{min-height:42px}.install-guide-later{padding:0 16px}.install-guide-note{margin:9px 2px 0;color:var(--muted);font-size:10px;line-height:1.45;text-align:center}
body.install-guide-open{overflow:hidden}
@media(max-width:560px){.install-guide{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);padding:17px 15px 14px;border-radius:19px}.install-guide-brand img{width:42px;height:42px}.install-guide-brand strong{font-size:16px}.install-guide-actions{grid-template-columns:1fr}.install-guide-later{min-height:38px}.install-guide-lead{font-size:11px}.install-step div{font-size:11px}}

/* V1.9.11: đưa ghi chú lên gần thông tin ngày, bỏ khối tổng quan lặp ý */
.promoted-note-box{border:1px solid #d8c5a2;background:linear-gradient(145deg,#fff9eb,#f6ecd8);border-radius:16px;padding:14px;box-shadow:0 5px 16px rgba(77,59,28,.045)}
.promoted-note-box h4{color:#4a5d43}
.matching-note-box{border-top:0;padding-top:2px}

/* V1.9.19: banner native nằm đúng trong vùng quảng cáo cuối nội dung, không nổi đè card. */
.native-ad-anchor{display:none}
body.native-ads-capable.native-ads-ready .native-ad-anchor{display:flex;align-items:center;justify-content:center;min-height:calc(var(--native-banner-height,50px) + 24px);margin:14px auto 0;color:#8a7b66;font-size:9px;letter-spacing:.08em;text-transform:uppercase;max-width:760px;position:relative}
body.native-ads-capable.native-banner-visible .native-ad-anchor[data-ad-slot].ad-anchor-active>span{visibility:hidden}
@media(max-width:1080px){body.native-ads-capable .main{padding-bottom:24px}}


/* V1.9.22: public privacy policy link */
.privacy-actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.privacy-policy-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.privacy-policy-link:hover{background:#ead9b4;color:#5d471f}
