.theme-kartu-pos { --type: 'Special Elite', ui-monospace, monospace; --cover-bg: var(--bg); --aside-bg: var(--bg); --aside-text: var(--primary); --radius: 3px; --shadow: 0 16px 34px -20px rgb(0 0 0 / .4); }
.theme-kartu-pos .inv-main, .theme-kartu-pos .cover, .theme-kartu-pos .inv-aside, .theme-kartu-pos .sec { background-color: var(--bg); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"); }
.theme-kartu-pos .sec-alt { background-color: color-mix(in srgb, var(--bg) 55%, var(--surface)); }
.theme-kartu-pos .kp-wrap { position: relative; z-index: 2; width: 100%; padding: 30px 16px; }
.theme-kartu-pos .kp-eyebrow { font-family: var(--type); font-size: 12px; letter-spacing: .12em; color: var(--muted); }
.theme-kartu-pos .kp-card { position: relative; display: grid; grid-template-columns: 1.15fr 1fr; max-width: 360px; min-height: 230px; margin: 16px auto 24px; padding: 16px 14px; background: var(--surface); text-align: left; transform: rotate(-2deg); box-shadow: 0 18px 30px -16px rgb(0 0 0 / .45);
  border: 9px solid transparent; border-image: repeating-linear-gradient(-45deg, var(--accent) 0 12px, var(--surface) 12px 18px, var(--primary) 18px 30px, var(--surface) 30px 36px) 9; }
.theme-kartu-pos .kp-left { padding-right: 10px; border-right: 1px solid color-mix(in srgb, var(--text) 25%, transparent); }
.theme-kartu-pos .kp-dear { font-family: var(--font-script); font-size: 15px; margin: 0; color: var(--primary); }
.theme-kartu-pos .cover .guest-block { margin: 6px 0 8px; padding: 0; background: none; backdrop-filter: none; text-align: left; max-width: none; }
.theme-kartu-pos .guest-sal { font-family: var(--type); font-size: 11px; }
.theme-kartu-pos .guest-name { display: block; font-family: var(--font-script); font-size: 15px; line-height: 1.6; color: var(--primary); margin: 0; }
.theme-kartu-pos .kp-msg { font-family: var(--type); font-size: 10.5px; line-height: 1.6; margin: 0; color: var(--text); }
.theme-kartu-pos .kp-sign { font-family: var(--font-script); font-size: 13px; color: var(--primary); margin: 8px 0 0; }
.theme-kartu-pos .kp-right { position: relative; padding-left: 10px; }
.theme-kartu-pos .kp-stamp { position: relative; width: 74px; margin-left: auto; padding: 5px; background: #fff;
  -webkit-mask: radial-gradient(circle 3.5px, transparent 98%, #000) -3.5px -3.5px / 9px 9px; mask: radial-gradient(circle 3.5px, transparent 98%, #000) -3.5px -3.5px / 9px 9px; transform: rotate(4deg); }
.theme-kartu-pos .kp-stamp-in { height: 84px; background: var(--primary); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.theme-kartu-pos .kp-stamp-in div { width: 100%; height: 100%; background: center / cover; filter: sepia(.4); }
.theme-kartu-pos .kp-stamp-in b { font-family: var(--font-script); font-weight: 400; font-size: 26px; color: var(--on-primary); }
.theme-kartu-pos .kp-stamp small { display: block; text-align: center; font-family: var(--type); font-size: 9px; color: var(--primary); }
.theme-kartu-pos .kp-postmark { position: absolute; left: -16px; top: 52px; width: 120px; color: color-mix(in srgb, var(--accent) 75%, transparent); transform: rotate(-12deg); }
.theme-kartu-pos .kp-lines { margin-top: 54px; display: grid; gap: 18px; }
.theme-kartu-pos .kp-lines i { border-bottom: 1px solid color-mix(in srgb, var(--text) 35%, transparent); }
.theme-kartu-pos .kp-names { font-family: var(--font-script); font-weight: 400; font-size: 34px; line-height: 1.5; color: var(--primary); margin: 6px 0 0; }
.theme-kartu-pos .kp-date { font-family: var(--type); letter-spacing: .1em; }
.theme-kartu-pos .btn-open { border-radius: 2px; font-family: var(--type); letter-spacing: .08em; animation: none; margin-top: 10px; }
.theme-kartu-pos .sec-title { font-family: var(--font-script); font-weight: 400; font-size: 34px; line-height: 1.6; }
.theme-kartu-pos .sec-sub { font-family: var(--type); letter-spacing: .2em; }
.theme-kartu-pos .card { background: var(--surface); border: 7px solid transparent; border-image: repeating-linear-gradient(-45deg, var(--accent) 0 10px, var(--surface) 10px 15px, var(--primary) 15px 25px, var(--surface) 25px 30px) 7; }
.theme-kartu-pos .card:nth-child(odd) { transform: rotate(-.8deg); } .theme-kartu-pos .card:nth-child(even) { transform: rotate(.8deg); }
.theme-kartu-pos .session h3 { font-family: var(--font-script); font-weight: 400; font-size: 26px; line-height: 1.7; }
.theme-kartu-pos .host-photo { border-radius: 2px; width: 170px; height: 200px; border: 0; padding: 7px; background: #fff; -webkit-mask: radial-gradient(circle 4px, transparent 98%, #000) -4px -4px / 10px 10px; mask: radial-gradient(circle 4px, transparent 98%, #000) -4px -4px / 10px 10px; box-shadow: none; }
.theme-kartu-pos .host-photo.ph { background: var(--primary); color: var(--on-primary); font-family: var(--font-script); }
.theme-kartu-pos .host-name { font-family: var(--font-script); font-weight: 400; font-size: 32px; line-height: 1.7; }
.theme-kartu-pos .amp { font-family: var(--font-heading); font-style: italic; font-size: 40px; color: var(--accent); }
.theme-kartu-pos .kp-corner { top: 18px; right: 18px; width: 58px; height: 68px; background: repeating-linear-gradient(-45deg, var(--accent) 0 6px, transparent 6px 9px, var(--primary) 9px 15px, transparent 15px 18px); opacity: .25; }
.theme-kartu-pos .cd { background: var(--surface); color: var(--primary); border: 1px solid var(--primary); border-radius: 2px; }
.theme-kartu-pos .cd b { font-family: var(--type); }
.theme-kartu-pos .gift { background: var(--primary); border-radius: 3px; }
.theme-kartu-pos .gift .num, .theme-kartu-pos .rundown time { font-family: var(--type); }
.theme-kartu-pos .wish { background: var(--surface); border-left: 3px solid var(--accent); border-radius: 2px; }
.theme-kartu-pos .closing .names { font-size: 32px; line-height: 1.7; }
.theme-kartu-pos .inv-aside h1 { font-family: var(--font-script); font-weight: 400; font-size: 44px; line-height: 1.6; }
