/* ─ 워드프레스 테마 오염 방어: :where() 제로-특이도 리셋 ─ */
#fsCalcApp{position:relative;min-height:100vh;isolation:isolate;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
#fsCalcApp :where(*){box-sizing:border-box;line-height:normal;letter-spacing:normal;}
#fsCalcApp :where(a){color:inherit;text-decoration:none;}
#fsCalcApp :where(img){max-width:none;height:auto;vertical-align:middle;}
#fsCalcApp :where(button,input){font-family:inherit;font-size:inherit;line-height:normal;}
#fsCalcApp :where(ul,ol,li){list-style:none;margin:0;padding:0;}
#fsCalcApp :where(p,h1,h2,h3,h4,figure){margin:0;}


@font-face{
  font-family:'DSEG7';
  src:url('../fonts/DSEG7Classic-Bold.woff2') format('woff2');
  font-display:swap;
}#fsCalcApp *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;}#fsCalcApp{
  --org:#FF6E2E; --org-hi:#ffc08a; --org-dn:#b53f00;
  --chrome:linear-gradient(180deg,#ffffff 0%,#d9dce1 14%,#9da3ac 34%,#f0f2f5 49%,#666c76 55%,#b2b7bf 72%,#f8f9fb 100%);
}#fsCalcApp{min-height:100%;}#fsCalcApp{
  position:relative;
  display:flex;align-items:flex-start;justify-content:center;
  min-height:100dvh;
  padding:max(3vh,18px) 0 max(5vh,28px);
  overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
  font-family:"Pretendard","Helvetica Neue",Arial,sans-serif;
  background:#b9bdc4;
}#fsCalcApp /* ════════════ 유리벽 너머 사무실 풍경 ════════════ */
.office{position:absolute;inset:0;overflow:hidden;background:
  linear-gradient(180deg,#cfd3da 0%,#c2c7cf 38%,#aab0b9 62%,#8e949e 100%);}#fsCalcApp .office .window-glow{position:absolute;left:8%;top:6%;width:34%;height:46%;
  background:radial-gradient(60% 70% at 50% 40%, rgba(255,250,238,.95), rgba(255,244,222,.4) 60%, transparent);
  filter:blur(26px);}#fsCalcApp .office .window-glow.w2{left:58%;width:28%;opacity:.8;}#fsCalcApp .office .strip{position:absolute;height:1.1vh;border-radius:99px;background:#fffdf6;
  filter:blur(7px);opacity:.9;animation:flick 7s infinite;}#fsCalcApp .office .strip.s1{left:6%;top:7%;width:26%;}#fsCalcApp .office .strip.s2{left:40%;top:9%;width:22%;animation-delay:-3s;}#fsCalcApp .office .strip.s3{left:70%;top:7.5%;width:24%;animation-delay:-5s;}
@keyframes flick{0%,93%,100%{opacity:.9}95%{opacity:.78}97%{opacity:.88}}#fsCalcApp .office .desk{position:absolute;bottom:14%;background:#5c626d;filter:blur(15px);border-radius:6px;opacity:.85;}#fsCalcApp .office .desk.d1{left:4%;width:23%;height:13%;}#fsCalcApp .office .desk.d2{left:35%;width:20%;height:11%;bottom:12%;}#fsCalcApp .office .desk.d3{right:5%;width:26%;height:14%;}#fsCalcApp .office .mon{position:absolute;background:#3e4450;filter:blur(11px);border-radius:4px;opacity:.9;}#fsCalcApp .office .mon.m1{left:9%;bottom:26%;width:7%;height:9%;}#fsCalcApp .office .mon.m2{left:42%;bottom:22%;width:6%;height:8%;}#fsCalcApp .office .mon.m3{right:12%;bottom:27%;width:7.5%;height:9.5%;}#fsCalcApp .office .mon::after{content:'';position:absolute;inset:12%;border-radius:3px;
  background:linear-gradient(160deg,#cfe6ff,#9cc2ee);opacity:.85;}#fsCalcApp .office .plant{position:absolute;right:30%;bottom:13%;width:7%;height:22%;filter:blur(13px);
  background:radial-gradient(50% 42% at 50% 28%, #5d7a52, transparent 70%),
             linear-gradient(180deg, transparent 55%, #6b6258 56%);opacity:.8;}#fsCalcApp .person{position:absolute;bottom:9%;width:5.2vh;height:19vh;pointer-events:none;
  will-change:transform;animation:walk linear infinite;}#fsCalcApp .person .fig{width:100%;height:100%;position:relative;animation:bob .62s ease-in-out infinite alternate;
  filter:blur(var(--bl,10px));opacity:var(--op,.75);}#fsCalcApp .person .fig::before{
  content:'';position:absolute;left:50%;top:0;width:46%;aspect-ratio:1;border-radius:50%;
  transform:translateX(-50%);background:var(--cl,#3c424e);}#fsCalcApp .person .fig::after{
  content:'';position:absolute;left:50%;top:38%;width:88%;height:62%;
  transform:translateX(-50%);background:var(--cl,#3c424e);
  border-radius:46% 46% 16% 16% / 34% 34% 8% 8%;}
@keyframes walk{from{transform:translateX(-12vw) scale(var(--sc,1));}to{transform:translateX(112vw) scale(var(--sc,1));}}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(1.1vh)}}#fsCalcApp .person.rev{animation-direction:reverse;}#fsCalcApp /* ════════════ 프로스티드 유리벽 ════════════ */
.glass{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(165deg, rgba(255,255,255,.5) 0%, rgba(244,246,249,.34) 45%, rgba(228,231,236,.42) 100%);
  backdrop-filter:blur(3px) saturate(.92);
  -webkit-backdrop-filter:blur(3px) saturate(.92);}#fsCalcApp .glass-grain{position:absolute;inset:0;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  background-size:180px;}#fsCalcApp .glass-sheen{display:none;}#fsCalcApp .etch{position:absolute;left:50%;top:5.5%;transform:translateX(-50%);pointer-events:none;
  font-size:clamp(10px,1.5vh,16px);font-weight:700;letter-spacing:.6em;
  color:rgba(255,255,255,.66);text-shadow:0 1px 1px rgba(120,128,140,.4);
  white-space:nowrap;text-align:center;}#fsCalcApp .etch small{display:block;text-align:center;font-size:.56em;letter-spacing:.4em;
  color:rgba(255,255,255,.5);margin-top:.6em;font-weight:600;}#fsCalcApp /* ════════════ 스테이지 ════════════ */
.stage{position:relative;z-index:5;
  width:min(92vw,400px);
  display:flex;flex-direction:column;align-items:center;}#fsCalcApp /* ════════════ 계산기 본체 ════════════ */
.calc{
  position:relative;z-index:5;width:100%;
  border-radius:clamp(20px,3.6vh,38px);
  background:linear-gradient(180deg,#f3f4f6 0%,#c8ccd2 30%,#959ba4 52%,#d6d9de 78%,#adb3bb 100%);
  box-shadow:
    0 3px 6px rgba(20,25,35,.3),
    0 22px 44px -10px rgba(20,25,35,.5),
    0 60px 110px -24px rgba(20,25,35,.55),
    inset 0 2.5px 1.5px rgba(255,255,255,.97),
    inset 0 -4px 2px rgba(255,255,255,.45),
    inset 0 12px 22px rgba(255,255,255,.4),
    inset 0 -14px 26px rgba(45,52,64,.42),
    inset 4px 0 12px rgba(255,255,255,.34),
    inset -5px 0 14px rgba(45,52,64,.3);
  display:flex;flex-direction:column;
  padding:4.5% 5.5% 5.5%;
  isolation:isolate;overflow:visible;
}#fsCalcApp .calc::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.55) 0 1px, rgba(0,0,0,.2) 1px 2px, transparent 2px 3px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
  background-size:auto,140px;}#fsCalcApp .calc::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:
    linear-gradient(112deg, transparent 26%, rgba(255,255,255,.55) 36%, rgba(255,255,255,.07) 43%, transparent 48%,
      transparent 66%, rgba(255,255,255,.22) 72%, transparent 78%),
    radial-gradient(140% 50% at 50% -16%, rgba(255,255,255,.45), transparent 55%);}#fsCalcApp .bolt{position:absolute;z-index:3;width:clamp(8px,1.5vh,14px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #fff, #bcc1c8 45%, #6e747e 75%, #4b5059);
  box-shadow:0 1px 1px rgba(255,255,255,.85), inset 0 -1px 2px rgba(0,0,0,.55), inset 0 1px 1px rgba(255,255,255,.6);}#fsCalcApp .bolt::after{content:'';position:absolute;inset:27%;
  background:#3d414a;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);}#fsCalcApp .bolt.b1{left:3%;top:2.4%;}#fsCalcApp .bolt.b2{right:3%;top:2.4%;transform:rotate(40deg);}#fsCalcApp .bolt.b3{left:3%;bottom:2.5%;transform:rotate(15deg);}#fsCalcApp .bolt.b4{right:3%;bottom:2.5%;transform:rotate(68deg);}#fsCalcApp /* 영수증 프린터 슬롯 */
.print-slot{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  width:66%;height:clamp(10px,1.7vh,16px);border-radius:5px;z-index:8;
  background:linear-gradient(180deg,#e7eaef 0%,#aab0b9 18%,#15171c 30%,#0a0b0e 50%,#1d1f25 70%,#9da3ac 88%,#dfe2e7 100%);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.7),inset 0 0 3px rgba(0,0,0,.6);}#fsCalcApp .print-slot::before{content:'';position:absolute;left:5%;right:5%;top:50%;height:2px;
  background:#000;transform:translateY(-50%);border-radius:2px;box-shadow:0 0 3px rgba(0,0,0,.8);}#fsCalcApp /* ════════ 헤더 ════════ */
.head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  margin-bottom:4%;padding:.2% 1% 0;}#fsCalcApp .brandwrap{display:flex;flex-direction:column;line-height:1;gap:3px;margin-left:clamp(15px,2.8vh,24px);}#fsCalcApp .brandwrap img{height:clamp(11px,2vh,16px);width:auto;
  filter:drop-shadow(0 1px 1px rgba(255,255,255,.4));display:block;}#fsCalcApp .brandwrap small{font-size:clamp(5px,.7vh,6.5px);font-weight:700;letter-spacing:.28em;color:#8d93a0;
  text-shadow:0 1px 0 rgba(255,255,255,.7);}#fsCalcApp .head-right{display:flex;align-items:center;gap:clamp(7px,1.3vh,12px);}#fsCalcApp /* 모드 토글 스위치 */
.mode-toggle{position:relative;display:inline-flex;flex-flow:row nowrap;align-items:center;cursor:pointer;
  width:clamp(84px,13vh,100px);height:clamp(20px,3.3vh,26px);border-radius:999px;
  background:linear-gradient(180deg,#2a2f38,#1a1e26);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.6);
  font-family:"Pretendard","Noto Sans KR",sans-serif;user-select:none;}#fsCalcApp .mode-toggle .knob{position:absolute;top:2px;left:2px;height:calc(100% - 4px);width:calc(50% - 2px);
  border-radius:999px;background:linear-gradient(180deg,#ffb877,var(--org) 55%,var(--org-dn));
  box-shadow:0 1px 2px rgba(0,0,0,.5),inset 0 1px 1px rgba(255,255,255,.5);
  transition:left .22s cubic-bezier(.3,.8,.3,1);}#fsCalcApp .mode-toggle.calc .knob{left:calc(50%);}#fsCalcApp .mode-toggle .lbl{flex:0 0 50%;width:50%;max-width:50%;text-align:center;z-index:2;font-size:clamp(9.5px,1.35vh,12px);
  font-weight:800;letter-spacing:0;transition:color .2s;white-space:nowrap;line-height:1;
  padding:0 .15em;}#fsCalcApp .mode-toggle .lbl.l1{color:#fff4ea;}#fsCalcApp .mode-toggle .lbl.l2{color:#7a808b;}#fsCalcApp .mode-toggle.calc .lbl.l1{color:#7a808b;}#fsCalcApp .mode-toggle.calc .lbl.l2{color:#fff4ea;}#fsCalcApp .grill{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(2px,.38vh,4px);}#fsCalcApp .grill i{width:clamp(3px,.5vh,5px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #5c626d, #14161b 72%);
  box-shadow:0 1px 0 rgba(255,255,255,.65);}#fsCalcApp .led{width:clamp(7px,1.1vh,11px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #ffd9b0, var(--org) 48%, #8a3300 88%);
  box-shadow:0 0 clamp(5px,1vh,9px) rgba(255,110,20,.95), inset 0 -1px 2px rgba(90,30,0,.6), 0 1px 0 rgba(255,255,255,.75);
  animation:pulse 2.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}#fsCalcApp /* ════════ 앰버 LCD — 질문/옵션/숫자 통합 ════════ */
.display{position:relative;z-index:2;border-radius:clamp(11px,2vh,20px);
  padding:clamp(4px,.8vh,8px);margin-bottom:4.5%;
  background:var(--chrome);
  box-shadow:0 2px 2px rgba(255,255,255,.7), 0 4px 9px rgba(0,0,0,.32), inset 0 2px 4px rgba(0,0,0,.5);}#fsCalcApp .lcd{position:relative;border-radius:clamp(8px,1.3vh,14px);overflow:hidden;
  height:clamp(168px,30vh,238px);transition:height .25s ease;
  background:
    radial-gradient(135% 115% at 50% -28%, #ffd089 0%, #ffab47 36%, #ff8a1f 72%, #f4720a 100%);
  box-shadow:
    inset 0 5px 12px rgba(110,42,0,.6),
    inset 0 -3px 7px rgba(255,235,200,.5),
    inset 5px 0 10px rgba(110,42,0,.32),
    inset -5px 0 10px rgba(110,42,0,.32);
  color:#3d1500;}#fsCalcApp .calc.calc-flat .lcd{height:clamp(112px,20vh,156px);}#fsCalcApp .lcd .px{position:absolute;inset:0;pointer-events:none;opacity:.3;z-index:1;
  background:
    repeating-linear-gradient(0deg, rgba(96,36,0,.18) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(96,36,0,.12) 0 1px, transparent 1px 3px);}#fsCalcApp .lcd .dome{position:absolute;inset:0;pointer-events:none;z-index:6;
  background:
    radial-gradient(120% 58% at 26% -10%, rgba(255,255,255,.32), transparent 55%);}#fsCalcApp .lcd .reflect{display:none;}
@keyframes drift{from{transform:translateX(-9%)}to{transform:translateX(9%)}}#fsCalcApp /* 퀴즈 뷰 */
.lcd-quiz{position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;
  padding:clamp(9px,1.7vh,15px) clamp(12px,2.2vh,18px) clamp(10px,1.7vh,15px);}#fsCalcApp .lcd-qhead{display:flex;justify-content:space-between;align-items:center;
  font-family:"Courier New",monospace;font-weight:700;font-size:clamp(8px,1.05vh,10.5px);
  letter-spacing:.14em;opacity:.6;margin-bottom:clamp(5px,1vh,9px);flex:none;}#fsCalcApp .lcd-qtext{font-family:"Courier New",monospace;font-weight:700;
  font-size:clamp(10.5px,1.7vh,13px);line-height:1.42;letter-spacing:0;
  white-space:pre-line;flex:none;min-height:1.4em;}#fsCalcApp .lcd-qtext .cursor{display:none;}
@keyframes blinkcur{50%{opacity:0}}#fsCalcApp .lcd-qbottom{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;
  margin-top:clamp(5px,1vh,9px);}#fsCalcApp .lcd-opts{flex:1;min-width:0;display:flex;flex-direction:column;gap:clamp(2px,.45vh,4px);
  overflow:hidden;}#fsCalcApp .lcd-opt{font-family:"Courier New",monospace;font-size:clamp(9px,1.35vh,10px);font-weight:700;
  line-height:1.3;letter-spacing:-.015em;display:flex;align-items:baseline;gap:.4em;min-width:0;
  padding:1px 0;transition:opacity .12s;white-space:nowrap;overflow:hidden;}#fsCalcApp .lcd-opt .tx{min-width:0;overflow:hidden;text-overflow:ellipsis;}#fsCalcApp .lcd-opt .on{flex:none;font-weight:800;}#fsCalcApp .lcd-opt.sel{text-shadow:0 0 7px rgba(180,70,0,.5);}#fsCalcApp .lcd-opt.sel .tx{border-bottom:1.5px solid #3d1500;}#fsCalcApp .lcd-opt.dim{opacity:.34;}#fsCalcApp .lcd-num{flex:none;text-align:right;line-height:.9;position:relative;align-self:flex-end;margin-left:auto;}#fsCalcApp .lcd-num-ghost, #fsCalcApp .lcd-num-cur{font-family:'DSEG7',monospace;letter-spacing:.04em;white-space:nowrap;
  font-size:clamp(34px,6.2vh,56px);}#fsCalcApp .lcd-num-ghost{position:absolute;right:0;bottom:0;color:rgba(96,36,0,.1);}#fsCalcApp .lcd-num-cur{position:relative;color:#3d1500;
  text-shadow:0 0 2px rgba(70,26,0,.5),0 0 9px rgba(180,70,0,.32),1px 2px 1px rgba(255,180,110,.6);}#fsCalcApp /* 계산기 뷰 (일반 모드) */
.lcd-calc{position:absolute;inset:0;z-index:2;display:none;
  flex-direction:column;justify-content:flex-end;align-items:flex-end;
  padding:clamp(10px,1.8vh,16px) clamp(14px,2.4vh,20px);}#fsCalcApp .lcd-calc.show{display:flex;}#fsCalcApp .lcd-calc-expr{font-family:"Courier New",monospace;font-size:clamp(11px,1.5vh,14px);
  font-weight:700;opacity:.5;margin-bottom:clamp(4px,.8vh,8px);min-height:1.2em;
  white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis;text-align:right;width:100%;}#fsCalcApp .lcd-calc-num{position:relative;text-align:right;line-height:.9;width:100%;}#fsCalcApp .lcd-calc-ghost, #fsCalcApp .lcd-calc-cur{font-family:'DSEG7',monospace;letter-spacing:.04em;white-space:nowrap;
  font-size:clamp(40px,7.4vh,66px);}#fsCalcApp .lcd-calc-ghost{position:absolute;right:0;bottom:0;color:rgba(96,36,0,.1);}#fsCalcApp .lcd-calc-cur{position:relative;color:#3d1500;
  text-shadow:0 0 2px rgba(70,26,0,.5),0 0 9px rgba(180,70,0,.32),1px 2px 1px rgba(255,180,110,.6);}#fsCalcApp /* 메시지/로딩 오버레이 */
.lcd-msg{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:clamp(7px,1.3vh,12px);
  padding:0 clamp(16px,3vh,26px);
  /* 기존 숫자 화면과 동일한 앰버 도트매트릭스 — 텍스트만 바뀌는 느낌 */
  background:radial-gradient(135% 115% at 50% -28%, #ffd089 0%, #ffab47 36%, #ff8a1f 72%, #f4720a 100%);
  box-shadow:inset 0 5px 12px rgba(110,42,0,.6),inset 0 -3px 7px rgba(255,235,200,.5),
    inset 5px 0 10px rgba(110,42,0,.32),inset -5px 0 10px rgba(110,42,0,.32);
  font-family:"Courier New",monospace;font-weight:700;color:#3d1500;
  opacity:0;pointer-events:none;transition:opacity .25s;}#fsCalcApp .lcd-msg.show{opacity:1;}#fsCalcApp .lcd-msg::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.3;z-index:0;
  background:
    repeating-linear-gradient(0deg, rgba(96,36,0,.18) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(96,36,0,.12) 0 1px, transparent 1px 3px);}#fsCalcApp .lcd-msg>*{position:relative;z-index:1;}#fsCalcApp /* ── Y2K 로딩/완료 ── */
.y2k{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(9px,1.8vh,15px);width:100%;font-family:"Courier New",monospace;color:#3d1500;}#fsCalcApp .y2k-top{font-weight:800;letter-spacing:.22em;font-size:clamp(10px,1.4vh,13px);white-space:nowrap;}#fsCalcApp .y2k-top .blink{display:inline-block;width:.6em;text-align:left;}#fsCalcApp .y2k-pct{display:flex;align-items:baseline;gap:.12em;line-height:.82;}#fsCalcApp .y2k-pct .n{font-family:'DSEG7',monospace;font-size:clamp(40px,7vh,62px);
  text-shadow:0 0 2px rgba(70,26,0,.5),0 0 10px rgba(180,70,0,.35),1px 2px 1px rgba(255,180,110,.6);}#fsCalcApp .y2k-pct .u{font-family:"Courier New",monospace;font-weight:800;font-size:clamp(15px,2.2vh,22px);}#fsCalcApp .y2k-bar{display:flex;gap:clamp(2px,.5vh,4px);}#fsCalcApp .y2k-bar i{width:clamp(11px,2.1vh,18px);height:clamp(15px,2.8vh,24px);border-radius:2px;
  border:2px solid #3d1500;background:transparent;
  box-shadow:inset 0 0 0 1px rgba(255,225,180,.4);transition:background .1s,box-shadow .1s;}#fsCalcApp .y2k-bar i.on{background:#3d1500;box-shadow:0 0 7px rgba(140,50,0,.6),inset 0 0 0 1px rgba(255,225,180,.3);}#fsCalcApp .y2k-msg{font-weight:700;letter-spacing:.03em;font-size:clamp(14.5px,2.05vh,18px);opacity:.9;
  text-align:center;line-height:1.4;min-height:1.3em;}#fsCalcApp .y2k-done{font-weight:800;letter-spacing:.16em;font-size:clamp(15.5px,2.15vh,19px);}#fsCalcApp .blink{animation:blinkcur .55s step-end infinite;}#fsCalcApp .blink2{animation:blink2 .5s step-end infinite;}
@keyframes blink2{50%{opacity:.22}}#fsCalcApp .lcd-msg .big{font-size:clamp(12px,1.7vh,15px);letter-spacing:.02em;line-height:1.4;}#fsCalcApp .lcd-msg .spin{width:clamp(20px,3.4vh,28px);height:clamp(20px,3.4vh,28px);border-radius:50%;
  border:3px solid rgba(61,21,0,.25);border-top-color:#3d1500;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}#fsCalcApp .lcd-msg .done-ic{width:clamp(28px,4.6vh,38px);height:clamp(28px,4.6vh,38px);border-radius:50%;
  background:#3d1500;display:flex;align-items:center;justify-content:center;animation:pop .35s cubic-bezier(.3,1.4,.5,1);}#fsCalcApp .lcd-msg .done-ic svg{width:58%;height:58%;stroke:#ffd089;}
@keyframes pop{0%{transform:scale(0)}100%{transform:scale(1)}}#fsCalcApp .lcd-msg .bar{width:60%;height:4px;border-radius:99px;background:rgba(61,21,0,.18);overflow:hidden;}#fsCalcApp .lcd-msg .bar i{display:block;height:100%;width:0;border-radius:99px;background:#3d1500;}#fsCalcApp /* 인트로 뷰 (큰 글씨 타이핑) */
.lcd-intro{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;
  justify-content:flex-start;padding:clamp(13px,2.4vh,20px) clamp(14px,2.6vh,22px);overflow:hidden;}#fsCalcApp .lcd-intro.show{display:flex;}#fsCalcApp .lcd-intro .itx{font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;font-weight:800;
  font-size:clamp(12.5px,1.82vh,15.5px);line-height:1.42;letter-spacing:-.015em;white-space:pre-line;
  color:#3d1500;text-shadow:0 1px 0 rgba(255,200,140,.4);}#fsCalcApp .lcd-intro .itx .cursor{display:inline-block;width:.5em;height:1em;background:#3d1500;
  margin-left:2px;vertical-align:-.12em;animation:blinkcur .7s step-end infinite;}#fsCalcApp .lcd-intro .ihint{margin-top:clamp(7px,1.3vh,12px);font-family:"Courier New",monospace;
  font-size:clamp(8.5px,1.1vh,10.5px);font-weight:700;opacity:.55;letter-spacing:.06em;
  display:flex;align-items:center;gap:.5em;animation:hintPulse 1.5s ease-in-out infinite;}
@keyframes hintPulse{0%,100%{opacity:.4}50%{opacity:.75}}#fsCalcApp .lcd-intro .ihint .arr{font-size:1.1em;}#fsCalcApp /* 이름 입력 화면 */
.lcd-name{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;justify-content:center;
  padding:clamp(14px,2.6vh,22px);}#fsCalcApp .lcd-name .nm-label{font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;font-weight:800;
  font-size:clamp(14px,2.1vh,18.5px);letter-spacing:-.015em;color:#3d1500;text-shadow:0 1px 0 rgba(255,200,140,.4);
  margin-bottom:clamp(10px,1.8vh,16px);}#fsCalcApp .lcd-name .nm-input{width:100%;box-sizing:border-box;background:rgba(61,21,0,.06);
  border:none;border-bottom:2px solid rgba(61,21,0,.55);border-radius:6px 6px 0 0;
  font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;color:#3d1500;
  font-size:clamp(15px,2.1vh,18px);padding:clamp(8px,1.4vh,12px) clamp(8px,1.2vh,11px);outline:none;caret-color:#3d1500;}#fsCalcApp .lcd-name .nm-input::placeholder{color:rgba(61,21,0,.34);font-weight:700;}#fsCalcApp .lcd-name .ihint{margin-top:clamp(9px,1.6vh,14px);font-family:"Courier New",monospace;
  font-size:clamp(8.5px,1.1vh,10.5px);font-weight:700;opacity:.55;letter-spacing:.06em;
  display:flex;align-items:center;gap:.5em;animation:hintPulse 1.5s ease-in-out infinite;}#fsCalcApp .lcd-name .ihint .arr{font-size:1.1em;}#fsCalcApp /* ════════ 화면 전체 마법 모션 (절약하기 클릭 시) ════════ */
.magic{position:absolute;inset:0;z-index:90;pointer-events:none;opacity:0;}#fsCalcApp .magic.run{animation:magicSeq 1.5s ease-out forwards;}
@keyframes magicSeq{0%{opacity:0}8%{opacity:1}80%{opacity:1}100%{opacity:0}}#fsCalcApp .magic .flash{position:absolute;inset:0;
  background:radial-gradient(circle at 50% 56%, rgba(255,200,140,.0), rgba(255,150,60,.0));}#fsCalcApp .magic.run .flash{animation:magicFlash 1.5s ease-out forwards;}
@keyframes magicFlash{
  0%{background:radial-gradient(circle at 50% 56%, rgba(255,255,255,0), transparent 0%);}
  12%{background:radial-gradient(circle at 50% 56%, rgba(255,245,230,.95), rgba(255,160,70,.5) 30%, transparent 60%);}
  100%{background:radial-gradient(circle at 50% 56%, rgba(255,200,140,0), transparent 80%);}
}#fsCalcApp .magic .sweep{position:absolute;inset:0;mix-blend-mode:screen;
  background:linear-gradient(115deg, transparent 38%, rgba(255,210,150,.55) 48%, rgba(255,255,255,.7) 50%, rgba(255,210,150,.55) 52%, transparent 62%);
  transform:translateX(-120%);}#fsCalcApp .magic.run .sweep{animation:magicSweep 1.1s cubic-bezier(.4,0,.3,1) .12s forwards;}
@keyframes magicSweep{to{transform:translateX(120%)}}#fsCalcApp .magic .stars{position:absolute;inset:0;}#fsCalcApp .magic .stars i{position:absolute;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle,#fff,#ffd089 40%,transparent 70%);opacity:0;}#fsCalcApp .magic.run .stars i{animation:twinkle 1.2s ease-out forwards;}
@keyframes twinkle{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(.6)}}#fsCalcApp .keys{position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);
  gap:clamp(6px,1.15vh,12px);
  aspect-ratio:1.04/1;
  padding:clamp(7px,1.3vh,13px);
  border-radius:clamp(14px,2.4vh,26px);
  background:linear-gradient(180deg,#363b43,#1e2127 58%,#2c3038);
  box-shadow:inset 0 3px 9px rgba(0,0,0,.85), inset 0 -2px 3px rgba(255,255,255,.13),
    0 1px 0 rgba(255,255,255,.6);}#fsCalcApp .key{position:relative;border:none;outline:none;cursor:pointer;background:none;
  border-radius:999px;
  --hi:#fdfdfe;--bd:#c3c8cf;--dn:#7f858f;--ink:#23262d;
  padding:clamp(2.5px,.42vh,4px);
  background:linear-gradient(180deg,#f4f5f7,#9ca2ab 45%,#585e68 55%,#cdd0d6);
  box-shadow:
    0 1.5px 2px rgba(0,0,0,.5),
    0 4px 7px rgba(0,0,0,.55),
    0 1px 0 rgba(255,255,255,.28),
    inset 0 1px 1px rgba(255,255,255,.92);
  transition:transform .04s, box-shadow .04s, filter .04s;
  touch-action:manipulation;}#fsCalcApp .key .gel{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(100% 130% at 50% 120%, var(--hi), transparent 50%),
    linear-gradient(180deg, var(--hi) 0%, var(--bd) 44%, var(--dn) 100%);
  box-shadow:inset 0 -3px 7px rgba(255,255,255,.4), inset 0 3px 6px rgba(15,20,30,.32);}#fsCalcApp .key .gel::before{content:'';position:absolute;left:9%;right:9%;top:5%;height:42%;border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.05));}#fsCalcApp .key .gel::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), inset 0 -1px 3px rgba(255,255,255,.5);}#fsCalcApp .key span{position:relative;z-index:2;font-size:clamp(14px,2.6vh,26px);font-weight:800;color:var(--ink);
  text-shadow:0 1px 1px rgba(255,255,255,.5);font-style:normal;}#fsCalcApp .key.down{transition:none;transform:translateY(clamp(2px,.4vh,4px)) scale(.985);
  box-shadow:0 1px 1.5px rgba(0,0,0,.55), inset 0 1px 1px rgba(255,255,255,.75);
  filter:brightness(1.1) saturate(1.12);}#fsCalcApp .key.down .gel{box-shadow:inset 0 4px 9px rgba(15,20,30,.48), inset 0 -2px 5px rgba(255,255,255,.28);}#fsCalcApp .key.fn{--hi:#dfe2e7;--bd:#878d97;--dn:#454b55;--ink:#16181d;}#fsCalcApp .key.op{--hi:var(--org-hi);--bd:var(--org);--dn:var(--org-dn);--ink:#fff4ea;}#fsCalcApp .key.op span{text-shadow:0 1px 2px rgba(150,50,0,.65);}#fsCalcApp .key.zero{grid-column:span 2;}#fsCalcApp .key.submit{grid-column:4;grid-row:2 / 6;}#fsCalcApp .key.submit span{font-size:clamp(12px,2vh,19px);letter-spacing:.04em;}#fsCalcApp .key.equals{grid-column:span 1;grid-row:span 2;}#fsCalcApp .key.equals span{font-size:clamp(20px,3.6vh,34px);}#fsCalcApp /* 모드별 키 표시 */
.keys.calc-mode .k-quiz{display:none;}#fsCalcApp .keys:not(.calc-mode) .k-calc{display:none;}#fsCalcApp /* ════════ 푸터 ════════ */
.foot{position:relative;z-index:2;margin-top:4%;display:flex;align-items:center;justify-content:space-between;padding:0 1.5%;}#fsCalcApp .micro{font-size:clamp(6px,.82vh,8.5px);font-weight:700;letter-spacing:.14em;color:#7e848f;white-space:nowrap;
  text-shadow:0 1px 0 rgba(255,255,255,.75);}#fsCalcApp .barcode{display:flex;align-items:stretch;height:clamp(9px,1.4vh,14px);opacity:.75;}#fsCalcApp .barcode i{background:#3b404a;}#fsCalcApp /* 앰비언트 토글 */
.amb{position:absolute;right:2.2vh;bottom:2.2vh;z-index:20;cursor:pointer;border:none;outline:none;
  font-size:clamp(8px,1.1vh,11px);font-weight:800;letter-spacing:.22em;color:#3a3f48;
  padding:.9em 1.6em;border-radius:999px;
  background:linear-gradient(180deg,#fbfcfd,#c8ccd2 45%,#8f959e 55%,#dcdfe3);
  box-shadow:0 3px 8px rgba(0,0,0,.35), inset 0 1px 1px rgba(255,255,255,.95), inset 0 -2px 3px rgba(60,66,76,.3);
  transition:opacity .2s,transform .2s;}#fsCalcApp:has(.calc.quiz-active.num-input) .amb{opacity:0;pointer-events:none;transform:translateY(120%);}#fsCalcApp .amb i{display:inline-block;width:.7em;height:.7em;border-radius:50%;margin-right:.7em;vertical-align:-.02em;
  background:radial-gradient(circle at 35% 30%, #ffd9b0, var(--org) 50%, #8a3300);
  box-shadow:0 0 6px rgba(255,110,20,.9);}#fsCalcApp .amb.muted i{background:radial-gradient(circle at 35% 30%, #cfd3d8, #80868f 55%, #4d525a);box-shadow:none;}#fsCalcApp /* ════════════════════════════════════════════════════════════
   영수증 — 슬롯에서 출력. 절약 후 상단에 멤버십 쿠폰이 추가 출력
════════════════════════════════════════════════════════════ */
.receipt-anchor{position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:86%;z-index:30;pointer-events:none;display:none;flex-direction:column;align-items:center;}#fsCalcApp .receipt-anchor, #fsCalcApp .receipt-stack{--paper:url("../img/receipt-paper.webp");}#fsCalcApp .receipt{position:relative;width:100%;pointer-events:auto;}#fsCalcApp .receipt-paper{position:relative;
  /* 사용자가 생성한 실제 종이 이미지를 영수증 표면으로 사용 */
  background:var(--paper) center / 100% 100% no-repeat;}#fsCalcApp .receipt-tear{display:none;}#fsCalcApp .receipt-tear.top{clip-path:polygon(0.00% 0%,0.86% 77.21%,1.72% 0%,2.59% 74.96%,3.45% 0%,4.31% 81.46%,5.17% 0%,6.03% 73.94%,6.90% 0%,7.76% 79.97%,8.62% 0%,9.48% 77.75%,10.34% 0%,11.21% 73.75%,12.07% 0%,12.93% 79.60%,13.79% 0%,14.66% 73.49%,15.52% 0%,16.38% 78.64%,17.24% 0%,18.10% 73.91%,18.97% 0%,19.83% 74.18%,20.69% 0%,21.55% 78.52%,22.41% 0%,23.28% 83.75%,24.14% 0%,25.00% 74.61%,25.86% 0%,26.72% 75.90%,27.59% 0%,28.45% 81.16%,29.31% 0%,30.17% 85.32%,31.03% 0%,31.90% 80.50%,32.76% 0%,33.62% 78.16%,34.48% 0%,35.34% 85.69%,36.21% 0%,37.07% 73.61%,37.93% 0%,38.79% 84.16%,39.66% 0%,40.52% 76.76%,41.38% 0%,42.24% 74.88%,43.10% 0%,43.97% 74.53%,44.83% 0%,45.69% 77.01%,46.55% 0%,47.41% 83.61%,48.28% 0%,49.14% 75.35%,50.00% 0%,50.86% 80.56%,51.72% 0%,52.59% 81.31%,53.45% 0%,54.31% 77.84%,55.17% 0%,56.03% 80.12%,56.90% 0%,57.76% 73.82%,58.62% 0%,59.48% 73.77%,60.34% 0%,61.21% 75.68%,62.07% 0%,62.93% 81.85%,63.79% 0%,64.66% 78.56%,65.52% 0%,66.38% 77.08%,67.24% 0%,68.10% 80.61%,68.97% 0%,69.83% 78.89%,70.69% 0%,71.55% 76.90%,72.41% 0%,73.28% 83.33%,74.14% 0%,75.00% 82.09%,75.86% 0%,76.72% 76.17%,77.59% 0%,78.45% 80.47%,79.31% 0%,80.17% 79.83%,81.03% 0%,81.90% 84.38%,82.76% 0%,83.62% 82.48%,84.48% 0%,85.34% 76.74%,86.21% 0%,87.07% 85.74%,87.93% 0%,88.79% 74.53%,89.66% 0%,90.52% 78.44%,91.38% 0%,92.24% 82.84%,93.10% 0%,93.97% 74.98%,94.83% 0%,95.69% 79.36%,96.55% 0%,97.41% 73.51%,98.28% 0%,99.14% 81.69%,100.00% 0%,100% 100%,0% 100%);filter:drop-shadow(0 -1px 1px rgba(20,16,10,.16));}#fsCalcApp .receipt-tear.bot{clip-path:polygon(0% 0%,100% 0%,100.00% 100%,99.14% 23.94%,98.28% 100%,97.41% 21.45%,96.55% 100%,95.69% 25.38%,94.83% 100%,93.97% 18.08%,93.10% 100%,92.24% 23.04%,91.38% 100%,90.52% 21.73%,89.66% 100%,88.79% 21.54%,87.93% 100%,87.07% 19.93%,86.21% 100%,85.34% 24.92%,84.48% 100%,83.62% 26.28%,82.76% 100%,81.90% 20.16%,81.03% 100%,80.17% 22.63%,79.31% 100%,78.45% 14.79%,77.59% 100%,76.72% 23.12%,75.86% 100%,75.00% 22.41%,74.14% 100%,73.28% 26.91%,72.41% 100%,71.55% 24.69%,70.69% 100%,69.83% 17.70%,68.97% 100%,68.10% 19.02%,67.24% 100%,66.38% 22.69%,65.52% 100%,64.66% 14.29%,63.79% 100%,62.93% 20.00%,62.07% 100%,61.21% 16.18%,60.34% 100%,59.48% 15.52%,58.62% 100%,57.76% 14.77%,56.90% 100%,56.03% 23.99%,55.17% 100%,54.31% 15.68%,53.45% 100%,52.59% 17.22%,51.72% 100%,50.86% 19.08%,50.00% 100%,49.14% 25.33%,48.28% 100%,47.41% 15.05%,46.55% 100%,45.69% 19.84%,44.83% 100%,43.97% 21.14%,43.10% 100%,42.24% 25.48%,41.38% 100%,40.52% 24.65%,39.66% 100%,38.79% 25.23%,37.93% 100%,37.07% 17.62%,36.21% 100%,35.34% 19.40%,34.48% 100%,33.62% 18.66%,32.76% 100%,31.90% 25.49%,31.03% 100%,30.17% 26.45%,29.31% 100%,28.45% 15.96%,27.59% 100%,26.72% 16.29%,25.86% 100%,25.00% 17.02%,24.14% 100%,23.28% 17.03%,22.41% 100%,21.55% 20.30%,20.69% 100%,19.83% 21.66%,18.97% 100%,18.10% 17.42%,17.24% 100%,16.38% 14.05%,15.52% 100%,14.66% 19.45%,13.79% 100%,12.93% 18.80%,12.07% 100%,11.21% 21.36%,10.34% 100%,9.48% 26.39%,8.62% 100%,7.76% 22.98%,6.90% 100%,6.03% 20.70%,5.17% 100%,4.31% 22.03%,3.45% 100%,2.59% 22.79%,1.72% 100%,0.86% 14.70%,0.00% 100%);filter:drop-shadow(0 2px 1.5px rgba(20,16,10,.30));}#fsCalcApp /* ── 공통 영수증 타이포 ── */
.r-base{font-family:"Courier New","Roboto Mono",monospace;color:#2c2a25;
  font-size:clamp(10.5px,1.42vh,13px);line-height:1.6;letter-spacing:.01em;}#fsCalcApp .r-dash{border:none;border-top:1.4px dashed #b4ae9f;margin:clamp(7px,1.3vh,11px) 0;opacity:.9;}#fsCalcApp /* ════════ 멤버십 쿠폰 (절약 후 상단에서 출력) ════════ */
.coupon-zone{position:relative;z-index:2;max-height:0;overflow:hidden;
  transition:max-height 2.4s cubic-bezier(.18,.7,.24,1);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 0%);
  mask-image:linear-gradient(180deg,#000 0%,transparent 0%);}#fsCalcApp .coupon-zone.show{max-height:720px;}#fsCalcApp .coupon-inner{padding:clamp(15px,2.6vh,24px) clamp(17px,3vh,26px) clamp(10px,1.8vh,16px);
  background:linear-gradient(180deg,rgba(255,250,243,.55) 0%,rgba(255,242,227,.55) 100%);}#fsCalcApp .coupon-badge{display:flex;align-items:center;justify-content:center;gap:.5em;
  font-family:"Courier New",monospace;font-weight:700;font-size:clamp(9px,1.18vh,11px);
  letter-spacing:.16em;color:var(--org-dn);margin-bottom:clamp(8px,1.5vh,13px);}#fsCalcApp .coupon-badge .dot{width:.5em;height:.5em;border-radius:50%;background:var(--org);box-shadow:0 0 7px rgba(255,120,40,.8);}#fsCalcApp .c-name{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;
  font-size:clamp(16px,2.4vh,22px);letter-spacing:-.01em;color:#1f1f1f;line-height:1.2;
  margin-bottom:clamp(4px,.7vh,7px);}#fsCalcApp .c-name .pass{color:var(--org-dn);}#fsCalcApp .c-tagline{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:600;
  font-size:clamp(10.5px,1.4vh,12.5px);color:#5c5c54;margin-bottom:clamp(9px,1.6vh,14px);line-height:1.35;}#fsCalcApp .c-feats{display:flex;flex-direction:column;gap:clamp(4px,.75vh,7px);
  margin-bottom:clamp(10px,1.8vh,15px);font-family:"Pretendard","Noto Sans KR",sans-serif;}#fsCalcApp .c-feat{display:flex;align-items:center;gap:.5em;font-size:clamp(11.5px,1.55vh,13.5px);font-weight:600;color:#2a2a28;}#fsCalcApp .c-feat .chk{flex:none;width:1.05em;height:1.05em;color:var(--org);}#fsCalcApp .c-feat .chk svg{width:100%;height:100%;display:block;}#fsCalcApp .c-price{border-top:1.5px dashed #d9b48a;padding-top:clamp(8px,1.4vh,12px);}#fsCalcApp .c-monthly{display:flex;justify-content:space-between;align-items:baseline;
  font-family:"Courier New",monospace;font-size:clamp(9.5px,1.25vh,11.5px);color:#5c5c54;padding:1px 0;}#fsCalcApp .c-monthly .v{font-variant-numeric:tabular-nums;}#fsCalcApp .c-daily{display:flex;justify-content:space-between;align-items:baseline;margin-top:clamp(4px,.7vh,7px);}#fsCalcApp .c-daily .k{font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;
  font-size:clamp(17px,2.5vh,22px);color:#1f1f1f;letter-spacing:-.01em;}#fsCalcApp .c-daily .v{font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;
  font-size:clamp(26px,4.2vh,38px);color:var(--org-dn);font-variant-numeric:tabular-nums;
  text-shadow:0 0 10px rgba(255,95,0,.28);}#fsCalcApp /* 쿠폰 CTA — 선명한 주황 도장 느낌 버튼 */
.c-cta{display:flex;flex-direction:column;gap:clamp(7px,1.2vh,11px);margin-top:clamp(11px,2vh,17px);}#fsCalcApp .c-btn{width:100%;cursor:pointer;border-radius:10px;
  padding:clamp(12px,2vh,17px) 0;text-align:center;
  font-family:"Courier New",monospace;font-weight:800;font-size:clamp(13px,1.72vh,15.5px);
  letter-spacing:.06em;position:relative;transition:transform .06s,filter .06s;touch-action:manipulation;
  color:#fff;
  /* 잉크 스탬프: 선명한 주황 + 안쪽 테두리 프레임 + 살짝 거친 질감 */
  border:2.5px solid #ffffff;
  outline:2px solid var(--org);outline-offset:-4.5px;
  text-shadow:0 1px 1px rgba(150,40,0,.45);
  box-shadow:0 3px 0 rgba(150,40,0,.5),0 5px 10px rgba(255,80,0,.35),
    inset 0 1px 2px rgba(255,255,255,.4),inset 0 -3px 6px rgba(150,40,0,.3);}#fsCalcApp .c-btn::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.16;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23s)'/%3E%3C/svg%3E");}#fsCalcApp .c-btn:active{transform:translateY(3px);filter:brightness(1.05);
  box-shadow:0 0 0 rgba(150,40,0,.5),0 2px 5px rgba(255,80,0,.3),inset 0 1px 2px rgba(255,255,255,.4),inset 0 -2px 5px rgba(150,40,0,.35);}#fsCalcApp .c-btn.coupon{background:linear-gradient(180deg,#ff7a1f,#FF6E2E 55%,#e85200);}#fsCalcApp .c-btn.spot{background:linear-gradient(180deg,#ff9a4a,#ff7a1f 55%,#f06500);}#fsCalcApp /* 절취선 (쿠폰 ↔ 갓생영수증) */
.perf{position:relative;z-index:2;height:clamp(20px,3.4vh,28px);
  display:flex;align-items:center;justify-content:center;
  background:#f7f7f4;}#fsCalcApp .perf::before{content:'';position:absolute;left:0;right:0;top:50%;
  border-top:2px dashed #b9b6a8;transform:translateY(-50%);}#fsCalcApp .perf .sci{position:relative;z-index:2;background:#f7f7f4;padding:0 8px;
  font-size:clamp(11px,1.5vh,14px);color:#8a8a82;}#fsCalcApp .perf .lbl{position:relative;z-index:2;background:#f7f7f4;padding:0 6px;
  font-family:"Courier New",monospace;font-size:clamp(8px,1.05vh,10px);letter-spacing:.12em;color:#8a8a82;}#fsCalcApp /* ════════ 갓생 비용 영수증 ════════ */
.receipt-content{position:relative;z-index:2;
  padding:clamp(34px,5vh,46px) clamp(17px,3vh,26px) clamp(13px,2.2vh,20px);
  font-family:'Nanum Gothic Coding',"Courier New",monospace;
  background:transparent;
  color:#2c2a25;font-size:clamp(12px,1.6vh,14.5px);line-height:1.6;letter-spacing:.01em;}#fsCalcApp /* 영수증 전체 폰트 통일 (디지털 모노스페이스) — 펜글씨 업셀만 예외 */
#receiptStack .receipt-content, #fsCalcApp #receiptStack .receipt-content *{
  font-family:'Nanum Gothic Coding',"Courier New",monospace !important;}#fsCalcApp #receiptStack .upsell-pen, #fsCalcApp #receiptStack .save-circle .txt{font-family:'Nanum Pen Script','Gamja Flower',cursive !important;}#fsCalcApp .r-back{position:absolute;top:clamp(9px,1.5vh,14px);left:clamp(11px,1.9vh,17px);z-index:6;
  width:clamp(26px,4.2vh,34px);height:clamp(26px,4.2vh,34px);cursor:pointer;
  display:flex;align-items:center;justify-content:center;background:none;border:none;
  opacity:0;transition:opacity .4s .25s,transform .08s;pointer-events:none;}#fsCalcApp .receipt.printed .r-back{opacity:1;pointer-events:auto;}#fsCalcApp .r-back:active{transform:scale(.88);}#fsCalcApp .r-back svg{width:100%;height:100%;}#fsCalcApp .r-save{position:absolute;top:clamp(9px,1.5vh,14px);right:clamp(11px,1.9vh,17px);z-index:6;
  width:clamp(26px,4.2vh,34px);height:clamp(26px,4.2vh,34px);cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:7px;
  background:rgba(31,31,31,.06);border:1.4px solid rgba(31,31,31,.2);
  opacity:0;transition:opacity .4s .25s,transform .08s;pointer-events:none;}#fsCalcApp .receipt.printed .r-save{opacity:1;pointer-events:auto;}#fsCalcApp .r-save:active{transform:scale(.9);}#fsCalcApp .r-save svg{width:54%;height:54%;}#fsCalcApp .r-logo{display:flex;flex-direction:column;align-items:center;gap:5px;margin:clamp(2px,.5vh,5px) 0 clamp(8px,1.5vh,13px);}#fsCalcApp .r-logo img{height:clamp(15px,2.5vh,21px);width:auto;}#fsCalcApp .r-logo .sub{font-size:clamp(8px,1.05vh,10px);letter-spacing:.22em;color:#1f1f1f;}#fsCalcApp /* 하단 로고(살짝 작게) */
.r-logo-bottom{margin:clamp(9px,1.7vh,15px) 0 clamp(2px,.4vh,4px);gap:4px;}#fsCalcApp .r-logo-bottom img{height:clamp(12px,1.95vh,17px);}#fsCalcApp .r-logo-bottom .sub{font-size:clamp(7px,.92vh,9px);letter-spacing:.2em;}#fsCalcApp /* 우상단 저장 버튼 — 절약 타원처럼 검은 원형 테두리 + 저장 기호 */
.r-savebtn{position:absolute;top:clamp(8px,1.3vh,12px);right:clamp(10px,1.7vh,15px);z-index:6;
  width:clamp(28px,4.3vh,35px);height:clamp(28px,4.3vh,35px);cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:rgba(255,255,255,.5);border:2px solid #1c1a16;
  box-shadow:none;transition:transform .08s,background .15s;}#fsCalcApp .r-savebtn:hover{background:rgba(255,255,255,.85);}#fsCalcApp .r-savebtn:active{transform:scale(.9);}#fsCalcApp .r-savebtn svg{width:52%;height:52%;stroke:#1c1a16;}#fsCalcApp .r-meta{display:flex;justify-content:space-between;font-size:clamp(10.5px,1.38vh,12.5px);}#fsCalcApp .r-title{text-align:center;font-size:clamp(12px,1.7vh,15px);font-weight:700;letter-spacing:.12em;margin:clamp(2px,.4vh,4px) 0;}#fsCalcApp .r-title-big{font-size:clamp(15px,2.2vh,19px);letter-spacing:.06em;line-height:1.3;margin:clamp(4px,.9vh,9px) 0 clamp(6px,1.2vh,11px);}#fsCalcApp .r-tagline{text-align:center;font-size:clamp(10px,1.32vh,12px);margin-bottom:clamp(2px,.4vh,4px);}#fsCalcApp .r-items{margin:0;}#fsCalcApp .r-row{display:flex;justify-content:space-between;gap:10px;padding:clamp(4px,.7vh,7px) 0 clamp(2px,.4vh,4px);align-items:baseline;position:relative;}#fsCalcApp .r-row .lbl{flex:1;position:relative;font-weight:700;font-size:clamp(10.5px,1.42vh,13px);white-space:nowrap;}#fsCalcApp .r-row .val{white-space:nowrap;font-variant-numeric:tabular-nums;position:relative;}#fsCalcApp .r-formula{font-size:clamp(10px,1.28vh,11.5px);opacity:.62;line-height:1.35;padding-bottom:clamp(3px,.55vh,6px);letter-spacing:-.02em;}#fsCalcApp /* 레이저 취소선: 그을 때 주황 불꽃 → 검게 탄 자국 */
.laser-line{position:absolute;left:-1%;top:48%;width:0;height:2.5px;border-radius:2px;transform:translateY(-50%);background:#241813;}#fsCalcApp .r-row.struck .laser-line, #fsCalcApp .r-subtotal.struck .laser-line{animation:laserBurn .5s ease-out forwards;}
@keyframes laserBurn{
  0%{width:0;background:#ff8a1f;box-shadow:0 0 8px 2px rgba(255,120,20,1),0 0 16px 4px rgba(255,90,0,.7);}
  55%{background:#ff6a00;box-shadow:0 0 8px 2px rgba(255,120,20,.9),0 0 16px 4px rgba(255,90,0,.6);}
  100%{width:102%;background:#241813;box-shadow:0 0 2px 0 rgba(60,30,10,.4);}}#fsCalcApp .laser-line::after{content:'';position:absolute;right:0;top:50%;width:7px;height:7px;border-radius:50%;
  transform:translate(50%,-50%);opacity:0;background:radial-gradient(circle,#fff 0%,#ffd089 35%,#ff6a00 70%,transparent 100%);}#fsCalcApp .r-row.struck .laser-line::after, #fsCalcApp .r-subtotal.struck .laser-line::after{animation:spark .5s ease-out forwards;}
@keyframes spark{0%{opacity:1}80%{opacity:1}100%{opacity:0}}#fsCalcApp .laser-note{display:block;font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:700;
  font-size:clamp(9.5px,1.25vh,11.5px);color:var(--org-dn);line-height:1.3;margin-top:2px;letter-spacing:-.01em;
  opacity:0;clip-path:inset(0 100% 0 0);text-shadow:0 0 6px rgba(255,95,0,.35);}#fsCalcApp /* 갓생 비용 합계 — 크게 */
.r-subtotal{display:flex;justify-content:space-between;gap:10px;align-items:baseline;position:relative;
  border-top:2px solid #1f1f1f;margin-top:clamp(4px,.7vh,6px);padding-top:clamp(6px,1vh,9px);}#fsCalcApp .r-subtotal .k{font-size:clamp(13px,1.78vh,16px);font-weight:700;letter-spacing:.06em;}#fsCalcApp .r-subtotal .v{font-size:clamp(21px,3.3vh,31px);font-weight:700;font-variant-numeric:tabular-nums;position:relative;}#fsCalcApp /* 최종 라인 (절약 후): 멤버십가(크게 주황) + % 절약(펜) */
.r-final{opacity:0;max-height:0;overflow:hidden;transition:opacity .5s .15s,max-height .65s .15s;}#fsCalcApp .r-final.show{opacity:1;max-height:300px;}#fsCalcApp .r-memfinal{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:clamp(6px,1vh,9px) 0 clamp(2px,.4vh,4px);}#fsCalcApp .r-memfinal .k{font-size:clamp(11px,1.5vh,13px);font-weight:700;color:var(--org-dn);line-height:1.3;flex:1;}#fsCalcApp .r-memfinal .dots{flex:none;color:#cac7b9;letter-spacing:1px;}#fsCalcApp .r-memfinal .v{font-size:clamp(21px,3.3vh,31px);font-weight:700;color:var(--org-dn);
  font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 9px rgba(255,95,0,.3);}#fsCalcApp .r-memfinal .v .mo{font-size:.5em;font-weight:700;margin-right:.2em;}#fsCalcApp .r-pct{text-align:right;font-family:"Nanum Pen Script","Gamja Flower",cursive;
  font-size:clamp(21px,3.2vh,30px);color:#16213a;line-height:1.1;margin-top:clamp(2px,.4vh,5px);
  transform:rotate(-1.5deg);transform-origin:right center;}#fsCalcApp /* ════ 절약 비교 뷰 (파이브스팟을 쓴다면?) ════ */
.mo2{font-size:.62em;font-weight:inherit;margin-right:.16em;opacity:.85;}#fsCalcApp .cmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:clamp(3px,.5vh,6px) 0 0;}#fsCalcApp .cmp-head .lbl{flex:1;font-weight:800;font-size:clamp(11px,1.5vh,13.5px);line-height:1.3;letter-spacing:-.01em;}#fsCalcApp .cmp-head .val{white-space:nowrap;font-weight:800;font-size:clamp(11px,1.5vh,13.5px);font-variant-numeric:tabular-nums;}#fsCalcApp .cmp-headsub{font-size:clamp(9px,1.2vh,11px);opacity:.6;padding-bottom:clamp(5px,.9vh,8px);
  border-bottom:1.4px dashed #b4ae9f;margin-bottom:clamp(2px,.4vh,4px);}#fsCalcApp .cmp-block{padding:clamp(5px,.85vh,8px) 0 clamp(3px,.5vh,5px);}#fsCalcApp .cmp-block .cmp-orig{padding:clamp(3px,.5vh,5px) 0 clamp(1px,.25vh,3px);}#fsCalcApp .cmp-bene{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  font-weight:800;color:var(--org-dn);margin-top:2px;
  opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .45s ease,clip-path .55s ease;}#fsCalcApp .cmp-block.show-bene .cmp-bene{opacity:1;clip-path:inset(0 0 0 0);}#fsCalcApp .cmp-bene .lbl{flex:1;font-size:clamp(10px,1.34vh,12.5px);line-height:1.3;letter-spacing:-.01em;text-shadow:0 0 6px rgba(255,95,0,.22);}#fsCalcApp .cmp-bene .val{white-space:nowrap;font-size:clamp(11px,1.5vh,13px);font-variant-numeric:tabular-nums;}#fsCalcApp .cmp-sub{font-size:clamp(8.5px,1.12vh,10.5px);color:var(--org-dn);margin-top:2px;letter-spacing:-.01em;
  opacity:0;transition:opacity .45s .12s ease;}#fsCalcApp .cmp-block.show-bene .cmp-sub{opacity:.8;}#fsCalcApp /* TOTAL: 기존 갓생비용(취소선) + 파이브스팟 월비용(크게) */
.r-subtotal.cmp-total .k{font-size:clamp(13px,1.78vh,16px);letter-spacing:.08em;}#fsCalcApp .r-subtotal.cmp-total .v{font-size:clamp(15px,2.1vh,20px);font-weight:700;}#fsCalcApp .r-tot2{display:flex;justify-content:flex-end;padding:clamp(2px,.4vh,5px) 0 0;}#fsCalcApp .r-tot2 .v{font-size:clamp(24px,3.6vh,34px);font-weight:800;color:var(--org-dn);
  font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 9px rgba(255,95,0,.3);}#fsCalcApp /* 손글씨 절약 — 크고 자유분방하게 갈겨쓴 느낌 */
.r-save-scrawl{font-family:"Nanum Pen Script","Gamja Flower",cursive;text-align:center;
  color:#16213a;line-height:.95;margin-top:clamp(9px,1.8vh,18px);
  font-size:clamp(36px,6.4vh,56px);transform:rotate(-3.5deg);position:relative;opacity:0;}#fsCalcApp .r-save-scrawl.show{animation:scrawlIn .5s cubic-bezier(.2,1.3,.5,1) forwards;}
@keyframes scrawlIn{0%{opacity:0;transform:rotate(-3.5deg) scale(.55)}60%{opacity:1}100%{opacity:1;transform:rotate(-3.5deg) scale(1)}}#fsCalcApp .r-save-scrawl::after{content:'';position:absolute;left:10%;right:10%;bottom:-3px;height:3.5px;
  background:#16213a;border-radius:3px;transform:rotate(.8deg);clip-path:inset(0 100% 0 0);}#fsCalcApp .r-save-scrawl.show::after{animation:scrawlLine .42s .32s ease-out forwards;}
@keyframes scrawlLine{to{clip-path:inset(0 0 0 0);}}#fsCalcApp /* 카카오/링크복사 — 갓생영수증 하단 동그란 버튼 */
.r-share{display:flex;justify-content:center;gap:clamp(14px,2.4vh,20px);
  margin-top:clamp(12px,2vh,18px);opacity:0;transition:opacity .4s .3s;pointer-events:none;}#fsCalcApp .receipt.printed .r-share{opacity:1;pointer-events:auto;}#fsCalcApp .r-sbtn{width:clamp(42px,7vh,52px);height:clamp(42px,7vh,52px);border-radius:50%;cursor:pointer;border:none;
  display:flex;align-items:center;justify-content:center;position:relative;
  box-shadow:0 3px 8px rgba(0,0,0,.25),inset 0 1px 1px rgba(255,255,255,.5);
  transition:transform .06s,filter .06s;touch-action:manipulation;}#fsCalcApp .r-sbtn:active{transform:scale(.92);filter:brightness(1.05);}#fsCalcApp .r-sbtn.kakao{background:#FEE500;}#fsCalcApp .r-sbtn.kakao svg{width:54%;height:54%;}#fsCalcApp .r-sbtn.copy{background:linear-gradient(180deg,#fafbfc,#d4d8de 50%,#b6bcc4);}#fsCalcApp .r-sbtn.copy svg{width:46%;height:46%;stroke:#3a3f48;}#fsCalcApp .r-sbtn .cap{position:absolute;bottom:-1.35em;left:50%;transform:translateX(-50%);
  font-family:"Pretendard","Noto Sans KR",sans-serif;font-size:clamp(10px,1.32vh,12px);
  font-weight:700;color:#8a8a82;white-space:nowrap;}#fsCalcApp .r-thanks{text-align:center;font-size:clamp(9px,1.18vh,11px);font-weight:700;letter-spacing:.2em;margin-top:clamp(16px,2.6vh,24px);}#fsCalcApp /* ════════════════════════════════════════════════════════════
   영수증 아래 — '파이브스팟을 쓴다면?' 버튼만
════════════════════════════════════════════════════════════ */
.below-receipt{position:relative;z-index:30;width:86%;display:flex;flex-direction:column;align-items:center;
  margin-top:clamp(12px,2.2vh,20px);
  opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .5s .9s,transform .5s .9s;}#fsCalcApp .below-receipt.show{opacity:1;transform:translateY(0);pointer-events:auto;}#fsCalcApp /* 절약 트리거 — 선명한 주황 디지털 홀로그램 둥근 네모 */
.savings-holo{position:relative;cursor:pointer;border:none;background:none;
  padding:clamp(15px,2.5vh,22px) clamp(26px,4.4vh,40px);border-radius:clamp(14px,2.4vh,20px);
  font-family:"Courier New","Roboto Mono",monospace;font-weight:800;
  font-size:clamp(15px,2.1vh,19px);letter-spacing:.02em;color:#fff;
  animation:holoFloat 2.6s ease-in-out infinite;transition:transform .1s;
  text-shadow:0 0 12px rgba(255,150,40,.9),0 1px 2px rgba(150,50,0,.5);}#fsCalcApp .savings-holo::before{content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,140,40,.92), rgba(255,95,0,.82) 55%, rgba(230,82,0,.85));
  border:1.5px solid rgba(255,200,150,.95);
  box-shadow:0 0 0 1px rgba(255,120,40,.5),0 0 30px 4px rgba(255,95,0,.85),
    0 12px 30px -6px rgba(255,95,0,.7),inset 0 1px 2px rgba(255,230,200,.7),inset 0 -8px 22px rgba(200,60,0,.5);
  animation:holoGlow 1.8s ease-in-out infinite;}
@keyframes holoGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(255,120,40,.5),0 0 30px 4px rgba(255,95,0,.8),0 12px 30px -6px rgba(255,95,0,.7),inset 0 1px 2px rgba(255,230,200,.7),inset 0 -8px 22px rgba(200,60,0,.5);}
  50%{box-shadow:0 0 0 1px rgba(255,140,60,.6),0 0 46px 8px rgba(255,110,10,1),0 12px 34px -6px rgba(255,95,0,.85),inset 0 1px 2px rgba(255,240,220,.8),inset 0 -8px 22px rgba(200,60,0,.55);}}#fsCalcApp .savings-holo::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,220,180,.18) 0 1px, transparent 1px 4px);}
@keyframes holoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}#fsCalcApp .savings-holo:active{transform:scale(.95);}#fsCalcApp .savings-holo .cap{position:relative;z-index:2;}#fsCalcApp .savings-holo.gone{animation:holoZap .4s ease-in forwards;pointer-events:none;}
@keyframes holoZap{to{opacity:0;transform:scale(1.3);filter:blur(8px)}}#fsCalcApp .r-toast{position:absolute;left:50%;bottom:8vh;transform:translateX(-50%) translateY(20px);
  z-index:95;background:rgba(20,22,26,.92);color:#fff;font-size:13px;font-weight:600;
  padding:10px 18px;border-radius:999px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;
  font-family:"Pretendard","Noto Sans KR",sans-serif;letter-spacing:.02em;white-space:nowrap;max-width:84vw;text-align:center;}#fsCalcApp .r-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}#fsCalcApp /* ══════════ 결과 단계: 하단 출력기기 + 영수증 스택 ══════════ */
.result-stage{position:absolute;inset:0;z-index:40;display:none;flex-direction:column;}#fsCalcApp .result-stage.show{display:flex;}#fsCalcApp.result-mode .stage{display:none;}#fsCalcApp .receipt-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(14px,3vh,30px) 0 0;scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;}#fsCalcApp .receipt-scroll::-webkit-scrollbar{width:7px;}#fsCalcApp .receipt-scroll::-webkit-scrollbar-thumb{background:rgba(120,120,130,.45);border-radius:4px;}#fsCalcApp .receipt-stack{display:flex;flex-direction:column;align-items:center;width:min(92vw,400px);
  margin-top:auto;padding-bottom:clamp(8px,1.6vh,16px);}#fsCalcApp .paper-wrap{width:86%;overflow:hidden;will-change:height;
  filter:drop-shadow(0 1px 1px rgba(20,16,10,.24)) drop-shadow(0 8px 14px rgba(20,16,10,.20));}#fsCalcApp .paper-wrap+.paper-wrap{margin-top:-3px;}#fsCalcApp /* 하단 출력기기 — 계산기 몸체와 동일 메탈릭 */
.printer{position:relative;z-index:42;width:min(92vw,400px);margin:0 auto;flex:none;
  background:linear-gradient(180deg,#f3f4f6 0%,#c8ccd2 30%,#959ba4 52%,#d6d9de 78%,#adb3bb 100%);
  border-radius:clamp(16px,2.6vh,26px) clamp(16px,2.6vh,26px) clamp(20px,3.6vh,38px) clamp(20px,3.6vh,38px);
  box-shadow:0 3px 6px rgba(20,25,35,.3),0 -12px 30px -8px rgba(20,25,35,.45),
    inset 0 2.5px 1.5px rgba(255,255,255,.97),inset 0 -4px 2px rgba(255,255,255,.45),
    inset 0 12px 22px rgba(255,255,255,.4),inset 0 -14px 26px rgba(45,52,64,.42),
    inset 4px 0 12px rgba(255,255,255,.34),inset -5px 0 14px rgba(45,52,64,.3);
  padding:clamp(15px,2.6vh,23px) 5.5% clamp(15px,2.6vh,23px);}#fsCalcApp .printer::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.4;mix-blend-mode:overlay;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 1px,rgba(0,0,0,.2) 1px 2px,transparent 2px 3px);}#fsCalcApp .printer-slot{position:absolute;left:50%;top:0;transform:translate(-50%,-55%);
  width:72%;height:clamp(10px,1.7vh,16px);border-radius:5px;z-index:3;
  background:linear-gradient(180deg,#e7eaef 0%,#aab0b9 18%,#15171c 30%,#0a0b0e 50%,#1d1f25 70%,#9da3ac 88%,#dfe2e7 100%);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.7),inset 0 0 3px rgba(0,0,0,.6);}#fsCalcApp .printer-slot::before{content:'';position:absolute;left:5%;right:5%;top:50%;height:2px;background:#000;transform:translateY(-50%);border-radius:2px;}#fsCalcApp .printer-brand{position:relative;z-index:2;text-align:center;font-size:clamp(7px,.95vh,9.5px);font-weight:800;
  letter-spacing:.22em;color:#6b7280;text-shadow:0 1px 0 rgba(255,255,255,.8);margin-bottom:clamp(9px,1.6vh,14px);}#fsCalcApp .printer-keys{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.5vh,14px);}#fsCalcApp .share-key{aspect-ratio:auto;padding:clamp(2.5px,.42vh,4px);}#fsCalcApp .share-key .gel{padding:clamp(10px,1.9vh,16px) 0;}#fsCalcApp .share-key span{font-size:clamp(11px,1.65vh,14.5px);letter-spacing:.02em;}#fsCalcApp .share-key.kakao{--hi:#e9ecf1;--bd:#aeb4be;--dn:#6c727c;--ink:#23262d;}#fsCalcApp .share-key.copy{--hi:#e9ecf1;--bd:#aeb4be;--dn:#6c727c;--ink:#23262d;}#fsCalcApp /* 절약 트리거 — 계산기 버튼과 동일한 디자인, 컬러만 주황 */
.trigger-key{aspect-ratio:auto;width:100%;padding:clamp(2.5px,.42vh,4px);}#fsCalcApp .trigger-key .gel{padding:clamp(11px,2vh,17px) 0;}#fsCalcApp .trigger-key span{font-size:clamp(16.5px,2.45vh,21px);letter-spacing:.01em;}#fsCalcApp .trigger-key .tk-2{display:inline-block;line-height:1.16;text-align:center;}#fsCalcApp .trigger-key .tk-sub{display:block;font-size:.74em;font-weight:800;opacity:.96;margin-top:1px;}#fsCalcApp .trigger-key{animation:triggerPulse 1.45s ease-in-out infinite;will-change:transform,box-shadow;}
@keyframes triggerPulse{
  0%,100%{box-shadow:0 0 9px 1px rgba(255,95,0,.40),0 5px 16px rgba(255,95,0,.28);transform:scale(1);}
  50%{box-shadow:0 0 26px 8px rgba(255,95,0,.70),0 9px 24px rgba(255,95,0,.48);transform:scale(1.025);}
}#fsCalcApp .savings-trigger{position:relative;z-index:43;margin:0 auto;max-height:0;overflow:hidden;
  display:flex;justify-content:center;opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .45s,transform .45s,max-height .5s,margin .5s;}#fsCalcApp .savings-trigger.show{opacity:1;transform:translateY(0);pointer-events:auto;overflow:visible;
  max-height:170px;margin:clamp(8px,1.6vh,16px) auto clamp(10px,2vh,18px);padding:clamp(6px,1.1vh,11px) clamp(4px,.8vh,8px);}#fsCalcApp /* ══ 비교 영수증 v2 (혜택 먼저 굵게, 원가 아래·가격만 취소선) ══ */
.cmp2-head{padding:clamp(2px,.4vh,5px) 0 clamp(5px,.9vh,8px);border-bottom:1.4px dashed #b4ae9f;margin-bottom:clamp(4px,.8vh,7px);}#fsCalcApp .cmp2-head .sub1{font-weight:800;font-size:clamp(11.5px,1.55vh,14px);line-height:1.3;}#fsCalcApp .cmp2-head .row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:2px;}#fsCalcApp .cmp2-head .row .nm{font-weight:800;font-size:clamp(12.5px,1.7vh,15px);}#fsCalcApp .cmp2-head .row .pr{font-weight:800;font-size:clamp(12.5px,1.7vh,15px);font-variant-numeric:tabular-nums;white-space:nowrap;}#fsCalcApp .cmp2-head .pass{font-size:clamp(12px,1.65vh,14.5px);font-weight:700;color:#1c1a16;margin-top:2px;}#fsCalcApp .cmp2-block{padding:clamp(5px,.9vh,9px) 0 clamp(3px,.5vh,5px);}#fsCalcApp .cmp2-bene{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:800;color:#1c1a16;
  opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .4s,clip-path .5s;}#fsCalcApp .cmp2-block.on .cmp2-bene{opacity:1;clip-path:inset(0 0 0 0);}#fsCalcApp .cmp2-bene .lbl{flex:1;font-size:clamp(12px,1.6vh,14px);line-height:1.3;}#fsCalcApp .cmp2-bene .val{white-space:nowrap;font-size:clamp(12.5px,1.68vh,14.5px);font-variant-numeric:tabular-nums;}#fsCalcApp .cmp2-orig{display:flex;justify-content:space-between;align-items:baseline;gap:10px;color:#1c1a16;font-weight:400;margin-top:1px;
  opacity:0;transition:opacity .4s .1s;}#fsCalcApp .cmp2-block.on .cmp2-orig{opacity:.95;}#fsCalcApp .cmp2-orig .lbl{flex:1;font-size:clamp(10px,1.34vh,12px);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}#fsCalcApp .cmp2-orig .val{white-space:nowrap;font-size:clamp(10px,1.34vh,12px);font-variant-numeric:tabular-nums;
  text-decoration:line-through;text-decoration-thickness:1.5px;}#fsCalcApp .cmp2-orig-sub{font-size:clamp(8.5px,1.12vh,10px);color:#46443e;margin-top:1px;opacity:0;transition:opacity .4s .16s;}#fsCalcApp .cmp2-block.on .cmp2-orig-sub{opacity:.8;}#fsCalcApp .cmp2-total{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
  border-top:2px solid #1f1f1f;margin-top:clamp(5px,.9vh,8px);padding-top:clamp(6px,1vh,9px);}#fsCalcApp .cmp2-total .k{font-size:clamp(13px,1.78vh,16px);font-weight:800;letter-spacing:.06em;}#fsCalcApp .cmp2-total .vals{text-align:right;}#fsCalcApp .cmp2-total .v-old{font-size:clamp(15px,2.2vh,20px);text-decoration:line-through;text-decoration-thickness:1.5px;
  font-variant-numeric:tabular-nums;color:#46443e;white-space:nowrap;}#fsCalcApp .cmp2-total .v-new{font-size:clamp(15px,2.2vh,20px);font-weight:800;font-variant-numeric:tabular-nums;display:block;margin-top:2px;color:#1c1a16;white-space:nowrap;}#fsCalcApp .cmp2-total .v-daily{font-size:clamp(20px,3.1vh,29px);font-weight:800;font-variant-numeric:tabular-nums;display:block;margin-top:clamp(2px,.5vh,5px);color:#FF6E2E;white-space:nowrap;letter-spacing:-.01em;}#fsCalcApp /* 절약 — 첫 이미지처럼: 출력 텍스트 + 손그린 타원 */
.save-circle{position:relative;display:flex;justify-content:center;align-items:center;
  margin:clamp(10px,2vh,18px) auto clamp(4px,.9vh,9px);width:90%;min-height:clamp(30px,5vh,46px);
  opacity:0;transition:opacity .4s;}#fsCalcApp .save-circle.on{opacity:1;}#fsCalcApp .save-circle .txt{position:relative;z-index:2;font-weight:400;
  font-size:clamp(22px,3.3vh,30px);letter-spacing:.01em;color:#1c1a16;white-space:nowrap;line-height:1.1;}#fsCalcApp .save-circle svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;}#fsCalcApp .save-circle svg ellipse{fill:none;stroke:#1c1a16;stroke-width:2.3;stroke-linecap:round;
  stroke-dasharray:100;stroke-dashoffset:100;transform-origin:center;transform:rotate(0deg);}#fsCalcApp .save-circle.on svg ellipse{animation:ovalDraw 1.05s ease-out .15s forwards;}
@keyframes ovalDraw{to{stroke-dashoffset:0;}}#fsCalcApp /* 멤버십 소개 (영수증2 하단) */
.mem-intro{margin-top:clamp(15px,2.7vh,24px);opacity:0;transition:opacity .5s;}#fsCalcApp .mem-intro.on{opacity:1;}#fsCalcApp .mem-intro .mi-head{text-align:center;font-weight:800;font-size:clamp(15px,2.05vh,18px);letter-spacing:-.01em;color:#1c1a16;margin-bottom:clamp(9px,1.6vh,14px);}#fsCalcApp .mem-intro .mi-b{font-weight:500;text-align:center;font-size:clamp(11.5px,1.55vh,13.5px);line-height:1.42;color:#2c2a25;}#fsCalcApp .mem-intro .mi-t{text-align:center;font-size:clamp(10px,1.35vh,12px);line-height:1.5;color:#2c2a25;margin-top:3px;}#fsCalcApp .mem-intro .mi-hi{text-align:center;font-weight:800;font-size:clamp(11px,1.5vh,13px);color:#1c1a16;margin-top:clamp(7px,1.2vh,11px);}#fsCalcApp .mem-intro .mi-sub{text-align:center;font-weight:500;font-size:clamp(13.5px,1.9vh,16px);line-height:1.3;color:#2c2a25;margin-top:clamp(6px,1.2vh,11px);}#fsCalcApp .mem-intro .mi-big{text-align:center;font-weight:800;font-size:clamp(13.5px,1.9vh,16px);line-height:1.3;color:#1c1a16;margin-top:clamp(2px,.5vh,5px);}#fsCalcApp .mem-intro .mi-by{text-align:center;font-weight:500;font-size:clamp(9px,1.2vh,11px);letter-spacing:.08em;color:#46443e;margin-top:clamp(2px,.5vh,5px);margin-bottom:clamp(7px,1.3vh,12px);}#fsCalcApp /* 펜글씨 업셀 문구 (절약 타원 아래) */
.upsell-pen{text-align:center;font-size:clamp(17px,2.55vh,24px);color:#FF6E2E;line-height:1.28;
  margin:clamp(6px,1.2vh,11px) auto clamp(3px,.6vh,6px);transform:rotate(-1.2deg);opacity:0;transition:opacity .4s;}#fsCalcApp .save-circle.on ~ .upsell-pen, #fsCalcApp .upsell-pen.on{opacity:1;}#fsCalcApp /* 멤버십명 주황 */
.cmp2-head .row .nm{color:#FF6E2E;}#fsCalcApp .r-dash.mi-divider{border-top:1.4px dashed #b4ae9f;opacity:.9;margin:clamp(10px,1.8vh,16px) 0;}#fsCalcApp .mem-dg{display:flex;flex-direction:column;gap:clamp(10px,1.9vh,18px);margin-top:clamp(14px,2.4vh,22px);align-items:center;}#fsCalcApp /* 첫 캡쳐처럼: 손그린 타원 테두리 + 텍스트 버튼 */
.dg-oval{position:relative;display:flex;justify-content:center;align-items:center;cursor:pointer;
  background:none;border:none;outline:none;width:92%;min-height:clamp(46px,7.4vh,64px);padding:0;transition:transform .06s;}#fsCalcApp .dg-oval:active{transform:scale(.97);}#fsCalcApp .dg-oval .dg-tx{position:relative;z-index:2;font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;
  font-size:clamp(12.5px,1.7vh,15px);letter-spacing:-.01em;}#fsCalcApp .dg-oval svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;}#fsCalcApp .dg-oval svg ellipse{fill:none;stroke-width:2.3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform-origin:center;}#fsCalcApp .mem-intro.on .dg-oval svg ellipse{animation:ovalDraw 1.05s ease-out .5s forwards;}#fsCalcApp .dg-org .dg-tx{color:#FF6E2E;}#fsCalcApp .dg-org svg ellipse{stroke:#FF6E2E;}#fsCalcApp .dg-blk .dg-tx{color:#1c1a16;}#fsCalcApp .dg-blk svg ellipse{stroke:#1c1a16;}#fsCalcApp .mem-thanks{text-align:center;font-size:clamp(8.5px,1.15vh,10.5px);letter-spacing:.18em;color:#7a766c;margin-top:clamp(10px,1.8vh,16px);}#fsCalcApp /* ════════════════════════════ PATCH (요청사항 반영) ════════════════════════════ */
/* #10 마곡나루 라운지 배경 — 딤드+블러, 사람 모션(.person)은 그대로 유지 */
.office-bg{position:absolute;inset:0;z-index:0;
  background:url("../img/office-bg.jpg") center 36% / cover no-repeat;
  filter:blur(0.3px) brightness(.97) saturate(1.02);transform:scale(1.04);}#fsCalcApp .office-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(60,64,74,.12) 0%,rgba(46,50,60,.22) 100%);}#fsCalcApp .office .window-glow, #fsCalcApp .office .strip, #fsCalcApp .office .desk, #fsCalcApp .office .mon, #fsCalcApp .office .plant{opacity:.14;}#fsCalcApp .person{z-index:1;}#fsCalcApp /* #4 인트로/이름/안내 폰트 — 아주 잘 보이게 */
.lcd-intro .itx{font-size:clamp(13.5px,2.05vh,17.5px)!important;line-height:1.52!important;font-weight:800!important;}#fsCalcApp .lcd-intro .ihint, #fsCalcApp .lcd-name .ihint{font-size:clamp(10px,1.4vh,12.5px)!important;font-weight:800!important;opacity:.8!important;}#fsCalcApp .lcd-name .nm-label{font-size:clamp(14px,2.1vh,18px)!important;line-height:1.42!important;}#fsCalcApp .lcd-name .nm-input{font-size:clamp(14.5px,2.1vh,18px)!important;}#fsCalcApp /* #3 이름 입력 안내 — 잘 보이게 박스 처리 */
.lcd-name .nm-hint{background:rgba(61,21,0,.12);border-radius:7px;
  padding:clamp(6px,1vh,9px) clamp(8px,1.3vh,11px);margin-top:clamp(10px,1.8vh,15px);opacity:.92!important;}#fsCalcApp /* #2 인트로 끝 → '확인' 버튼 크게 빛남 / 퀴즈 키 글로우 */
@keyframes confirmGlow{
  0%,100%{box-shadow:0 1.5px 2px rgba(0,0,0,.5),0 4px 7px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.92);}
  50%{box-shadow:0 0 20px 6px rgba(255,150,40,.95),0 0 36px 12px rgba(255,110,20,.55),0 4px 7px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.92);}}#fsCalcApp .key.glow{animation:confirmGlow 1s ease-in-out infinite;transform:scale(1.05);z-index:4;}
@keyframes numGlow{
  0%,100%{box-shadow:0 1.5px 2px rgba(0,0,0,.5),0 4px 7px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.92);filter:brightness(1);}
  50%{box-shadow:0 0 14px 4px rgba(255,180,90,.85),0 4px 7px rgba(0,0,0,.55),inset 0 1px 1px rgba(255,255,255,.92);filter:brightness(1.12);}}#fsCalcApp .qk-num.glow{animation:numGlow 1.15s ease-in-out infinite;}#fsCalcApp .qk-submit.glow{animation:confirmGlow 1s ease-in-out infinite;transform:scale(1.015);z-index:4;}#fsCalcApp /* ───── #11 퀴즈 전용 키패드 (갓생 모드 한정) ───── */
/* 질문 들어가면 화면 크게 + 번호판 작게 */
.calc.quiz-active .lcd{height:clamp(216px,40vh,310px)!important;}#fsCalcApp .calc.quiz-active .keys{display:none!important;}#fsCalcApp .qkeys{display:none;}#fsCalcApp .calc.quiz-active .qkeys{display:flex;}#fsCalcApp .qkeys{position:relative;z-index:2;flex-direction:column;gap:clamp(8px,1.5vh,13px);
  padding:clamp(10px,1.8vh,15px);border-radius:clamp(14px,2.4vh,26px);
  background:linear-gradient(180deg,#363b43,#1e2127 58%,#2c3038);
  box-shadow:inset 0 3px 9px rgba(0,0,0,.85),inset 0 -2px 3px rgba(255,255,255,.13),0 1px 0 rgba(255,255,255,.6);}#fsCalcApp .qk-guide{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;
  font-size:clamp(11px,1.55vh,13.5px);letter-spacing:-.01em;color:#dde0e6;
  background:rgba(0,0,0,.28);border-radius:8px;padding:clamp(5px,.95vh,8px);}#fsCalcApp .qk-nums{display:grid;gap:clamp(7px,1.3vh,11px);}#fsCalcApp .qk-num{padding:clamp(2.5px,.42vh,4px);}#fsCalcApp .qk-num .gel{padding:clamp(10px,1.9vh,17px) 0;}#fsCalcApp .qk-num span{font-size:clamp(19px,3.3vh,29px);}#fsCalcApp .qk-submit{width:100%;padding:clamp(2.5px,.42vh,4px);}#fsCalcApp .qk-submit .gel{padding:clamp(11px,2vh,17px) 0;}#fsCalcApp .qk-submit span{font-size:clamp(15px,2.25vh,20px)!important;letter-spacing:.05em;}#fsCalcApp /* #12 화면 반사광 제거(퀴즈) + #6/#7 Q뱃지·진행도 잘 보이게 */
.calc.quiz-active .lcd .dome, #fsCalcApp .calc.quiz-active .lcd .reflect{display:none!important;}#fsCalcApp .calc.quiz-active .lcd-qhead{font-size:clamp(10.5px,1.45vh,13px)!important;opacity:1!important;letter-spacing:.06em;margin-bottom:clamp(7px,1.3vh,11px)!important;}#fsCalcApp .calc.quiz-active .lcd-qhead #qBadge{font-weight:800;color:#fff4ea;background:#b53f00;
  padding:3px 11px;border-radius:7px;font-size:clamp(12.5px,1.75vh,15px);letter-spacing:.04em;
  box-shadow:0 1px 2px rgba(120,40,0,.5);}#fsCalcApp /* #4 질문·선택지 가독성 크게 보강 */
.calc.quiz-active .lcd-qtext{font-size:clamp(14px,2.15vh,17.5px)!important;line-height:1.5!important;
  font-family:"Pretendard","Noto Sans KR",sans-serif!important;font-weight:800!important;min-height:2.6em;}#fsCalcApp .calc.quiz-active .lcd-opts{gap:clamp(6px,1.1vh,10px)!important;overflow:visible!important;}#fsCalcApp .calc.quiz-active .lcd-opt{font-family:"Pretendard","Noto Sans KR",sans-serif!important;
  font-size:clamp(12.5px,1.9vh,15.5px)!important;font-weight:700!important;line-height:1.32!important;
  white-space:normal!important;overflow:visible!important;padding:2px 0!important;align-items:flex-start!important;}#fsCalcApp .calc.quiz-active .lcd-opt .tx{overflow:visible!important;white-space:normal!important;text-overflow:clip!important;}#fsCalcApp .calc.quiz-active .lcd-opt .on{display:inline-flex;align-items:center;justify-content:center;
  width:1.55em;height:1.55em;border-radius:50%;border:2px solid #3d1500;font-size:.82em;flex:none;margin-top:.05em;}#fsCalcApp /* #14 객관식: 숫자 readout 제거 → 선택지 강조(굵게) / 정수 입력 시에만 숫자 노출 */
.calc.quiz-active .lcd-num{display:none!important;}#fsCalcApp .calc.quiz-active.num-input .lcd-num{display:block!important;}#fsCalcApp .calc.quiz-active.num-input .lcd-qbottom{align-items:center;}#fsCalcApp .calc.quiz-active .lcd-opt.sel .tx{border-bottom:none!important;font-weight:900!important;}#fsCalcApp .calc.quiz-active .lcd-opt.sel .on{background:#3d1500;color:#ffd089;}#fsCalcApp .calc.quiz-active .lcd-opt.sel{text-shadow:none!important;}#fsCalcApp .calc.quiz-active .lcd-opt.dim{opacity:.42!important;}#fsCalcApp /* #15 영수증 제목 '월 N만원' 주황 + 밑줄 */
.r-need{color:#FF6E2E;font-weight:800;
  border-bottom:2.5px solid #FF6E2E;padding-bottom:2px;}#fsCalcApp /* #16 절감 영수증 TOTAL 순차 연출 */
.cmp2-total .v-old{text-decoration:none;transition:color .2s;}#fsCalcApp .cmp2-total.struck .v-old{text-decoration:line-through;text-decoration-thickness:2px;color:#8a857a;}#fsCalcApp .cmp2-total .v-new, #fsCalcApp .cmp2-total .v-daily{opacity:0;max-height:0;overflow:hidden;
  transition:opacity .45s ease,max-height .45s ease,margin .45s ease;margin-top:0!important;}#fsCalcApp .cmp2-total.s-new .v-new{opacity:1;max-height:54px;margin-top:3px!important;}#fsCalcApp .cmp2-total.s-daily .v-daily{opacity:1;max-height:54px;margin-top:clamp(2px,.5vh,5px)!important;}#fsCalcApp /* #17 CTA — 진짜 버튼처럼(하단 공유 버튼과 통일감) */
.mem-dg{gap:clamp(9px,1.6vh,14px)!important;}#fsCalcApp .dg-oval{width:100%!important;min-height:0!important;border-radius:12px!important;
  padding:clamp(13px,2.15vh,17px) 0!important;justify-content:center;
  box-shadow:0 3px 0 rgba(20,16,10,.18),0 4px 10px rgba(20,16,10,.2);
  transition:transform .06s,filter .06s;}#fsCalcApp .dg-oval svg{display:none!important;}#fsCalcApp .dg-oval .dg-tx{font-family:"Pretendard","Noto Sans KR",sans-serif!important;font-weight:800!important;
  font-size:clamp(13.5px,1.85vh,16px)!important;}#fsCalcApp .dg-org{background:#FF6E2E!important;}#fsCalcApp .dg-org .dg-tx{color:#fff!important;text-shadow:0 1px 2px rgba(150,40,0,.5);}#fsCalcApp .dg-blk{background:#ffffff!important;border:1.5px solid #c3c8cf!important;}#fsCalcApp .dg-blk .dg-tx{color:#1c1a16!important;}#fsCalcApp .dg-oval:active{transform:translateY(2px);filter:brightness(1.05);}#fsCalcApp /* #18 카톡공유/링크복사 — 작게 */
.printer-keys{gap:clamp(7px,1.2vh,11px)!important;padding:0 6%;}#fsCalcApp .share-key .gel{padding:clamp(7px,1.3vh,11px) 0!important;}#fsCalcApp .share-key span{font-size:clamp(12px,1.7vh,15px)!important;}#fsCalcApp /* #19 다시하기 — 공유 버튼과 같은 버튼 디자인(전체폭) */
.reset-key{width:88%;margin:clamp(8px,1.5vh,13px) auto 0;padding:clamp(2.5px,.42vh,4px);
  --hi:#e9ecf1;--bd:#aeb4be;--dn:#6c727c;--ink:#23262d;}#fsCalcApp .reset-key .gel{padding:clamp(7px,1.3vh,11px) 0;}#fsCalcApp .reset-key span{font-size:clamp(10.5px,1.45vh,13px);letter-spacing:.02em;}#fsCalcApp /* ════════ PATCH v2 (추가 요청) ════════ */
/* #2재요청: 월 N원 절약! 오른쪽 정렬 */
.save-circle{justify-content:flex-end!important;width:100%!important;padding-right:2px;}#fsCalcApp .save-circle .txt{text-align:right;}#fsCalcApp /* #6: 갓생 키패드 — 번호판 표준 정렬(상단 AC ⌫ % ÷) */
/* (deco 키 %,÷ 는 퀴즈에서 무동작 — 미니 계산기 외형용) */

/* 하단 출력기 버튼 3행(트리거/공유/다시하기) 좌우 폭·정렬 통일 */
.savings-trigger.show{padding-left:0!important;padding-right:0!important;}#fsCalcApp .printer-keys{padding:0!important;}#fsCalcApp .reset-key{width:100%!important;margin-left:0!important;margin-right:0!important;}#fsCalcApp /* #4: CTA 버튼 — 계산기 키 젤 질감과 동일하게 */
.dg-oval{width:100%!important;min-height:0!important;border-radius:999px!important;
  padding:clamp(14px,2.3vh,18px) 0!important;justify-content:center;overflow:hidden;
  border:none!important;
  box-shadow:0 1.5px 2px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.45),
    0 1px 0 rgba(255,255,255,.28),inset 0 -3px 7px rgba(255,255,255,.34),
    inset 0 3px 6px rgba(15,20,30,.30)!important;
  transition:transform .05s,filter .05s,box-shadow .05s;}#fsCalcApp .dg-oval svg{display:none!important;}#fsCalcApp .dg-oval::before{content:'';position:absolute;left:10%;right:10%;top:9%;height:40%;
  border-radius:999px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.04));}#fsCalcApp .dg-oval .dg-tx{position:relative;z-index:2;
  font-family:"Pretendard","Noto Sans KR",sans-serif!important;font-weight:800!important;
  font-size:clamp(13.5px,1.85vh,16px)!important;letter-spacing:-.01em;}#fsCalcApp .dg-org{background:
    radial-gradient(110% 130% at 50% 118%, var(--org-hi), transparent 52%),
    linear-gradient(180deg, var(--org-hi) 0%, var(--org) 46%, var(--org-dn) 100%)!important;}#fsCalcApp .dg-org .dg-tx{color:#fff4ea!important;text-shadow:0 1px 2px rgba(150,50,0,.6)!important;}#fsCalcApp .dg-blk{background:
    radial-gradient(110% 130% at 50% 118%, #fdfdfe, transparent 52%),
    linear-gradient(180deg, #fdfdfe 0%, #c3c8cf 45%, #8a909a 100%)!important;}#fsCalcApp .dg-blk .dg-tx{color:#23262d!important;text-shadow:0 1px 1px rgba(255,255,255,.55)!important;}#fsCalcApp .dg-oval:active{transform:translateY(2px) scale(.99);filter:brightness(1.08);
  box-shadow:0 1px 1.5px rgba(0,0,0,.5),inset 0 4px 9px rgba(15,20,30,.42),
    inset 0 -2px 5px rgba(255,255,255,.25)!important;}
/* ════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════════ */


/* ─ 컨테이너 하드닝: 테마의 전역 box-sizing/line-height 상속 차단 ─
   (#fsCalcApp 본체는 자손 리셋(:where/*)이 못 잡으므로 직접 지정) */
#fsCalcApp{box-sizing:border-box;line-height:normal;}

/* ─ v3 영수증: 페르소나 리빌 · USP 플레이스홀더 ─ */
#fsCalcApp .r-persona{text-align:center;padding:6px 0 4px;}
#fsCalcApp .r-persona .rp-code{font-family:'DSEG7',monospace;font-size:15px;letter-spacing:.15em;color:#FF6E2E;opacity:.85;}
#fsCalcApp .r-persona .rp-name{font-size:22px;font-weight:800;margin-top:3px;color:#1a1a1a;}
#fsCalcApp .r-persona .rp-catch{font-size:14px;color:#555;margin-top:4px;}
#fsCalcApp .r-persona .rp-explain{font-size:12.5px;line-height:1.55;color:#333;margin-top:8px;text-align:left;padding:0 4px;}


/* ─ v3 영수증: 지점 갤러리 + USP 그리드 ─ */
#fsCalcApp .r-spot{margin:10px 4px 4px;}
#fsCalcApp .r-spot-title{text-align:center;font-size:14px;font-weight:800;color:#1a1a1a;margin-bottom:8px;letter-spacing:.02em;}
#fsCalcApp .r-spot-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;}
#fsCalcApp .r-spot-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:5px;display:block;}
#fsCalcApp .r-usp{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:2px;}

#fsCalcApp .r-usp .ut{font-size:11.5px;font-weight:800;color:#1a1a1a;line-height:1.2;}
#fsCalcApp .r-usp .ud{font-size:10px;color:#555;line-height:1.35;margin-top:1px;}

/* ═══════════ v3.1 (260812) — 엑셀 마스터 반영 추가 스타일 ═══════════ */
/* 오프닝 */
#fsCalcApp .r-opening{font-family:'Nanum Pen Script',cursive;font-size:21px;color:#FF6E2E;text-align:center;margin:2px 0 10px;line-height:1.25;}
/* 강점/어려움/성공조건 */
#fsCalcApp .rp-traits{margin:10px 0 4px;border-top:1px dashed rgba(0,0,0,.28);padding-top:9px;}
#fsCalcApp .tr-row{display:flex;gap:8px;align-items:baseline;margin:5px 0;}
#fsCalcApp .tr-k{flex:0 0 auto;font-size:10.5px;font-weight:800;color:#FF6E2E;background:rgba(255,110,46,.12);border:1px solid rgba(255,110,46,.35);border-radius:3px;padding:1px 5px;white-space:nowrap;}
#fsCalcApp .tr-v{font-size:12px;color:#1c1a16;line-height:1.4;}
/* 레이더 */
#fsCalcApp .rd-wrap{display:flex;justify-content:center;margin:8px 0 4px;}
#fsCalcApp .rd-svg{width:276px;max-width:98%;height:auto;}
#fsCalcApp .rd-grid{fill:none;stroke:rgba(0,0,0,.22);stroke-width:1;stroke-dasharray:3 2;}
#fsCalcApp .rd-ax{stroke:rgba(0,0,0,.15);stroke-width:1;}
#fsCalcApp .rd-val{fill:rgba(255,110,46,.28);stroke:#e05a12;stroke-width:1.6;stroke-linejoin:round;}
#fsCalcApp .rd-lb-k{font-family:"Pretendard","Noto Sans KR",sans-serif;font-size:10.5px;font-weight:700;fill:#5c584f;}
#fsCalcApp .rd-lb-v{font-family:'Nanum Gothic Coding',monospace;font-size:14px;font-weight:800;fill:#e05a12;}
/* 티어 히어로 */
#fsCalcApp .tier-hero{margin:10px 0 6px;text-align:center;}
#fsCalcApp .hero-save,#fsCalcApp .hero-daily{display:flex;align-items:baseline;justify-content:center;gap:6px;}
#fsCalcApp .hs-k,#fsCalcApp .hd-k{font-size:12px;font-weight:800;color:#4c4c4c;}
#fsCalcApp .hs-v,#fsCalcApp .hd-v{font-family:'Nanum Gothic Coding',monospace;font-weight:800;color:#e05a12;}
#fsCalcApp .tier-s .hs-v{font-size:30px;letter-spacing:-1px;}
#fsCalcApp .tier-s .hero-sub .hd-v{font-size:15px;color:#333;}
#fsCalcApp .tier-s .hero-sub{margin-top:2px;}
#fsCalcApp .tier-a .hero-pair{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
#fsCalcApp .tier-a .hs-v,#fsCalcApp .tier-a .hd-v{font-size:20px;}
#fsCalcApp .tier-b .hd-v{font-size:30px;letter-spacing:-1px;}
#fsCalcApp .hero-copy{font-family:'Nanum Pen Script',cursive;font-size:19px;color:#8a4a1f;margin-top:1px;}
/* 대안 내역 */
#fsCalcApp .alt-detail{margin:8px 0;border:1px dashed rgba(0,0,0,.3);border-radius:5px;padding:7px 9px;background:rgba(255,255,255,.35);}
#fsCalcApp .alt-detail summary{cursor:pointer;font-size:11.5px;font-weight:800;color:#555;list-style:none;}
#fsCalcApp .alt-detail summary::before{content:'▸ ';color:#e05a12;}
#fsCalcApp .alt-detail[open] summary::before{content:'▾ ';}
#fsCalcApp .alt-detail summary::-webkit-details-marker{display:none;}
#fsCalcApp .alt-row{display:flex;justify-content:space-between;font-size:11.5px;color:#3d3d3d;margin:3px 0;}
#fsCalcApp .alt-row.alt-sum{border-top:1px dashed rgba(0,0,0,.28);padding-top:4px;font-weight:800;color:#232323;}
/* B티어 절감액 일반 행 */
#fsCalcApp .save-row{display:flex;justify-content:space-between;align-items:baseline;margin:6px 2px 2px;font-size:12.5px;color:#232323;}
#fsCalcApp .save-row .k{font-weight:800;}
#fsCalcApp .save-row .v{font-family:'Nanum Gothic Coding',monospace;font-weight:800;color:#e05a12;}
/* 견적 코멘트 · 각주 */
#fsCalcApp .r-comment{font-family:'Nanum Pen Script',cursive;font-size:19px;color:#555;text-align:center;margin:9px 0 3px;line-height:1.3;}
#fsCalcApp .r-footnote{font-size:9px;color:#7a7a7a;line-height:1.45;margin:8px 0 2px;}
/* 체험 오퍼 카드 */
#fsCalcApp .trial-card{border:1.6px solid rgba(224,90,18,.55);border-radius:8px;padding:12px 11px 13px;margin:4px 0 14px;background:rgba(255,110,46,.06);text-align:center;}
#fsCalcApp .tc-badge{display:inline-block;font-size:10px;font-weight:800;color:#fff;background:#e05a12;border-radius:3px;padding:2px 7px;letter-spacing:.5px;margin-bottom:7px;}
#fsCalcApp .tc-copy{font-size:12.5px;font-weight:800;color:#232323;line-height:1.45;margin-bottom:7px;}
#fsCalcApp .tc-price{display:flex;justify-content:center;gap:8px;align-items:baseline;margin-bottom:9px;}
#fsCalcApp .tp-name{font-size:11.5px;color:#555;font-weight:700;}
#fsCalcApp .tp-val{font-family:'Nanum Gothic Coding',monospace;font-size:16px;font-weight:800;color:#e05a12;}
#fsCalcApp .dg-micro{font-size:10.5px;color:#8a4a1f;font-weight:700;margin:-4px 0 6px;}
#fsCalcApp a.dg-oval{display:block;text-decoration:none;}

/* ═══════════ v3.2 (260812-2) — 대시보드 기준 개편 + 타이포/줄바꿈 정비 ═══════════ */
/* 한국어 줄바꿈: 단어 단위 유지, 넘칠 때만 분리 (전 OS 공통) */
#fsCalcApp{word-break:keep-all;overflow-wrap:break-word;}
#fsCalcApp .lcd-opt{white-space:normal;overflow:visible;align-items:flex-start;}
#fsCalcApp .lcd-opt .tx{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.26;}
#fsCalcApp .r-row .lbl{white-space:normal;line-height:1.3;}
#fsCalcApp .rp-catch,#fsCalcApp .rp-explain,#fsCalcApp .tr-v{word-break:keep-all;}

/* ── 닉네임 입력: 미니멀 ── */
#fsCalcApp .lcd-name{align-items:center;text-align:center;}
#fsCalcApp .lcd-name .nm-label{font-weight:700!important;letter-spacing:-.012em;opacity:.92;}
#fsCalcApp .lcd-name .nm-input{background:transparent;border:none;border-radius:0;
  border-bottom:2px solid rgba(61,21,0,.42);text-align:center;max-width:82%;font-weight:800;
  padding:clamp(6px,1vh,9px) 4px;transition:border-color .2s;}
#fsCalcApp .lcd-name .nm-input:focus{border-bottom-color:#3d1500;}
#fsCalcApp .lcd-name .nm-hint{background:none;border-radius:0;padding:0;animation:none;
  justify-content:center;opacity:.5!important;font-weight:700!important;}
#fsCalcApp .lcd-name .nm-hint .arr{display:none;}

/* ── 견적서 (첫 번째 종이) ── */
#fsCalcApp .est-head{text-align:center;margin:clamp(2px,.4vh,4px) 0 clamp(6px,1vh,9px);}
#fsCalcApp .est-title{font-family:"Pretendard","Noto Sans KR",sans-serif;font-size:clamp(21px,3vh,27px);
  font-weight:800;letter-spacing:.34em;text-indent:.34em;color:#1c1a16;}
#fsCalcApp .est-sub{font-size:clamp(8.5px,1.1vh,10px);letter-spacing:.42em;text-indent:.42em;color:#8a8a82;font-weight:700;margin-top:2px;}
#fsCalcApp .est-meta{display:flex;justify-content:space-between;gap:8px;font-size:clamp(10px,1.32vh,12px);
  color:#46443e;border-top:1.6px solid #1c1a16;border-bottom:1px solid rgba(28,26,22,.3);
  padding:clamp(5px,.85vh,8px) 2px;margin-bottom:clamp(8px,1.4vh,12px);}
#fsCalcApp .est-meta b{font-weight:800;color:#1c1a16;margin-right:.45em;}
#fsCalcApp .est-name{text-align:center;font-weight:800;font-size:clamp(13.5px,1.9vh,16.5px);
  letter-spacing:-.01em;margin:clamp(4px,.7vh,7px) 0 clamp(8px,1.3vh,12px);}
#fsCalcApp .est-table{border-top:1.6px solid #1c1a16;}
#fsCalcApp .est-cols{display:flex;justify-content:space-between;font-size:clamp(9.5px,1.22vh,11px);
  font-weight:800;color:#8a8a82;letter-spacing:.08em;padding:clamp(4px,.65vh,6px) 2px;
  border-bottom:1px solid rgba(28,26,22,.3);}
#fsCalcApp .est-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding:clamp(7px,1.1vh,10px) 2px;border-bottom:1px dashed rgba(28,26,22,.24);}
#fsCalcApp .est-row .lbl{flex:1;font-size:clamp(11px,1.5vh,13.5px);font-weight:700;line-height:1.35;}
#fsCalcApp .est-row .val{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(11.5px,1.56vh,14px);font-weight:700;}
#fsCalcApp .est-row.est-total{border-bottom:none;border-top:1.6px solid #1c1a16;margin-top:-1px;
  padding-top:clamp(9px,1.4vh,13px);}
#fsCalcApp .est-row.est-total .lbl{font-weight:800;font-size:clamp(12px,1.62vh,14.5px);}
#fsCalcApp .est-row.est-total .val{font-weight:800;font-size:clamp(15px,2.15vh,19px);color:#1c1a16;}

/* ── 파이브스팟 제안 섹션: 가운데 정렬 · 하루 가격 최우선 ── */
#fsCalcApp .pv-sec{text-align:center;margin:clamp(4px,.7vh,7px) 0;}
#fsCalcApp .pv-title{font-weight:800;font-size:clamp(15px,2.2vh,19px);letter-spacing:.05em;line-height:1.32;margin-bottom:clamp(8px,1.3vh,12px);}
#fsCalcApp .pv-hero{display:flex;align-items:baseline;justify-content:center;gap:.3em;}
#fsCalcApp .pv-hero .ph-k{font-size:clamp(13px,1.85vh,16px);font-weight:800;color:#46443e;}
#fsCalcApp .pv-hero .ph-v{font-family:'Nanum Gothic Coding',monospace;font-size:clamp(31px,4.6vh,42px);
  font-weight:800;color:#FF6E2E;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums;}
#fsCalcApp .pv-caption{font-family:'Nanum Pen Script',cursive;font-size:clamp(17px,2.4vh,21px);color:#8a4a1f;margin-top:2px;}
#fsCalcApp .pv-pass{font-size:clamp(11px,1.5vh,13px);font-weight:700;color:#46443e;margin-top:clamp(4px,.7vh,7px);}
#fsCalcApp .pv-line{border:none;border-top:1.4px dashed #b4ae9f;margin:clamp(8px,1.3vh,12px) 0 clamp(4px,.7vh,7px);}
#fsCalcApp .pv-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2em .55em;
  padding:clamp(4px,.7vh,7px) 0;opacity:0;transition:opacity .45s ease;}
#fsCalcApp .pv-row.on{opacity:1;}
#fsCalcApp .pv-row .lbl{font-size:clamp(11.5px,1.56vh,13.5px);font-weight:700;line-height:1.35;}
#fsCalcApp .pv-row .val{font-size:clamp(11.5px,1.56vh,13.5px);font-weight:800;color:#FF6E2E;font-variant-numeric:tabular-nums;white-space:nowrap;}
#fsCalcApp .pv-row.pv-monthly{margin-top:clamp(3px,.5vh,5px);}
#fsCalcApp .pv-row.pv-monthly .lbl,#fsCalcApp .pv-row.pv-monthly .val{font-size:clamp(12.5px,1.72vh,15px);color:#1c1a16;font-weight:800;}
#fsCalcApp .pv-row.pv-save .lbl{font-size:clamp(12.5px,1.72vh,15px);font-weight:800;}
#fsCalcApp .pv-row.pv-save .val{font-size:clamp(16px,2.3vh,20px);font-weight:800;}
/* ── 하단 소개 타이틀 재배치 ── */
#fsCalcApp .mem-intro .mi-big{margin-bottom:2px;}
#fsCalcApp .mem-intro .mi-sub{margin-bottom:clamp(8px,1.3vh,12px);}
#fsCalcApp .mem-intro .r-spot{margin-top:clamp(6px,1vh,9px);}

/* ═══════════ v3.3 (260813) — 진행바 · 견적서 정리 · 카드/캐러셀/USP · 타이포 ═══════════ */
/* 퀴즈 진행바 */
#fsCalcApp .q-progress{height:5px;border-radius:3px;background:rgba(61,21,0,.16);margin:clamp(4px,.7vh,7px) 0 clamp(6px,1vh,9px);overflow:hidden;flex:none;}
#fsCalcApp .q-progress i{display:block;height:100%;width:4%;border-radius:3px;background:#3d1500;transition:width .35s ease;}

/* 견적서 괄호 서브 */
#fsCalcApp .est-row .sub,#fsCalcApp .pv-row .sub{font-size:.8em;color:#9a978e;font-weight:600;letter-spacing:-.01em;}

/* 제안 섹션 v2: 카드형 리스트 (좌라벨 · 점선 · 우값) */
#fsCalcApp .pv-card{margin:clamp(9px,1.5vh,14px) 0 0;border:1px solid rgba(28,26,22,.16);border-radius:10px;
  background:rgba(255,255,255,.45);padding:clamp(4px,.7vh,7px) clamp(10px,1.7vh,14px);text-align:left;}
#fsCalcApp .pv-card .pv-row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:.5em;
  padding:clamp(7px,1.15vh,10px) 0;opacity:0;transition:opacity .4s ease;
  font-family:"Pretendard","Noto Sans KR",sans-serif;border-bottom:1px dashed rgba(28,26,22,.14);}
#fsCalcApp .pv-card .pv-row:last-child{border-bottom:none;}
#fsCalcApp .pv-card .pv-row .lbl{flex:0 1 auto;font-size:clamp(11.5px,1.56vh,13.5px);font-weight:600;color:#2c2a25;line-height:1.35;text-align:left;}
#fsCalcApp .pv-card .pv-row .dots{flex:1 1 8px;min-width:8px;border-bottom:1.6px dotted rgba(28,26,22,.28);transform:translateY(-3px);}
#fsCalcApp .pv-card .pv-row .val{flex:0 0 auto;font-size:clamp(11.5px,1.56vh,13.5px);font-weight:800;color:#FF6E2E;font-variant-numeric:tabular-nums;white-space:nowrap;}
#fsCalcApp .pv-card .pv-monthly{border-top:1.5px solid rgba(28,26,22,.4);margin-top:2px;}
#fsCalcApp .pv-card .pv-monthly .lbl{font-weight:800;color:#1c1a16;font-size:clamp(12px,1.64vh,14.5px);}
#fsCalcApp .pv-card .pv-monthly .val{color:#1c1a16;font-size:clamp(12.5px,1.72vh,15px);}
#fsCalcApp .pv-card .pv-save{background:rgba(255,110,46,.09);margin:0 calc(-1 * clamp(10px,1.7vh,14px));
  padding-left:clamp(10px,1.7vh,14px);padding-right:clamp(10px,1.7vh,14px);border-radius:0 0 9px 9px;}
#fsCalcApp .pv-card .pv-save .lbl{font-weight:800;color:#1c1a16;font-size:clamp(12px,1.64vh,14.5px);}
#fsCalcApp .pv-card .pv-save .val{font-size:clamp(15px,2.1vh,18px);}
#fsCalcApp .pv-hero{margin-top:clamp(2px,.4vh,4px);}
#fsCalcApp .pv-caption{margin-top:0;}
#fsCalcApp .rd-wrap{margin:6px 0 2px;}

/* 지점 이미지 캐러셀 — 한 장 중심 + 양옆 살짝 */
#fsCalcApp .r-carousel{margin:clamp(4px,.7vh,7px) calc(-1 * clamp(10px,2vh,16px)) 0;}
#fsCalcApp .rc-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 13% clamp(4px,.7vh,7px);-webkit-overflow-scrolling:touch;scrollbar-width:none;}
#fsCalcApp .rc-track::-webkit-scrollbar{display:none;}
#fsCalcApp .rc-slide{flex:0 0 100%;scroll-snap-align:center;}
#fsCalcApp .rc-slide img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:9px;}

/* USP — 아이콘 카드 4×2 */
#fsCalcApp .r-usp{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:clamp(8px,1.3vh,12px);}
#fsCalcApp .usp-i{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;
  background:rgba(255,255,255,.5);border:1px solid rgba(28,26,22,.13);border-radius:9px;
  padding:clamp(7px,1.1vh,10px) 3px clamp(6px,1vh,9px);text-align:center;}
#fsCalcApp .usp-i svg{width:clamp(19px,2.8vh,24px);height:clamp(19px,2.8vh,24px);flex:none;}
#fsCalcApp .usp-i .ut{font-family:"Pretendard","Noto Sans KR",sans-serif;font-size:clamp(8.8px,1.18vh,10.5px);
  font-weight:700;color:#2c2a25;line-height:1.2;letter-spacing:-.02em;border:none;}
#fsCalcApp .usp-i .ud{display:none;}
/* 하단 섹션 빠른 등장 */
#fsCalcApp .mem-intro{transition:opacity .45s ease;}
#fsCalcApp .pv-card .pv-row.on{opacity:1;}

#fsCalcApp .pv-card .pv-monthly .sub{display:block;font-size:.72em;margin-top:1px;}
#fsCalcApp .est-row.est-total .lbl{font-size:clamp(11.5px,1.55vh,13.5px);}
#fsCalcApp .est-row.est-total .val{font-size:clamp(14px,2vh,17px);}
/* 견적서 표·제안 카드 마감 타이포 (Pretendard로 폭 정돈 → 한 줄 수납) */
#fsCalcApp .est-table,#fsCalcApp .est-meta{font-family:"Pretendard","Noto Sans KR",sans-serif;}
#fsCalcApp .est-row .val{font-family:"Pretendard","Noto Sans KR",sans-serif;}
#fsCalcApp .pv-card .pv-save .lbl{font-size:clamp(11.5px,1.58vh,14px);}
#fsCalcApp .pv-card .pv-save .val{font-size:clamp(14px,2vh,17px);}
/* 전역 mono 강제 규칙(!important) 예외 — 표/카드/USP는 Pretendard, 오프닝·캡션은 펜글씨 */
#fsCalcApp #receiptStack .est-meta, #fsCalcApp #receiptStack .est-meta *,
#fsCalcApp #receiptStack .est-cols, #fsCalcApp #receiptStack .est-cols *,
#fsCalcApp #receiptStack .est-row, #fsCalcApp #receiptStack .est-row *,
#fsCalcApp #receiptStack .pv-card .pv-row, #fsCalcApp #receiptStack .pv-card .pv-row *,
#fsCalcApp #receiptStack .usp-i .ut{font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif !important;}
#fsCalcApp #receiptStack .r-opening, #fsCalcApp #receiptStack .pv-caption{font-family:'Nanum Pen Script','Gamja Flower',cursive !important;}

/* ═══════════ v3.4 (260813-2) — 제안 박스 신규 레이아웃 · 캐러셀 dots · 마감 ═══════════ */
/* 박스 상단 타이틀/센터 패스명/서브노트/구분선 */
#fsCalcApp .pv-card .pv-ct{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  font-weight:800;font-size:clamp(13px,1.8vh,15.5px);color:#111;letter-spacing:-.01em;
  padding:clamp(7px,1.15vh,10px) 0 clamp(3px,.5vh,5px);opacity:0;transition:opacity .4s ease;}
#fsCalcApp .pv-card .pv-ct.on{opacity:1;}
#fsCalcApp .pv-card .pv-passcenter{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  font-weight:800;font-size:clamp(12.5px,1.7vh,14.5px);color:#111;padding-bottom:clamp(5px,.85vh,8px);
  border-bottom:1px dashed rgba(28,26,22,.14);opacity:0;transition:opacity .4s ease;}
#fsCalcApp .pv-card .pv-passcenter.on{opacity:1;}
#fsCalcApp .pv-card .pv-pass-row{border-bottom:none;padding-bottom:2px;}
#fsCalcApp .pv-card .pv-pass-row .lbl{font-weight:800;color:#111;font-size:clamp(12.5px,1.7vh,14.5px);}
#fsCalcApp .pv-card .pv-pass-row .val{color:#111;font-size:clamp(12.5px,1.72vh,15px);}
#fsCalcApp .pv-card .pv-subnote{font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  text-align:right;font-size:clamp(8.8px,1.15vh,10px);color:#9a978e;font-weight:600;
  padding:0 0 clamp(5px,.85vh,8px);border-bottom:1px dashed rgba(28,26,22,.14);
  opacity:0;transition:opacity .4s ease;}
#fsCalcApp .pv-card .pv-subnote.on{opacity:1;}
#fsCalcApp .pv-card .pv-sep{border-top:1.5px solid rgba(28,26,22,.42);margin-top:2px;opacity:0;transition:opacity .4s ease;}
#fsCalcApp .pv-card .pv-sep.on{opacity:1;}
#fsCalcApp .pv-card .pv-hero-row{border-bottom:none;padding-bottom:2px;align-items:center;}
#fsCalcApp .pv-card .pv-hero-row .lbl{font-weight:800;color:#111;font-size:clamp(12px,1.66vh,14.5px);}
#fsCalcApp .pv-card .pv-hero-row .val{font-size:clamp(16.5px,2.4vh,21px);font-weight:800;color:#FF6E2E;letter-spacing:-.02em;}
#fsCalcApp .pv-card .pv-save{border-radius:9px;margin-top:clamp(3px,.5vh,5px);}
/* 박스 밖 캡션: 펜글씨 → Pretendard 펀치라인 */
#fsCalcApp #receiptStack .pv-caption{font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  font-weight:800;font-size:clamp(13px,1.85vh,16px);color:#e05a12;letter-spacing:-.01em;
  margin-top:clamp(7px,1.2vh,11px);}
/* 점선 리더 굵기 통일 */
#fsCalcApp .pv-card .pv-row .dots{border-bottom-width:1.4px;}
/* 캐러셀 dots + 드래그 커서 */
#fsCalcApp .rc-track{cursor:grab;user-select:none;}
#fsCalcApp .rc-track.grabbing{cursor:grabbing;}
#fsCalcApp .rc-track img{-webkit-user-drag:none;user-select:none;pointer-events:none;}
#fsCalcApp .rc-dots{display:flex;justify-content:center;gap:6px;margin-top:clamp(6px,1vh,9px);}
#fsCalcApp .rc-dots i{width:6px;height:6px;border-radius:50%;background:rgba(28,26,22,.22);cursor:pointer;transition:all .25s;}
#fsCalcApp .rc-dots i.on{width:16px;border-radius:3px;background:#FF6E2E;}
/* 체험 카드 헤드라인 */
#fsCalcApp #receiptStack .tc-head{font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  font-weight:800;font-size:clamp(14px,1.95vh,17px);color:#111;letter-spacing:-.01em;line-height:1.35;}
#fsCalcApp .trial-card{border:none;background:none;padding:clamp(4px,.7vh,7px) 0 0;}
#fsCalcApp .dg-micro{color:#e05a12;font-family:"Pretendard","Noto Sans KR",sans-serif !important;font-weight:800;font-size:clamp(10.5px,1.42vh,12.5px);}
/* v3.5 — 지점명 오버레이 · 더보기 카드 · 1개월 패스행 마감선 */
#fsCalcApp .pv-card .pv-pass-row.pv-bb{border-bottom:1px dashed rgba(28,26,22,.14);padding-bottom:clamp(7px,1.15vh,10px);}
#fsCalcApp .rc-slide{position:relative;}
#fsCalcApp .rc-imgslide::after{content:'';position:absolute;left:0;right:0;bottom:0;height:38%;
  background:linear-gradient(transparent,rgba(0,0,0,.42));border-radius:0 0 9px 9px;pointer-events:none;}
#fsCalcApp .rc-name{position:absolute;right:9px;bottom:7px;z-index:2;color:#fff;
  font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:700;font-size:clamp(9.5px,1.28vh,11px);
  letter-spacing:-.01em;text-shadow:0 1px 4px rgba(0,0,0,.5);pointer-events:none;}
#fsCalcApp .rc-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  width:100%;aspect-ratio:3/2;border:1.6px solid rgba(255,110,46,.6);border-radius:9px;
  background:rgba(255,110,46,.07);cursor:pointer;text-decoration:none;}
#fsCalcApp .rc-more .rm-arr{width:32px;height:32px;border-radius:50%;background:#FF6E2E;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;}
#fsCalcApp .rc-more .rm-tx{font-family:"Pretendard","Noto Sans KR",sans-serif !important;font-weight:800;
  font-size:clamp(12px,1.66vh,14px);color:#1c1a16;text-align:center;line-height:1.3;}

/* ═══════════ v3.6 (260813-3) — PNG 저장 전용: 캐러셀 → 콤팩트 그리드 ═══════════ */
#fsCalcApp .rc-grid-export{display:none;grid-template-columns:repeat(6,1fr);gap:6px;margin:clamp(4px,.7vh,7px) 0 0;}
#fsCalcApp .rc-grid-export .rge-i{grid-column:span 2;aspect-ratio:1/1;border-radius:7px;background-size:cover;background-position:center;background-repeat:no-repeat;}
#fsCalcApp .rc-grid-export .rge-i:nth-child(4),#fsCalcApp .rc-grid-export .rge-i:nth-child(5){grid-column:span 3;aspect-ratio:3/2;}

/* v3.7 — 헤드라인 줄바꿈 밸런스 · 진행 마일스톤 */
#fsCalcApp .r-opening,#fsCalcApp .rp-catch,#fsCalcApp .pv-title,#fsCalcApp .pv-caption,
#fsCalcApp .tc-head,#fsCalcApp .mi-big,#fsCalcApp .mi-sub,#fsCalcApp .est-name,
#fsCalcApp .rp-name,#fsCalcApp .r-title{text-wrap:balance;}
#fsCalcApp .rp-explain,#fsCalcApp .tr-v{text-wrap:pretty;}
#fsCalcApp .ms-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vh,13px);text-align:center;}
#fsCalcApp .ms-big{font-family:"Pretendard","Noto Sans KR",sans-serif;font-weight:800;color:#3d1500;
  font-size:clamp(19px,2.9vh,25px);letter-spacing:-.015em;}
#fsCalcApp .ms-hint{font-family:"Courier New",monospace;font-weight:800;font-size:clamp(10px,1.4vh,12.5px);
  color:#3d1500;opacity:.55;animation:hintPulse 1.5s ease-in-out infinite;}

/* v3.8 — 견적서 유형 라인 · 계산하기 CTA 후광 */
#fsCalcApp .est-type{text-align:center;font-family:"Pretendard","Noto Sans KR",sans-serif;
  font-weight:800;font-size:clamp(15px,2.15vh,18.5px);color:#1c1a16;letter-spacing:-.015em;
  margin:clamp(5px,.85vh,8px) 0 2px;text-wrap:balance;line-height:1.35;}
#fsCalcApp .est-type .et-hl{color:#FF6E2E;font-weight:800;}
#fsCalcApp #receiptStack .est-type,#fsCalcApp #receiptStack .est-type *{font-family:"Pretendard","Noto Sans KR",sans-serif !important;}
#fsCalcApp .est-name{font-weight:600;font-size:clamp(11px,1.5vh,13.5px);color:#5c584f;
  margin:0 0 clamp(8px,1.3vh,12px);letter-spacing:0;}
#fsCalcApp .reset-key .gel{animation:ctaHalo 1.9s ease-in-out infinite;}
#fsCalcApp .reset-key .gel span{color:#e05a12;font-weight:800;}
@keyframes ctaHalo{0%,100%{box-shadow:0 0 0 0 rgba(255,110,46,0);}50%{box-shadow:0 0 16px 3px rgba(255,110,46,.55);}}
/* 마일스톤 스타일 미사용 정리 */
#fsCalcApp .ms-wrap,#fsCalcApp .ms-big,#fsCalcApp .ms-hint{display:none;}

/* ═══════════ v3.9 (260813-4) — 견적서 페르소나 통합 레이아웃 ═══════════ */
#fsCalcApp #receiptStack .est-typelead,#fsCalcApp #receiptStack .est-spend,#fsCalcApp #receiptStack .est-spend *,
#fsCalcApp #receiptStack .est-typename{font-family:"Pretendard","Noto Sans KR",sans-serif !important;}
#fsCalcApp .est-typelead{text-align:center;font-weight:700;font-size:clamp(12px,1.66vh,14px);color:#46443e;
  margin-top:clamp(4px,.7vh,7px);}
#fsCalcApp .est-typename{text-align:center;font-weight:800;font-size:clamp(19px,2.7vh,23px);color:#FF6E2E;
  letter-spacing:-.02em;line-height:1.25;margin:2px 0 clamp(7px,1.15vh,10px);text-wrap:balance;}
#fsCalcApp .est-typename .rp-code-in{font-size:.6em;color:#8a8a82;font-weight:800;letter-spacing:0;}
#fsCalcApp .est-catch{border:1px solid rgba(28,26,22,.3);border-radius:7px;background:rgba(255,255,255,.42);
  padding:clamp(7px,1.1vh,10px) 12px;text-align:center;margin:0 auto clamp(9px,1.5vh,13px);max-width:94%;
  font-size:clamp(11.5px,1.56vh,13.5px);color:#3a3a3a;line-height:1.4;text-wrap:balance;}
#fsCalcApp .est-spend{text-align:center;font-weight:800;font-size:clamp(14.5px,2.05vh,17.5px);color:#1c1a16;
  line-height:1.45;letter-spacing:-.01em;margin:clamp(3px,.5vh,5px) 0 clamp(9px,1.5vh,13px);}
#fsCalcApp .est-spend .es-amt{color:#FF6E2E;}
/* 결과지2 타이틀(닉네임 포함 — 폭 보정) */
#fsCalcApp .pv-title{font-size:clamp(13.5px,1.95vh,16.5px);letter-spacing:.02em;}

/* v3.10 — 캐치 박스 제거(기존 스타일 복귀) · 해설 가독성 · 타이포 정돈 */
#fsCalcApp .est-catch{border:none;background:none;padding:0;max-width:100%;
  font-size:clamp(12px,1.64vh,14px);color:#46443e;font-style:normal;margin:0 0 clamp(9px,1.5vh,13px);}
#fsCalcApp #receiptStack .rp-explain{font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  font-size:clamp(12px,1.66vh,14px);line-height:1.72;color:#1c1a16;text-align:left;
  letter-spacing:-.008em;padding:0 2px;margin-top:0;}
#fsCalcApp #receiptStack .tr-row .tr-v{font-family:"Pretendard","Noto Sans KR",sans-serif !important;
  line-height:1.5;}
#fsCalcApp .est-typename{font-size:clamp(18px,2.55vh,22px);}

/* ───── 퀴즈 이전/확인 버튼 행 (260818) ───── */
#fsCalcApp .qk-actions{display:flex;gap:clamp(7px,1.3vh,11px);align-items:stretch;}
#fsCalcApp .qk-prev{flex:0 0 30%;padding:clamp(2.5px,.42vh,4px);}
#fsCalcApp .qk-prev .gel{padding:clamp(11px,2vh,17px) 0;}
#fsCalcApp .qk-prev span{font-size:clamp(13px,1.9vh,17px)!important;letter-spacing:.08em;}
#fsCalcApp .qk-actions .qk-submit{flex:1 1 auto;width:auto;}

/* ───── 260819-2: 견적서 상단부 폰트 2종(Pretendard+손글씨)·3색 통일 / 로고 상하 여백 ───── */
#fsCalcApp #receiptStack .est-catch,#fsCalcApp #receiptStack .rp-traits,#fsCalcApp #receiptStack .rp-traits *{font-family:"Pretendard","Noto Sans KR",sans-serif !important;}
#fsCalcApp #receiptStack .est-typelead{color:#46443e;}
#fsCalcApp .r-logo.r-logo-bottom{margin:clamp(16px,2.6vh,24px) 0 clamp(13px,2.1vh,19px);}
