.eng-calc{--eng-calc-key-h: 2.25rem}.eng-calc__shell{display:grid;gap:var(--space-4, 1rem)}@media (min-width: 992px){.eng-calc__shell{grid-template-columns:minmax(0,1fr) min(18rem,32%);align-items:start}}.eng-calc__main{min-width:0}.eng-calc__display-card{padding:var(--space-3, .75rem);margin-block-end:var(--space-3, .75rem);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, .75rem);background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.04) 0%,var(--color-bg-elevated, #fff) 100%);box-shadow:var(--shadow-sm, 0 1px 3px rgb(0 0 0 / 8%))}.eng-calc__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, .5rem);margin-block-end:var(--space-2, .5rem)}.eng-calc__angle{display:inline-flex;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-full, 999px);overflow:hidden;background:var(--color-bg, #fff)}.eng-calc__angle button{min-height:1.75rem;padding:.15rem .55rem;border:0;background:transparent;color:var(--color-text-muted, #6b7280);font-size:.72rem;font-weight:700;cursor:pointer}.eng-calc__angle button+button{border-inline-start:1px solid var(--color-border, #e5e7eb)}.eng-calc__angle button.is-active{background:var(--color-primary, #2563eb);color:var(--ut-on-accent)}.eng-calc__memory{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:var(--radius-full, 999px);background:rgba(var(--color-primary-rgb),.08);font-size:.75rem;color:var(--color-text-muted, #6b7280)}.eng-calc__memory-label{font-weight:700;color:var(--color-primary, #2563eb)}.eng-calc__memory-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:var(--color-text, #1a1a1a)}.eng-calc__expression{margin:0 0 .25rem;min-height:1rem;color:var(--color-text-muted, #6b7280);font-size:.78rem;text-align:end;word-break:break-all}.eng-calc__input{display:block;width:100%;margin-block-end:.35rem;padding:.35rem .5rem;border:0;border-block-end:1px dashed rgba(var(--color-primary-rgb),.25);border-radius:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;background:transparent;color:var(--color-text, #1a1a1a)}.eng-calc__input:focus{outline:none;border-block-end-color:var(--color-primary, #2563eb)}.eng-calc__result{display:block;width:100%;min-height:2rem;padding:.15rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:700;text-align:end;overflow-x:auto;color:var(--color-primary, #2563eb)}.eng-calc__hint{margin:.35rem 0 0;color:var(--color-text-muted, #6b7280);font-size:.72rem}.eng-calc__keypad-tabs,.eng-calc__aside-tabs{display:flex;gap:.35rem;margin-block-end:var(--space-2, .5rem)}.eng-calc__keypad-tabs button,.eng-calc__aside-tabs button{flex:1;min-height:2rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-full, 999px);background:var(--color-bg, #fff);color:var(--color-text-muted, #6b7280);font-size:.78rem;font-weight:600;cursor:pointer}.eng-calc__keypad-tabs button.is-active,.eng-calc__aside-tabs button.is-active{border-color:rgba(var(--color-primary-rgb),.35);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary, #2563eb)}.eng-calc__keypads{direction:ltr;display:flex;flex-direction:column;gap:.5rem}.eng-calc__board{display:flex;flex-direction:column;gap:.5rem}.eng-calc__util{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.eng-calc__core{display:grid;grid-template-columns:minmax(0,1fr) 3.25rem;gap:.35rem;align-items:stretch}.eng-calc__numpad{direction:ltr;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.eng-calc__ops{direction:ltr;display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:.35rem}.eng-calc__fn-grid{direction:ltr;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}.eng-calc__util button,.eng-calc__numpad button,.eng-calc__ops button,.eng-calc__fn-grid button{min-height:var(--eng-calc-key-h);padding:.15rem .25rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .5rem);background:var(--color-bg, #fff);color:var(--color-text, #1a1a1a);font-size:.82rem;font-weight:600;line-height:1.1;cursor:pointer;transition:border-color var(--duration-fast, .12s) var(--ease-standard, ease),background var(--duration-fast, .12s) var(--ease-standard, ease),transform var(--duration-fast, .12s) var(--ease-standard, ease)}.eng-calc__numpad button{font-size:1rem;font-weight:700}.eng-calc__util button:hover,.eng-calc__numpad button:hover,.eng-calc__ops button:hover,.eng-calc__fn-grid button:hover{border-color:rgba(var(--color-primary-rgb),.45);background:rgba(var(--color-primary-rgb),.04)}.eng-calc__util button:active,.eng-calc__numpad button:active,.eng-calc__ops button:active,.eng-calc__fn-grid button:active{transform:scale(.97)}.eng-calc__key--muted{color:var(--color-text-muted, #6b7280);background:var(--color-surface-muted, #f3f4f6)}.eng-calc__key--op{background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary, #2563eb);font-size:1.05rem}.eng-calc__zero{grid-column:span 1}.eng-calc__equals{background:var(--color-primary, #2563eb)!important;color:var(--ut-on-accent)!important;border-color:transparent!important;font-size:1.1rem!important}.eng-calc__error{display:flex;align-items:flex-start;gap:.55rem;margin-block-start:.55rem;padding:.55rem .65rem;border:1px solid rgba(220,38,38,.22);border-radius:var(--radius-md, .5rem);background:var(--ut-danger-tint);color:var(--ut-danger-ink);animation:eng-calc-error-in .18s var(--ease-out, ease-out)}.eng-calc__error[hidden]{display:none!important}.eng-calc__display-card.has-error{border-color:#dc262659;box-shadow:var(--shadow-sm, 0 1px 3px rgb(0 0 0 / 8%)),0 0 0 3px #dc26261a}.eng-calc__display-card.has-error .eng-calc__input{border-block-end-color:#dc26268c}.eng-calc__display-card.has-error .eng-calc__result{color:var(--ut-danger-ink)}.eng-calc__display-card.has-error .eng-calc__hint{display:none}.eng-calc__error-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:var(--radius-full, 999px);background:#dc26261f;color:var(--ut-danger-ink);font-size:.85rem}.eng-calc__error-body{flex:1;min-width:0;text-align:start}.eng-calc__error-title{display:block;margin:0 0 .1rem;font-size:.82rem;font-weight:700;color:var(--ut-danger-ink)}.eng-calc__error-text{margin:0;font-size:.78rem;line-height:1.45;color:var(--ut-danger-ink)}.eng-calc__error-dismiss{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin:-.1rem;border:0;border-radius:var(--radius-md, .5rem);background:transparent;color:var(--ut-danger-ink);cursor:pointer}.eng-calc__error-dismiss:hover{background:#dc26261f}@keyframes eng-calc-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.eng-calc__error{animation:none}}.eng-calc__aside{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, .75rem);padding:var(--space-3, .75rem);background:var(--color-bg-elevated, #fff);box-shadow:var(--shadow-sm, 0 1px 3px rgb(0 0 0 / 8%))}@media (min-width: 992px){.eng-calc__aside{position:sticky;top:5.5rem;max-height:calc(100vh - 7rem);display:flex;flex-direction:column}}.eng-calc__aside-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-block-end:.5rem;font-size:.82rem;font-weight:700;color:var(--color-text, #1a1a1a)}.eng-calc__clear-history{border:0;background:transparent;color:var(--color-primary, #2563eb);font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.eng-calc__aside-desc{margin:0 0 .5rem;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.eng-calc__aside-panel{flex:1;min-height:0;display:flex;flex-direction:column}.eng-calc__constants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;overflow:auto;max-height:min(16rem,40vh)}.eng-calc__const{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.35rem .45rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .5rem);background:var(--color-surface-muted, #f3f4f6);text-align:start;cursor:pointer}.eng-calc__const strong{font-size:.78rem;color:var(--color-primary, #2563eb)}.eng-calc__const span{font-size:.65rem;color:var(--color-text-muted, #6b7280);line-height:1.3}.eng-calc__const:hover{border-color:var(--color-primary, #2563eb)}.eng-calc__history{display:flex;flex-direction:column;gap:.35rem;overflow:auto;max-height:min(16rem,40vh);min-height:2.5rem}.eng-calc__history:empty:before{content:"\647\646\648\632  \645\62d\627\633\628\647\200c\627\6cc  \62b\628\62a  \646\634\62f\647  \627\633\62a.";color:var(--color-text-muted, #6b7280);font-size:.78rem}.eng-calc__history-item{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;width:100%;padding:.35rem .5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .5rem);background:var(--color-bg, #fff);cursor:pointer;text-align:end}.eng-calc__history-item:hover{border-color:var(--color-primary, #2563eb);background:rgba(var(--color-primary-rgb),.04)}.eng-calc__history-expr{font-size:.72rem;color:var(--color-text-muted, #6b7280);word-break:break-all}.eng-calc__history-result{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:700;color:var(--color-text, #1a1a1a)}@media (min-width: 992px){.eng-calc{--eng-calc-key-h: 2.15rem}.eng-calc__keypad-tabs{display:none}.eng-calc__board[data-keypad-panel]{display:flex!important}.eng-calc__util{grid-template-columns:repeat(14,minmax(0,1fr))}.eng-calc__core{grid-template-columns:minmax(0,1fr) 3.5rem;max-width:22rem}.eng-calc__fn-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.eng-calc__board--fns{padding-top:.15rem;border-top:1px solid var(--color-border, #e5e7eb)}}@media (max-width: 991.98px){.eng-calc__util{grid-template-columns:repeat(7,minmax(0,1fr))}.eng-calc__fn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 575.98px){.eng-calc{--eng-calc-key-h: 2.6rem}.eng-calc__util{grid-template-columns:repeat(4,minmax(0,1fr))}.eng-calc__core{grid-template-columns:minmax(0,1fr) 3rem}.eng-calc__fn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
