@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.block{display:block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#171512;--paper:#f4efe6;--cream:#ebe1d2;--red:#a9382e;--brass:#8a6b36;--line:#1715122e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Noto Serif TC,Songti TC,PMingLiU,serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4efe6eb;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,5vw,76px);display:flex;position:sticky;top:0}.brand{color:inherit;letter-spacing:.08em;align-items:center;gap:11px;font-weight:700;text-decoration:none;display:flex}.brand-seal{border:1px solid var(--red);width:38px;height:38px;color:var(--red);place-items:center;font-size:20px;display:grid;position:relative}.brand-seal:after{content:"";opacity:.45;border:1px solid;position:absolute;inset:3px}.brand small{letter-spacing:.2em;margin-top:3px;font-family:Arial,sans-serif;font-size:8px;font-weight:500;display:block}nav{gap:34px;display:flex}nav a{color:#504a42;font-size:14px;text-decoration:none}.outline-btn,.chart-toolbar button{border:1px solid var(--ink);color:inherit;background:0 0;padding:10px 17px;text-decoration:none}.ad{font-family:Arial,Noto Sans TC,sans-serif}.ad-top{border:1px solid var(--line);background:#eee6da;align-items:center;gap:20px;max-width:960px;min-height:68px;margin:18px auto 0;padding:10px 16px;display:flex}.ad-top>span,.ad-native>span{color:#777;border:1px solid #999;padding:2px 4px;font-size:9px}.ad-top div{flex:1;align-items:baseline;gap:20px;display:flex}.ad-top small{color:#746c62}.ad button{background:var(--ink);color:#fff;border:0;padding:9px 14px;font-size:12px}.hero{max-width:1100px;padding:88px max(7vw,24px) 68px}.eyebrow{color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px;font:700 11px/1.3 Arial,sans-serif}h1{letter-spacing:-.04em;margin:0 0 28px;font-size:clamp(48px,7vw,92px);font-weight:600;line-height:1.04}h1 em{color:var(--red);white-space:nowrap;font-style:normal}.hero>p{color:#5f584f;max-width:720px;margin:0;font-size:18px;line-height:1.85}.hero-meta{color:#756d63;letter-spacing:.05em;gap:30px;margin-top:36px;font:11px Arial,sans-serif;display:flex}.hero-meta span:first-child{color:#4d6948}.workspace{grid-template-columns:minmax(280px,340px) minmax(460px,650px) minmax(140px,180px);align-items:stretch;gap:18px;padding:0 max(4vw,24px) 100px;display:grid}.panel{border:1px solid var(--line);background:#faf7f1}.form-panel{padding:28px}.step-title{border-bottom:1px solid var(--line);align-items:center;gap:15px;margin-bottom:24px;padding-bottom:22px;display:flex}.step-title>span{color:var(--red);border-right:1px solid var(--line);padding-right:15px;font:12px Arial,sans-serif}h2,h3,p{margin-top:0}.step-title h2{margin:0 0 3px;font-size:22px}.step-title p{color:#82786c;margin:0;font-size:12px}.form-panel label{letter-spacing:.04em;margin:20px 0 8px;font-size:12px;font-weight:700;display:block}.form-panel input,.form-panel select{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);background:#fff;border-radius:0;margin-top:8px;padding:0 13px}.year-input-wrap{position:relative}.year-input-wrap input{letter-spacing:.06em;padding-right:42px;font:600 20px/1 Arial,sans-serif}.year-input-wrap>span{color:#7c7369;font-size:12px;position:absolute;top:24px;right:14px}.year-quick{gap:7px;margin-top:9px;display:flex}.year-quick button{border:1px solid var(--line);color:#665e55;background:#f5efe5;flex:1;padding:7px 4px;font:10px Arial,sans-serif}.period-card{background:var(--ink);color:#fff;grid-template-columns:1fr auto;align-items:center;margin-top:10px;padding:16px;display:grid}.period-card span,.period-card small{color:#b8afa2;font-size:10px}.period-card strong{color:#e8c68e;grid-row:span 2;font-size:18px}.period-card small{margin-top:5px}.direction-row{text-align:center;background:#eee6da;justify-content:space-between;align-items:center;margin-top:16px;padding:15px;display:flex}.direction-row div:not(.direction-line){gap:2px;display:grid}.direction-row small{color:#81776d;font-size:9px}.direction-row strong{font-size:19px}.direction-row span{color:#81776d;font:9px Arial}.direction-line{color:var(--red);font-size:22px}.primary-btn{background:var(--red);color:#fff;border:0;justify-content:space-between;align-items:center;width:100%;height:50px;margin-top:22px;padding:0 18px;display:flex}.fine-print{color:#81786e;margin:14px 0 0;line-height:1.65;font-size:10px!important}.chart-panel{padding:22px 28px 26px;transition:all .25s}.chart-panel.pending .star-grid{opacity:.48}.chart-panel.pending{box-shadow:inset 0 4px #c79a54}.chart-panel.ready{box-shadow:inset 0 4px 0 var(--red)}.chart-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;display:flex}.chart-toolbar button{padding:7px 10px;font-size:11px}.live-dot{background:#4f744b;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.compass{color:var(--red);justify-content:center;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.compass-line{background:currentColor;width:44px;height:1px}.compass small{color:#736a60;font:9px Arial}.star-grid{aspect-ratio:1;border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:#f8f2e8;grid-template-columns:repeat(3,1fr);display:grid}.palace{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-width:0;padding:9px;position:relative}.palace-head{color:#7d7368;justify-content:space-between;font-size:9px;display:flex}.palace-head span:first-child{color:var(--red);font-weight:700}.star-pair{justify-content:space-between;margin-top:3px;font:700 clamp(13px,1.5vw,19px) Georgia,serif;display:flex}.mountain-star{color:var(--red)}.facing-star{color:var(--brass)}.period-star{text-align:center;margin-top:-1px;font:500 clamp(34px,5vw,65px)/1 Georgia,serif}.star-caption{text-align:center;color:#82786c;margin-top:3px;font-size:9px}.legend{color:#645d55;align-items:center;gap:18px;margin-top:15px;font-size:10px;display:flex}.legend small{color:#816f51;margin-left:auto}.dot{border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.dot.mountain{background:var(--red)}.dot.facing{background:var(--brass)}.dot.period{background:var(--ink)}.ad-side{border:1px solid var(--line);color:#fff;background:#1d1a17;place-items:center;min-height:420px;display:grid;overflow:hidden}.floor-section{color:#eee8de;background:#1c1a17;padding:92px max(7vw,24px)}.section-copy{grid-template-columns:1fr 1.4fr;align-items:end;gap:50px;max-width:1150px;margin:0 auto 52px;display:grid}.section-copy .eyebrow{grid-column:1/-1;margin:0}.section-copy h2{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.15}.section-copy p{color:#aaa197;max-width:500px;margin:0;line-height:1.8}.floor-workbench{border:1px solid #4a4540;grid-template-columns:1fr 300px;max-width:1150px;min-height:570px;margin:auto;display:grid}.plan-canvas{background-color:#292621;background-image:linear-gradient(#33302b 1px,#0000 1px),linear-gradient(90deg,#33302b 1px,#0000 1px);background-size:30px 30px;place-items:center;min-height:570px;display:grid;position:relative;overflow:hidden}.plan-canvas>img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.upload-zone{cursor:pointer;color:#aaa197;border:1px dashed #716a61;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:70%;height:60%;display:flex}.upload-zone input{display:none}.upload-zone b{color:#d5c6ad;font:300 45px Arial}.upload-zone strong{color:#fff}.upload-zone span{font-size:11px}.overlay-chart{aspect-ratio:1;z-index:4;transform-origin:50%;position:absolute}.overlay-chart .star-grid{background:#f4efe6d1;width:100%;height:100%}.star-grid.compact .palace{padding:4px}.star-grid.compact .period-star{font-size:clamp(18px,3vw,42px)}.star-grid.compact .star-pair{font-size:clamp(9px,1.2vw,15px)}.star-grid.compact .palace-head{font-size:7px}.controls{background:#25221e;padding:25px}.controls-head{border-bottom:1px solid #49443e;justify-content:space-between;margin-bottom:24px;padding-bottom:18px;display:flex}.controls-head h3{margin:0}.controls-head button{color:#c88b7c;background:0 0;border:0;font-size:10px}.range{margin-bottom:24px;display:block}.range span{color:#aaa197;justify-content:space-between;margin-bottom:8px;font-size:11px;display:flex}.range b{color:#fff}.range input{width:100%;accent-color:var(--red)}.tip{border-left:2px solid var(--red);margin-top:38px;padding:4px 0 4px 14px}.tip b{font-size:12px}.tip p{color:#9c938a;margin:7px 0 0;font-size:10px;line-height:1.65}.rotation-control{border-top:1px solid #49443e;border-bottom:1px solid #49443e;margin:4px 0 24px;padding:20px 0}.rotation-control .range{margin-bottom:14px}.rotation-actions{grid-template-columns:1fr 1.25fr 1fr;gap:7px;display:grid}.rotation-actions button,.align-facing{color:#eee8de;background:#302c27;border:1px solid #5b554d;min-height:42px}.rotation-actions label{position:relative}.rotation-actions input{color:#fff;text-align:center;background:#171512;border:1px solid #625b52;width:100%;height:42px;padding:0 23px 0 8px}.rotation-actions label span{color:#9b9288;font-size:11px;position:absolute;top:13px;right:9px}.align-facing{color:#e3b2a9;background:#35211f;border-color:#86423b;width:100%;margin-top:8px;font-size:11px}.adsense-placeholder,.adsense-unit{font-family:Arial,Noto Sans TC,sans-serif;overflow:hidden}.adsense-placeholder{color:#7c746a;background:#ebe3d7;border:1px dashed #1715123d;justify-content:center;align-items:center;gap:14px;min-height:82px;display:flex}.adsense-placeholder>span{border:1px solid;padding:2px 4px;font-size:8px}.adsense-placeholder b{color:#514b44;font-size:12px}.adsense-placeholder small{font-size:9px}.adsense-top,.adsense-content{max-width:980px;margin:18px auto}.adsense-content{min-height:110px;margin-top:0;margin-bottom:90px}.adsense-side{text-align:center;flex-direction:column;width:100%;min-height:420px;padding:16px;color:#8f867c!important;background:#1d1a17!important;border-color:#4d4842!important}.adsense-side b{color:#d7c8b4}.adsense-unit{width:100%;min-height:90px}.adsense-unit.adsense-side{min-height:420px}.adsbygoogle{width:100%}.guide{grid-template-columns:repeat(3,1fr);gap:0;padding:90px max(7vw,24px);display:grid}.guide>div{border-right:1px solid var(--line);margin-right:40px;padding:12px 40px 12px 0}.guide>div:last-child{border:0}.guide span{color:var(--red);font:11px Arial}.guide h3{margin:15px 0 10px;font-size:25px}.guide p{color:#756d63;font-size:13px;line-height:1.7}.ad-native{border:1px solid var(--line);background:#e7ddd0;align-items:center;gap:24px;max-width:980px;margin:0 auto 90px;padding:20px 24px;display:flex}.ad-native div{flex:1}.ad-native small{color:var(--red);font-size:9px}.ad-native b{margin:4px 0;font-size:18px;display:block}.ad-native p{color:#6f675e;margin:0;font-size:11px}.ad-native button{padding:12px 18px}footer{border-top:1px solid var(--line);color:#716a62;align-items:center;gap:34px;padding:40px max(5vw,24px);font-size:11px;display:flex}footer p{flex:1;margin:0}footer>span{font-family:Arial,sans-serif;font-size:9px}.footer-links{flex-wrap:wrap;gap:14px;display:flex}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{text-decoration:underline}.info-page{background:var(--paper);min-height:100vh}.info-header{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.info-header nav{align-items:center;gap:24px}.info-header nav a[aria-current=page]{color:var(--red);font-weight:700}.info-main{max-width:920px;margin:0 auto;padding:76px 28px 100px}.info-main.wide{max-width:1080px}.info-kicker{color:var(--red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font:700 11px/1.3 Arial,sans-serif}.info-main h1{margin-bottom:22px;font-size:clamp(42px,6vw,72px)}.info-lead{color:#5f584f;max-width:760px;margin-bottom:54px;font-size:19px;line-height:1.85}.info-card,.article-section{border-top:1px solid var(--line);padding:34px 0}.info-card h2,.article-section h2{margin-bottom:15px;font-size:28px}.info-card h3,.article-section h3{margin:30px 0 10px;font-size:20px}.info-card p,.article-section p,.article-section li{color:#5f584f;font-size:15px;line-height:1.9}.article-section ul,.article-section ol{padding-left:1.35em}.article-section li+li{margin-top:8px}.content-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 56px;display:grid}.content-tile{border:1px solid var(--line);color:inherit;background:#faf7f1;padding:25px;text-decoration:none}.content-tile span{color:var(--red);font:11px Arial,sans-serif}.content-tile h2{margin:18px 0 10px;font-size:22px}.content-tile p{color:#6f675e;margin:0;font-size:13px;line-height:1.75}.content-tile:hover{border-color:var(--red);transform:translateY(-2px)}.method-table{border-collapse:collapse;width:100%;margin:20px 0}.method-table th,.method-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:14px;line-height:1.65}.method-table th{background:#e9dfd1;font-size:12px}.method-table td{color:#5f584f;font-size:13px}.notice-box{border-left:3px solid var(--red);color:#544d45;background:#e9dfd1;margin:28px 0;padding:18px 20px;font-size:14px;line-height:1.8}.contact-box{border:1px solid var(--line);background:#faf7f1;margin-top:28px;padding:28px}.contact-box a{color:var(--red)}.info-footer{max-width:1080px;margin:auto}.updated{color:#81786e;margin-top:38px;font:10px Arial,sans-serif}@media (max-width:1050px){.workspace{grid-template-columns:300px 1fr}.ad-side{display:none}.period-star{font-size:5.8vw}.floor-workbench{grid-template-columns:1fr 260px}}@media (max-width:760px){.topbar nav,.outline-btn{display:none}.topbar{height:64px;padding:0 16px}.brand-seal{width:34px;height:34px}.adsense-top,.adsense-content{min-height:74px;margin-left:12px;margin-right:12px}.adsense-placeholder{text-align:center;flex-wrap:wrap;gap:7px;padding:10px}.adsense-placeholder small{width:100%}.hero{padding:52px 18px 48px}.hero>p{font-size:16px}.hero-meta{flex-wrap:wrap;gap:12px}.workspace{grid-template-columns:minmax(0,1fr);padding:0 10px 64px}.form-panel{padding:22px 18px}.form-panel input,.form-panel select{height:52px;font-size:16px}.year-input-wrap>span{top:27px}.primary-btn{height:54px}.chart-panel{padding:14px 10px}.chart-toolbar{gap:8px}.chart-toolbar>div{font-size:10px}.period-star{font-size:12vw}.star-pair{font-size:4vw}.palace{padding:6px}.legend{flex-wrap:wrap;gap:10px}.legend small{width:100%;margin-left:0}.floor-section{padding:64px 10px}.section-copy{grid-template-columns:1fr;gap:18px;padding:0 8px}.floor-workbench{grid-template-columns:minmax(0,1fr)}.plan-canvas{min-height:370px}.upload-zone{width:86%;height:68%}.controls{padding:22px 18px}.range input{height:30px}.rotation-actions button,.rotation-actions input,.align-facing{min-height:48px}.guide{grid-template-columns:1fr;padding:54px 18px}.guide>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:22px 0}.adsense-content{margin-bottom:60px}footer{flex-wrap:wrap;align-items:flex-start;padding:34px 18px}footer p{flex-basis:60%}.info-header nav{display:none}.info-main{padding:48px 18px 72px}.info-lead{margin-bottom:38px;font-size:16px}.content-grid{grid-template-columns:1fr}.info-card h2,.article-section h2{font-size:24px}.method-table{display:block;overflow-x:auto}.info-footer{margin:0}.footer-links{order:3;width:100%}}@media (max-width:390px){h1{font-size:43px}.chart-toolbar button{padding:7px}.palace-head span:last-child,.star-caption{display:none}.plan-canvas{min-height:330px}.rotation-actions{grid-template-columns:1fr 1.3fr 1fr}}@media print{.topbar,.ad,.form-panel,.floor-section,.guide,footer{display:none}.workspace{padding:20px;display:block}.chart-panel{max-width:650px;margin:auto}.chart-toolbar button{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
