:root{color-scheme:light;--paper:#f4f0e8;--card:#fffdf8;--ink:#20333c;--muted:#667781;--blue:#3e718d;--blue-dark:#24546f;--line:#d9d4ca;--red:#bd4f4d;--gold:#a97932;--green:#28766c;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#e7eef0 0,#f4f0e8 320px);min-height:100vh}button,input{font:inherit}button{cursor:pointer}.shell{max-width:520px;margin:0 auto;padding:env(safe-area-inset-top) 16px max(28px,env(safe-area-inset-bottom))}.site-head{height:82px;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid #8ea7b3;border-radius:14px;color:var(--blue-dark);font-size:16px;letter-spacing:1px;background:rgba(255,255,255,.52)}h1,h2,p{margin:0}h1{font-size:25px;letter-spacing:3px;font-weight:600;color:var(--blue-dark)}h2{font-size:18px;font-weight:600;letter-spacing:1px}.eyebrow{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:10px;letter-spacing:2px;color:var(--blue);font-weight:700;margin-bottom:5px}.edition{margin-left:auto;border:1px solid #b9cbd3;border-radius:999px;padding:5px 8px;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--blue);font-size:10px;white-space:nowrap}.input-panel,.meta-card,.gate-panel,.detail-panel{background:var(--card);border:1px solid #e5e1d9;border-radius:17px;box-shadow:0 9px 28px rgba(46,65,71,.055)}.input-panel{padding:17px 16px 14px}.section-line{display:flex;justify-content:space-between;align-items:end;gap:8px}.tz,.date-range,.filter-label{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:10px;color:var(--muted);white-space:nowrap}.input-panel form{margin-top:17px}.input-panel label{display:block;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:11px;color:var(--muted);margin-bottom:7px}.input-row{display:flex;gap:8px}input[type=datetime-local]{min-width:0;flex:1;width:100%;height:45px;border:1px solid #cbd7db;border-radius:10px;background:#fff;padding:0 10px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:15px}.primary-button{border:0;border-radius:10px;background:var(--blue-dark);color:#fff;padding:0 19px;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:14px;font-weight:700}.primary-button:active{transform:translateY(1px)}.quick-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.text-button{border:0;background:none;padding:4px 1px;color:var(--blue-dark);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:12px;text-decoration:underline;text-underline-offset:3px}.error{margin-top:10px;color:#a72e2e;font-size:12px}.result{margin-top:25px}.result-head{display:flex;align-items:end;justify-content:space-between;margin:0 2px 12px}.result-head h2{font-size:23px;color:var(--blue-dark)}.verified-badge{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:11px;color:var(--green);background:#e5f2ee;border-radius:20px;padding:6px 9px}.verified-badge.prediction{color:#8f6328;background:#f8eddb}.meta-card{padding:15px 17px 17px}.meta-row{display:flex;align-items:baseline;gap:14px;margin:3px 0 7px;color:var(--blue-dark);font-size:15px;letter-spacing:1px}.meta-label{width:34px;color:var(--blue);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-weight:700;letter-spacing:1px}.meta-row strong{font-weight:600}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:15px}.pillars>div{padding:9px 2px;text-align:center;background:#f0f6f7;border:1px solid #dbe8e9;border-radius:9px}.pillars small,.bureau-strip small{display:block;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted);font-size:10px;margin-bottom:4px}.pillars strong{display:block;color:var(--blue-dark);font-size:20px;letter-spacing:2px}.bureau-strip{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:6px;margin:12px 0 15px}.bureau-strip>div{border-left:3px solid #78a5b2;padding:5px 6px;background:#f8faf9;min-width:0}.bureau-strip>div:last-child{border-left-color:#c69269}.bureau-strip strong{font-size:14px;color:var(--blue-dark);white-space:nowrap}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 16px;border-top:1px solid var(--line);padding-top:13px}.facts>div{display:flex;align-items:baseline;gap:9px;font-size:13px;min-width:0}.facts span{color:var(--muted);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:11px;white-space:nowrap}.facts strong{color:var(--blue-dark);font-weight:600;white-space:nowrap}.legend{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted);font-size:10px;white-space:nowrap}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 3px 1px 8px}.legend-dot.good{background:var(--red)}.legend-dot.minor{background:var(--gold)}.board-frame{background:#fff;border:1px solid #dedbd3;border-radius:13px;margin-top:18px;padding:12px;box-shadow:0 12px 28px rgba(54,64,65,.075)}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;aspect-ratio:1;border-top:1px solid #b9b8b2;border-left:1px solid #b9b8b2}.palace{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:0;border-right:1px solid #b9b8b2;border-bottom:1px solid #b9b8b2;padding:5px 5px 6px;text-align:left;background:#fff;color:#111;border-radius:0;transition:background .15s;touch-action:manipulation}.palace:focus-visible{outline:2px solid var(--blue-dark);outline-offset:-3px}.palace.selected{background:#eef6f8}.palace-top,.palace-middle,.palace-bottom{display:flex;align-items:center;justify-content:space-between;gap:2px;min-width:0}.palace-top{position:relative;display:block;min-height:46px}.palace-number{display:block;font-size:26px;line-height:1;font-weight:600;white-space:nowrap}.trigram{font-size:30px;line-height:1;margin-right:2px;vertical-align:-2px}.palace-god{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:clip}.palace-palace{display:block;font-size:20px;line-height:1;color:#676767;margin-top:1px}.palace-middle,.palace-bottom{padding-left:10%;font-size:15px;font-weight:600;white-space:nowrap}.palace-middle span:last-child,.palace-bottom span:last-child{min-width:18px;text-align:right}.palace-bottom{align-items:end}.palace .door.good{color:var(--red)}.palace .door.minor{color:var(--gold)}.palace .door.filtered{color:#777}.palace-flag{position:absolute;top:1px;right:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:9px;color:var(--red);white-space:nowrap}.palace-flag.horse{color:var(--blue)}.palace-center{align-items:center;justify-content:center;background:#faf9f4;color:#8c8f8b}.palace-center strong{display:block;font-size:24px;color:#74858b}.palace-center small{display:block;font-size:11px;margin-top:4px}.board-note,.gate-note,.scope-note{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted);font-size:11px;line-height:1.65}.board-note{margin:9px 4px 0}.gate-panel,.detail-panel{padding:16px;margin-top:21px}.compact h2{font-size:17px}.gate-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0 7px}.gate-item{border:1px solid #e7e1d9;border-radius:10px;text-align:center;padding:10px 2px;background:#fafaf7}.gate-item .gate-name{display:block;font-size:17px;font-weight:600}.gate-item .gate-direction{display:block;color:var(--blue-dark);font-size:13px;margin-top:5px}.gate-item.inactive{opacity:.52}.gate-item.minor.active{border-color:#e3c89c;background:#fcf6eb}.gate-item.major.active{border-color:#e1b9b6;background:#fdf4f2}.detail-panel{margin-top:14px}.direction-chip{border:1px solid #cedee2;border-radius:999px;color:var(--blue-dark);font-size:12px;padding:5px 9px}.detail-content{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px;margin-top:14px;font-size:13px}.detail-content>div{display:flex;justify-content:space-between;border-bottom:1px solid #eee9e1;padding-bottom:6px}.detail-content span{color:var(--muted)}.scope-note{margin:19px 4px 0}footer{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:10px;color:#8b9698;text-align:center;padding:25px 0 7px}button:disabled{cursor:default}
@media(max-width:390px){.shell{padding-left:11px;padding-right:11px}.site-head{gap:8px}.edition{font-size:9px;padding:5px 6px}.brand-mark{width:41px;height:41px;font-size:14px}.input-panel{padding:15px 13px}.meta-card{padding:14px 13px}.palace{padding:4px}.palace-god{font-size:11px}.palace-middle,.palace-bottom{font-size:13px}.gate-list{gap:5px}.legend{font-size:9px}}
@media(min-width:521px){.shell{padding-left:22px;padding-right:22px}}

[hidden]{display:none!important}
.site-head{height:auto;min-height:88px}.site-head h1{font-size:22px;letter-spacing:1px}
.auth-panel{margin-top:25px}.auth-panel form{display:grid;gap:7px}.auth-panel input,
#password-dialog input{width:100%;height:45px;border:1px solid #cbd7db;border-radius:10px;background:#fff;padding:0 11px;font:15px -apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif}
.auth-panel label{margin-top:8px;margin-bottom:0}.wide{height:45px;width:100%;margin-top:12px}
.account-row{display:flex;align-items:center;gap:6px;margin:2px 0 16px;font:12px -apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted)}
.account-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row button{background:none;border:0;color:var(--blue-dark);white-space:nowrap;text-decoration:underline;padding:4px}
.account-message{margin:-8px 0 12px;color:var(--green);font:12px -apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif}
#app-view{display:flex;flex-direction:column;min-height:calc(100svh - 88px - env(safe-area-inset-top) - 28px)}
.account-footer{margin-top:auto;padding-top:28px}.account-row{margin:0 0 12px}.account-message{margin:0 0 12px}
.time-form{margin-top:12px!important}.compact-meta{margin-top:16px;padding:15px}.compact-meta>strong{font-size:16px;color:var(--blue-dark)}
.method-panel,.yin-options{margin-top:16px;padding:17px 16px;background:var(--card);border:1px solid #e5e1d9;border-radius:17px;box-shadow:0 9px 28px rgba(46,65,71,.055)}
.method-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.method-buttons button{min-height:94px;border:1px solid #a6bdc6;border-radius:12px;background:#edf5f7;color:var(--blue-dark);font-size:17px;font-weight:700;text-align:left;padding:12px}
.method-buttons button:last-child{background:#fbf3eb;border-color:#d9b9a3;color:#804c2b}.method-buttons span{display:block;margin-top:7px;font:11px/1.5 -apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted)}
.yin-options fieldset{border:0;border-bottom:1px solid #e6e1d9;margin:12px 0;padding:0 0 11px}.yin-options legend{font-size:12px;color:var(--blue);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;margin-bottom:6px}.yin-options fieldset label{display:inline-flex;align-items:center;gap:5px;margin-right:14px;font-size:15px}.yin-options input{accent-color:#326ee2}
.yin-options{background:#ffffcc;border-color:#eee8a7}.yin-options fieldset{border-bottom-color:#e7e7ad}.yin-options fieldset label{color:#111}
.result .board{aspect-ratio:1}.result .palace{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}.result .palace-number{font-size:21px}.result .trigram{font-size:24px}.result .palace-palace{font-size:15px}.result .palace-god{font-size:13px}.result .palace-middle,.result .palace-bottom{font-size:14px;padding-left:0}
.board .palace.selected{background:#eef6f8}.result.yin .board .palace.selected{background:#fff4cc}.result.yin .board-frame{border-color:#d9b9a3}.result.yin .palace-flag{color:#c62222}.result.yin .palace-god.value{color:#d88a00}
.result.yin .bureau-strip>div{border-left-color:#dca774}.result.yin .verified-badge{color:#8a532c;background:#f9ebda}
.detail-content{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-content.wide-detail{display:block;max-height:320px;overflow:auto;line-height:1.65}.detail-content.wide-detail p{margin:8px 0}.detail-content.wide-detail h3{font-size:15px;color:var(--blue-dark);margin:14px 0 4px}
#password-dialog{width:min(420px,calc(100vw - 28px));border:1px solid var(--line);border-radius:15px;padding:22px;background:var(--card);color:var(--ink)}#password-dialog::backdrop{background:#20333ca8}#password-dialog h2{margin-bottom:12px}#password-dialog label{display:block;font:12px -apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--muted);margin:11px 0 6px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.dialog-actions button{height:40px;border-radius:9px;padding:0 13px}.dialog-actions button:first-child{border:1px solid var(--line);background:#fff}
@media(max-width:390px){.site-head h1{font-size:19px}.method-buttons button{font-size:15px}.result .palace-number{font-size:19px}.result .trigram{font-size:21px}}

/* 陰盤依原站盤式：十二支與引干在九宮外，宮內僅留神、干、星、門。 */
.result.yin .yin-board-frame{padding:7px 5px 5px;border:0;border-radius:0;background:#fff;box-shadow:none}
.result.yin .yin-board-frame.door-fuyin{background:#f8cbd0}
.yin-layout{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;grid-template-rows:minmax(28px,max-content) auto minmax(28px,max-content);width:100%;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}
.yin-outer-top,.yin-outer-bottom{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
.yin-outer-top{grid-row:1}.yin-outer-bottom{grid-row:3}
.yin-outer-left,.yin-outer-right{grid-row:2;display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}
.yin-outer-left{grid-column:1}.yin-outer-right{grid-column:3}
.outer-label{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;white-space:nowrap;line-height:1}
.yin-outer-left .outer-label,.yin-outer-right .outer-label{flex-direction:column;gap:5px}
.outer-branch{color:#78292e;font-size:13px;font-weight:500}
.outer-stem{color:#0b1394;font-size:clamp(18px,4.7vw,22px);font-weight:500;letter-spacing:-2px}
.outer-stem.stacked{display:flex;flex-direction:column;align-items:center;letter-spacing:0;line-height:1}
.outer-corner-horse{z-index:1;justify-self:center;align-self:center;color:#cc353a;font-size:20px;line-height:1;white-space:nowrap}
.outer-corner-horse.horse-top-left{grid-column:1;grid-row:1}
.outer-corner-horse.horse-top-right{grid-column:3;grid-row:1}
.outer-corner-horse.horse-bottom-left{grid-column:1;grid-row:3}
.outer-corner-horse.horse-bottom-right{grid-column:3;grid-row:3}
.result.yin .yin-board{grid-column:2;grid-row:2;aspect-ratio:1.27;grid-template-rows:repeat(3,minmax(0,1fr));border-top:2px solid #343434;border-left:2px solid #343434}
.result.yin .yin-palace{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;padding:2px 3px;appearance:none;-webkit-appearance:none;border:0;border-right:2px solid #343434;border-bottom:2px solid #343434;background:#fff;font-size:clamp(19px,5.2vw,24px);font-weight:400;line-height:1;letter-spacing:-1px}
.result.yin .yin-palace.selected{background:#fffbc8}
.result.yin .yin-center{background:#fff}
.yin-god{grid-column:1;grid-row:1;align-self:start;padding-top:2px}
.yin-heaven{grid-column:1;grid-row:2;white-space:nowrap}
.yin-star{grid-column:2;grid-row:2;text-align:right;white-space:nowrap}
.yin-earth{grid-column:1;grid-row:3;align-self:end;padding-bottom:2px;white-space:nowrap}
.yin-door{grid-column:2;grid-row:3;align-self:end;padding-bottom:2px;text-align:right}
.yin-stem.tomb{color:#d7a439}.yin-stem.punishment,.yin-door.pressure{color:#c5353d}
.yin-void{color:#a54b4c;font-size:.72em;margin-right:3px;vertical-align:2px}
@media(max-width:390px){.yin-layout{grid-template-columns:23px minmax(0,1fr) 23px}.result.yin .yin-palace{font-size:clamp(18px,5.1vw,21px);padding:2px}.outer-stem{font-size:18px}}

/* 時間摘要改為原站五行文字，不再使用四柱與結果資料卡。 */
.chart-summary{margin:13px 0 14px;padding:7px 5px 9px;background:#fff;color:#111;font-family:"PingFang TC","Noto Sans TC",-apple-system,sans-serif;font-size:clamp(17px,4.6vw,22px);font-weight:400;line-height:1.42;letter-spacing:-.5px}
.chart-summary p{margin:0 0 4px;white-space:normal}
.chart-summary .summary-color,.chart-summary .summary-pillar{color:#101495}
.chart-summary .summary-red,.chart-summary .summary-pillar.summary-red{color:#c53136}
.chart-summary .summary-pillar{white-space:nowrap;margin-right:2px}
.result .chart-summary{margin-top:0;margin-bottom:19px}

/* 陽盤保留原宮位資訊，字級加一級並補齊盤外十二地支。 */
.result:not(.yin) .yin-layout>.board{grid-column:2;grid-row:2;border-top:1px solid #686868;border-left:1px solid #686868}
.result:not(.yin) .yin-layout .palace{appearance:none;-webkit-appearance:none;border:0;border-right:1px solid #686868;border-bottom:1px solid #686868}
.result:not(.yin) .palace-number{font-size:23px}
.result:not(.yin) .trigram{font-size:26px}
.result:not(.yin) .palace-palace{font-size:17px}
.result:not(.yin) .palace-god{font-size:15px}
.result:not(.yin) .palace-middle,.result:not(.yin) .palace-bottom{font-size:16px}
.result:not(.yin) .palace-center strong{font-size:26px}
.result:not(.yin) .palace-center small{font-size:12px}
@media(max-width:390px){.result:not(.yin) .palace-number{font-size:21px}.result:not(.yin) .trigram{font-size:23px}.result:not(.yin) .palace-palace{font-size:15px}.result:not(.yin) .palace-god{font-size:14px}.result:not(.yin) .palace-middle,.result:not(.yin) .palace-bottom{font-size:15px}}

/* 陽盤右欄貼齊宮格右緣；Safari 按鈕以 flex 撐滿各內容列。 */
.result:not(.yin) .palace:not(.palace-center){display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;position:relative}
.result:not(.yin) .palace-top{position:static;min-height:26px;height:26px;flex:0 0 26px;width:100%}
.result:not(.yin) .palace-palace{position:absolute;top:4px;right:5px;margin:0;line-height:1;text-align:right}
.result:not(.yin) .palace-flag{top:23px;right:5px;font-size:10px;line-height:1;text-align:right}
.result:not(.yin) .void-symbol{font-family:Arial,"Apple Symbols",sans-serif;font-size:13px;vertical-align:-1px}
.result:not(.yin) .palace-god{align-self:stretch;width:100%;flex:0 0 auto;min-height:0;line-height:1.1;overflow:visible}
.result:not(.yin) .palace-middle,.result:not(.yin) .palace-bottom{display:flex;width:100%;align-self:stretch;justify-content:space-between;flex:0 0 auto;line-height:1.05}
.result:not(.yin) .yang-stems{display:inline-flex;justify-content:flex-end;gap:0;margin-left:auto;white-space:nowrap;text-align:right}
.result:not(.yin) .yang-stem{min-width:0}
.result:not(.yin) .yang-stem.punishment,.result:not(.yin) .door.pressure{color:#c5353d}
.result:not(.yin) .yang-stem.tomb{color:#b88316}
.result:not(.yin) .door.good,.result:not(.yin) .door.minor{color:#111}
.result:not(.yin) .door.pressure{color:#c5353d}
.detail-content.wide-detail .growth-highlight{color:#c5353d;font-weight:700}
.result.yin .yin-palace.detail-selected{box-shadow:inset 0 0 0 2px #3e718d}
.yin-perspectives{display:flex;flex-wrap:wrap;gap:5px 7px;margin:18px 0 0;padding:0 6px}
.yin-perspectives[hidden]{display:none}
.yin-perspectives button{appearance:none;border:2px solid #efb6aa;border-radius:14px;background:#fff;color:#111;padding:4px 9px;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:15px;line-height:1.2;white-space:nowrap}
.yin-perspectives button.active{background:#fffbc8}
.yin-perspectives button:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.yin-reader-position{margin:8px 8px 0;color:var(--blue-dark);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;font-size:12px;line-height:1.5}
.yin-reader-position[hidden]{display:none}
@media(max-width:390px){
  .result:not(.yin) .palace-top{min-height:24px;height:24px;flex-basis:24px}
  .result:not(.yin) .palace-palace{top:3px;right:4px}
  .result:not(.yin) .palace-flag{top:20px;right:4px;font-size:9px}
  .result:not(.yin) .void-symbol{font-size:11px}
}
