:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#d3cfbf;--color-card:#fbfbf7;--color-muted:#ece9df;--color-fg:#2a2619;--color-muted-fg:#575141;--color-border-strong:#736c58;--color-border:#b5ae9a;--color-primary:#2a2619;--color-on-primary:#fbfbf7;--color-primary-pressed:#45402f;--color-ring:#2a2619;--color-error-ink:#8c1d18;--color-error-bg:#fbedea;--color-destructive:#8c1d18;--color-accent:#7a4e00;--color-on-accent:#fbfbf7;--color-nav-active-bg:#ece9df;--color-scrim:#2a26199e;--color-sunday:#8c1d18;--color-today-frame:#000;--font-sans:"PingFang TC", "Heiti TC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;--font-sign:Bahnschrift, "DIN Alternate", "DIN Condensed", "Roboto Condensed", "Arial Narrow", var(--font-sans);--font-size-sm:.875rem;--font-size-md:1rem;--font-size-base:1.125rem;--font-size-lg:1.3125rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--line-height:1.6;--font-weight-normal:400;--font-weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--r-land:4px;--r-ctrl:8px;--tap-min:2.75rem;--tap-comfort:3rem;--nav-height:4.5rem;--nav-width:7.5rem;--grid-zone-col:3rem;--page-max:40rem;--border-width:2px;--focus-width:3px;--duration-fast:.12s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;overflow-x:hidden}body:has(dialog[open]){overflow:hidden}h1,h2,h3,p{margin:0}h1{font-size:var(--font-size-xl);line-height:1.3}h2{font-size:var(--font-size-lg);line-height:1.35}h3{font-size:var(--font-size-base);line-height:1.4}:focus-visible{outline:var(--focus-width) solid var(--color-ring);outline-offset:2px}.app{min-height:100dvh}.page{width:100%;max-width:var(--page-max);padding:var(--space-5) var(--space-4) calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + var(--space-5));gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.screen{width:100%;max-width:28rem;min-height:100dvh;padding:var(--space-6) var(--space-4);justify-content:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.screen--center{text-align:center;align-items:center}.stack{gap:var(--space-3);flex-direction:column;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-comfort);padding:var(--space-2) var(--space-5);border:var(--border-width) solid transparent;border-radius:var(--r-ctrl);font:inherit;font-weight:var(--font-weight-bold);text-align:center;cursor:pointer;transition:background-color var(--duration-fast), border-color var(--duration-fast);line-height:1.25;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:1.375rem;height:1.375rem}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:active{background:var(--color-primary-pressed)}.btn--secondary{background:var(--color-card);color:var(--color-fg);border-color:var(--color-border-strong)}.btn--secondary:active{border-color:var(--color-fg);background:var(--color-nav-active-bg)}.btn--ghost{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);color:var(--color-fg);text-underline-offset:5px;background:0 0;text-decoration:underline;text-decoration-thickness:2px}.btn--ghost:active{background:var(--color-nav-active-bg)}@media (hover:hover){.btn--primary:hover{background:var(--color-primary-pressed)}.btn--secondary:hover{border-color:var(--color-fg);background:var(--color-nav-active-bg)}.btn--ghost:hover{background:var(--color-nav-active-bg)}}.btn:disabled{cursor:not-allowed;background:var(--color-muted);color:var(--color-muted-fg);border-color:var(--color-border)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.field__input{width:100%;min-height:var(--tap-comfort);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-ctrl);background:var(--color-card);color:var(--color-fg);font:inherit;line-height:1.4}.field__input[aria-invalid=true]{border-color:var(--color-error-ink)}.field__input--code{min-height:3.75rem;font-family:var(--font-sign);font-size:var(--font-size-2xl);letter-spacing:.32em}.field__error{padding:var(--space-2) var(--space-3);border-radius:var(--r-land);background:var(--color-error-bg);color:var(--color-error-ink);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.form-fields{border:0;min-width:0;margin:0;padding:0}.field__input:read-only{background:var(--color-muted)}.divider{align-items:center;gap:var(--space-3);color:var(--color-muted-fg);font-size:var(--font-size-md);display:flex}.divider:before,.divider:after{content:"";background:var(--color-border);flex:1;height:2px}.login__mark{width:9.125rem;height:auto;fill:var(--color-card);stroke:var(--color-fg);stroke-width:2px;display:block}.login__title{font-size:var(--font-size-2xl);letter-spacing:.02em;line-height:1.3}.login__sheet{gap:var(--space-4);padding:var(--space-5) 1.25rem;border-radius:var(--r-land);background:var(--color-card);flex-direction:column;display:flex}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--r-land);background:var(--color-card)}.notice--error{background:var(--color-error-bg);color:var(--color-error-ink);font-weight:var(--font-weight-bold)}.notice--warn{box-shadow:inset 6px 0 0 var(--color-accent);padding-left:calc(var(--space-4) + 6px)}.notice__title{font-weight:var(--font-weight-bold)}.hint{color:var(--color-muted-fg);font-size:var(--font-size-md)}.title{color:var(--color-fg);font-size:var(--font-size-3xl);letter-spacing:.04em;line-height:1.2}.email{font-weight:var(--font-weight-bold)}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:2rem;height:2rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{z-index:10;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--color-card);border-top:var(--border-width) solid var(--color-fg);position:fixed;inset:auto 0 0}.bottom-nav__list{max-width:var(--page-max);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 auto;padding:0;list-style:none;display:grid}.bottom-nav__link{border-radius:var(--r-ctrl);min-height:3.625rem;color:var(--color-muted-fg);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.2;text-decoration:none;display:flex}.bottom-nav__link svg{width:1.5rem;height:1.5rem}.bottom-nav__link[aria-current=page]{background:var(--color-primary);color:var(--color-on-primary)}@media (width>=1024px){.app{padding-left:var(--nav-width)}.page{padding-top:var(--space-6);padding-bottom:var(--space-6)}.bottom-nav{width:var(--nav-width);padding:var(--space-5) var(--space-3);border-top:0;border-right:var(--border-width) solid var(--color-fg);inset:0 auto 0 0}.bottom-nav__list{gap:var(--space-2);grid-template-columns:1fr;max-width:none}.bottom-nav__link{min-height:4.5rem}}.sheet{width:100%;max-width:var(--page-max);border-radius:var(--r-land) var(--r-land) 0 0;background:var(--color-card);max-height:90dvh;color:var(--color-fg);border:0;margin:auto auto 0;padding:0}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:var(--color-scrim)}.sheet--confirm{width:min(100% - 2 * var(--space-4), 26rem);border-radius:6px;max-width:none;margin:auto}.sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-fg);display:flex}.sheet__body{gap:var(--space-4);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;overflow-y:auto}.sheet--confirm .sheet__body{gap:var(--space-5);padding:var(--space-5)}.sheet__message{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.55}.sheet__actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (prefers-reduced-motion:no-preference){.sheet--confirm[open]{animation:.16s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}}.banner{z-index:5;padding:var(--space-3) var(--space-4) 0;background:var(--color-bg);position:sticky;top:0}.banner__body{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:calc(var(--page-max) - 2 * var(--space-4));flex-wrap:wrap;margin:0 auto;display:flex}.stage-label{font-weight:var(--font-weight-bold);flex-wrap:wrap;align-items:baseline;column-gap:.5em;display:inline-flex}.stage-label__name{align-items:center;gap:.4em;display:inline-flex}.stage-swatch{background:var(--c);border:1px solid #2a26198c;border-radius:2px;flex:none;width:.78em;height:.78em}.zone-plan{gap:1.375rem;display:grid}.zone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.zone-grid>li{min-width:0;display:flex}.zone-card{min-width:0;min-height:var(--tap-min);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-land);background:var(--color-card);color:var(--color-fg);flex-direction:column;flex:1;gap:.375rem;padding:.625rem .75rem .75rem;text-decoration:none;display:flex}.zone-card--idle,.chip{background-color:var(--color-muted);background-image:repeating-linear-gradient(135deg,#0000 0 7px,#736c5829 7px 8px)}.zone-card:active{border-color:var(--color-fg)}@media (hover:hover){.zone-card:hover{border-color:var(--color-fg)}}.zone-card__id{font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:.01em;line-height:1}.zone-card .stage-label__detail{font-weight:var(--font-weight-bold)}.zone-card__next{color:var(--color-muted-fg);font-size:var(--font-size-md);margin-top:auto;padding-top:2px}.zone-art{border-radius:2px;max-width:100%;height:auto;display:block}.today-group{padding:var(--space-1) var(--space-4) var(--space-2);border-radius:var(--r-land);background:var(--color-card);flex-direction:column;display:flex}.today-group>h2{padding:var(--space-3) 0 .625rem;border-bottom:2px solid var(--color-fg);font-size:var(--font-size-lg)}.today-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.today-row+.today-row{border-top:1px solid var(--color-border)}.today-row__main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.today-row .day-strip{grid-column:1}.today-row__action{grid-area:1/2/span 2}.today-row__zone{font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.05}.today-row__progress{font-weight:var(--font-weight-bold)}.today-row__recorded{margin-top:var(--space-1);font-weight:var(--font-weight-bold);grid-column:1/-1}.chip-list{gap:var(--space-2);padding:var(--space-3) 0 var(--space-2);flex-wrap:wrap;margin:0;list-style:none;display:flex}.chip{border-radius:var(--r-land);font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);padding:.375rem .875rem;line-height:1.2}.page-section{gap:var(--space-3);min-width:0;padding:var(--space-4);border-radius:var(--r-land);background:var(--color-card);flex-direction:column;display:flex}.panel{padding:var(--space-4);border-radius:var(--r-land);background:var(--color-card)}.timeline-cycle{gap:var(--space-2);flex-direction:column;display:flex}.timeline-list,.harvest-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timeline-row{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-land);flex-wrap:wrap;display:flex}.timeline-row--current{background:var(--color-muted)}.timeline-cycle__head{justify-content:space-between;align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;display:flex}.timeline-cycle__range{color:var(--color-muted-fg);font-size:var(--font-size-md)}.cycle-strip{flex-wrap:nowrap;display:flex}.cycle-strip__seg{width:calc(100% * var(--d) / var(--n));flex:none;padding-right:2px}.cycle-strip .day-strip{flex-wrap:nowrap}.cycle-strip .day-strip__cell{flex:1 1 0;width:auto;min-width:0;height:1.25rem}.timeline-row__range{color:var(--color-muted-fg)}.tag{padding:0 var(--space-1);color:var(--color-muted-fg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.tag--current{color:var(--color-fg)}.harvest-row{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.harvest-row__date{min-width:3.5rem;font-weight:var(--font-weight-bold)}.preview{font-weight:var(--font-weight-bold)}.record-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.record-row{column-gap:var(--space-4);row-gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--r-land);background:var(--color-card);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.record-row>:not(.record-row__main,.record-row__amounts){grid-column:1/-1}.record-row__main{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.record-row__zone{font-family:var(--font-sign);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:.04em}.record-row__amounts{text-align:right;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.record-row__jin-int{text-align:right;min-width:3ch;display:inline-block}.record-row__jin-frac{text-align:left;min-width:2ch;display:inline-block}.record-row__actions{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));display:grid}.segmented{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.segmented__item{min-height:var(--tap-comfort);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-ctrl);background:var(--color-card);color:var(--color-fg);text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.segmented__item:not([aria-current]):active{background:var(--color-nav-active-bg)}.segmented__item[aria-current=page]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-weight-bold)}.segmented__item--disabled{background:var(--color-muted);color:var(--color-muted-fg)}.legend{gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.week-nav{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.month-nav{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.week-nav .btn,.month-nav .btn{padding-inline:var(--space-2)}.month-nav__title{text-align:center}.sched-scroll{max-height:70dvh;scroll-padding:3rem var(--grid-zone-col);border-radius:var(--r-land);background:var(--color-card);overflow:auto}.sched-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.sched-table th,.sched-table td{padding:0}.sched-table thead th{z-index:2;width:var(--tap-min);padding:var(--space-1) 0;background:var(--color-muted);color:var(--color-fg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center;line-height:1.2;position:sticky;top:0}.sched-table thead th.is-sunday,.month-table th.is-sunday{color:var(--color-sunday)}.sched-head__weekday{display:block}.sched-table .sched-zone{z-index:1;width:var(--grid-zone-col);background:var(--color-card);color:var(--color-fg);font-family:var(--font-sign);font-weight:var(--font-weight-bold);text-align:center;box-shadow:2px 0 0 var(--color-border);position:sticky;left:0}.sched-table thead .sched-zone{z-index:3;background:var(--color-muted);font-size:var(--font-size-sm)}.day-cell{width:100%;min-height:var(--tap-min);box-shadow:inset 0 0 0 1px var(--color-card);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:0;line-height:1.2;display:flex;position:relative}.day-cell:focus-visible{outline:var(--focus-width) solid currentColor;outline-offset:calc(-1 * var(--focus-width))}.day-cell:active{box-shadow:inset 0 0 0 var(--focus-width) currentColor}.day-cell--month{border-radius:var(--r-land);min-height:3.5rem}.day-cell__progress{font-weight:var(--font-weight-normal)}.day-cell--grid .day-cell__progress{font-weight:var(--font-weight-bold)}.day-cell__dot{background:currentColor;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:6px;right:6px}.sched-table td.is-today{position:relative}.sched-table .is-today:after{content:"";border:0 solid var(--color-today-frame);box-shadow:inset 2px 0 0 var(--color-card), inset -2px 0 0 var(--color-card);pointer-events:none;border-inline-width:3px;position:absolute;inset:0}.sched-table thead .is-today:after{box-shadow:inset 2px 0 0 var(--color-card), inset -2px 0 0 var(--color-card), inset 0 2px 0 var(--color-card);border-top-width:3px}.sched-table tbody tr:last-child .is-today:after{box-shadow:inset 2px 0 0 var(--color-card), inset -2px 0 0 var(--color-card), inset 0 -2px 0 var(--color-card);border-bottom-width:3px}.month-table{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}.month-table th{padding:var(--space-1) 0;border-radius:var(--r-land);background:var(--color-muted);color:var(--color-fg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center}.month-table td{padding:0}.month-table td.is-today{position:relative}.month-table td.is-today:after{content:"";border:3px solid var(--color-today-frame);border-radius:var(--r-land);box-shadow:inset 0 0 0 2px var(--color-card);pointer-events:none;position:absolute;inset:0}.info-list{flex-direction:column;margin:0;display:flex}.info-list dt{color:var(--color-muted-fg);font-size:var(--font-size-sm)}.info-list dd{margin:0 0 var(--space-3);font-weight:var(--font-weight-bold)}.info-list dd:last-child{margin-bottom:0}.member-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row-feedback{scroll-margin-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + var(--space-4))}.member-row{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);border-radius:var(--r-land);background:var(--color-card);flex-direction:column;display:flex}.member-row--inactive{background:var(--color-muted)}.member-row__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.3}.member-row__you{font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.member-row__email,.member-row__status{color:var(--color-muted-fg);font-size:var(--font-size-sm)}.member-row__actions{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}@media (prefers-reduced-motion:reduce){.btn{transition:none}.spinner{animation:none}}.warn-text{color:var(--color-error-ink);font-weight:var(--font-weight-bold)}.today-row__task{color:var(--color-muted-fg)}.step-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.step-row{gap:var(--space-2);min-width:0;padding:var(--space-3);border-top:1px solid var(--color-border);border-radius:var(--r-land);background:var(--color-card);flex-direction:column;display:flex}.step-row--past,.step-row--current{background:var(--color-muted)}.step-row__head{align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.step-row__n{font-weight:var(--font-weight-bold)}.step-row__range{color:var(--color-muted-fg);overflow-wrap:anywhere;margin:0}.step-row__days{max-width:8rem}.step-tasks{gap:var(--space-1) var(--space-4);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.step-tasks legend{font-weight:var(--font-weight-bold);padding:0}.check{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:inline-flex}.check input{width:1.5rem;height:1.5rem;accent-color:var(--color-primary)}.step-row__actions,.step-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.step-btn{min-width:var(--tap-min);min-height:var(--tap-min);padding:var(--space-2);flex:1 1 0}.btn--danger:not(:disabled){border-color:var(--color-destructive);color:var(--color-error-ink)}.step-add{min-width:0;margin:0}.step-add legend{padding:0 var(--space-2);font-weight:var(--font-weight-bold)}.step-actions>.btn{flex:1 1 0}.day-strip{flex-wrap:wrap;gap:2px;display:flex}.day-strip__cell{box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:1px;width:8px;height:12px;display:block}.day-strip__cell--past{background:var(--c)}.day-strip__cell--today{background:var(--c);border-color:var(--color-fg);box-shadow:0 0 0 1px var(--color-fg)}.day-strip__cell--future{background:var(--color-card)}.day-strip__cell--cut{background:0 0;border-style:dashed}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page--wide{max-width:70rem}.view-toggle{border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-ctrl);background:var(--color-card);align-self:flex-start;display:inline-flex}.view-toggle__item{min-width:4rem;min-height:var(--tap-min);color:var(--color-fg);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 .875rem;display:flex}.view-toggle__item:first-child{border-radius:calc(var(--r-ctrl) - var(--border-width)) 0 0 calc(var(--r-ctrl) - var(--border-width))}.view-toggle__item:last-child{border-radius:0 calc(var(--r-ctrl) - var(--border-width)) calc(var(--r-ctrl) - var(--border-width)) 0}.view-toggle__item+.view-toggle__item{border-left:var(--border-width) solid var(--color-border-strong)}.view-toggle__item[aria-pressed=false]:active{background:var(--color-nav-active-bg)}.view-toggle__item[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.field3d{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.field3d__tools{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.field3d__tool{gap:var(--space-1);min-height:var(--tap-min);padding:var(--space-2) var(--space-1);flex-wrap:wrap}.field3d__tool[aria-pressed=true]:not(:disabled){border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.field3d__layout{gap:var(--space-4);display:grid}.field3d__main{min-width:0}.field3d__stage{height:clamp(280px, calc(100vh - var(--nav-height) - env(safe-area-inset-bottom,0px) - 18.5rem), 640px);height:clamp(280px, calc(100svh - var(--nav-height) - env(safe-area-inset-bottom,0px) - 18.5rem), 640px);scroll-margin-top:var(--space-3);scroll-margin-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + var(--space-3));border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-land);background:var(--color-bg);position:relative;overflow:hidden}.field3d__host{position:absolute;inset:0}.field3d__canvas{cursor:grab}.field3d__canvas:active{cursor:grabbing}.field3d__loading{padding:var(--space-4);color:var(--color-muted-fg);font-weight:var(--font-weight-bold);text-align:center;place-items:center;display:grid;position:absolute;inset:0}.field3d__labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.field3d__label{border:1.5px solid var(--color-fg);background:var(--color-card);color:var(--color-fg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);white-space:nowrap;will-change:transform;border-radius:3px;align-items:center;gap:6px;padding:1px 8px 2px;line-height:1.35;display:inline-flex;position:absolute;top:0;left:0}.field3d__label-code{font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-base);line-height:1.15}.field3d__label-more{align-items:center;gap:5px;display:inline-flex}.field3d__label--selected{z-index:1;background:var(--color-fg);color:var(--color-card)}.field3d__label--selected .stage-swatch{border-color:var(--color-card)}.field3d__measure{visibility:hidden}.field3d__measure .field3d__label{will-change:auto}.field3d__card{z-index:2;width:min(100% - 20px,24rem);max-height:calc(100% - 20px);position:absolute;bottom:10px;left:10px;overflow-y:auto}.field3d__card--flip-y{top:10px;bottom:auto}.field3d__card--flip-x{left:auto;right:10px}.zone-pop{border:var(--border-width) solid var(--color-fg);border-radius:var(--r-land);background:var(--color-card);gap:4px;padding:10px 14px 12px;line-height:1.35;display:grid}.zone-pop__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.zone-pop__code{font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-2xl);letter-spacing:.01em;line-height:1}.zone-pop__close{width:var(--tap-min);height:var(--tap-min);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-ctrl);background:var(--color-card);color:var(--color-fg);cursor:pointer;flex:none;place-items:center;margin:-6px -10px 0 0;padding:0;display:grid}.zone-pop__close:active{border-color:var(--color-fg);background:var(--color-nav-active-bg)}@media (hover:hover){.zone-pop__close:hover{border-color:var(--color-fg);background:var(--color-nav-active-bg)}}.zone-pop__close svg{width:24px;height:24px}.zone-pop__next{color:var(--color-muted-fg)}.zone-pop__recorded{font-weight:var(--font-weight-bold)}.zone-pop .btn{min-height:var(--tap-min);margin-top:4px}.field3d__credit{color:var(--color-muted-fg);font-size:var(--font-size-md);margin-top:6px}.field3d__side{border-radius:var(--r-land);background:var(--color-card);min-width:0;padding:4px 16px 12px}.field3d__side-title{font-size:var(--font-size-base);padding-top:10px}.field3d__legend{margin:0;padding:0;list-style:none}.field3d__legend-row{gap:6px;padding:10px 0;display:grid}.field3d__legend-row+.field3d__legend-row{border-top:1px solid var(--color-border)}.field3d__about{color:var(--color-muted-fg);font-size:var(--font-size-base)}.field3d__chips{flex-wrap:wrap;gap:6px;display:flex}.field3d__chip{min-width:56px;min-height:var(--tap-min);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--r-ctrl);background:var(--color-card);color:var(--color-fg);font-family:var(--font-sign);font-stretch:75%;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;padding:0 12px}.field3d__chip:active{border-color:var(--color-fg);background:var(--color-nav-active-bg)}.field3d__chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.field3d-fail{gap:var(--space-3);flex-direction:column;display:flex}.field3d-fail__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=1024px){.field3d__tools{flex-wrap:wrap;display:flex}.field3d__tool{gap:var(--space-2);padding:var(--space-2) var(--space-4)}.field3d__layout{grid-template-columns:minmax(0,1fr) 17rem;align-items:start}.field3d__stage{height:clamp(320px,100svh - 17.5rem,720px);scroll-margin-bottom:var(--space-3)}.field3d__card{width:min(100% - 20px,21rem);top:10px;bottom:auto}.field3d__card--flip-y{top:auto;bottom:10px}}
