/* L1nG Feedback & Dashboard v7 — 單檔互動原型；桌面固定左側、獨立捲動；所有資料僅供預覽 */
:root{color-scheme:light;--bg:#f7f7f5;--surface:#fff;--subtle:#f3f3f1;--subtle-2:#ededea;--ink:#26262d;--muted:#777883;--faint:#a5a5ac;--stroke:#e8e8e8;--line:#ebeaec;--primary:#6554ae;--primary-hover:#58479e;--primary-pale:#f2eff9;--primary-line:#ddd5f3;--green:#33765b;--green-bg:#eaf5ef;--amber:#996a31;--amber-bg:#faf0e1;--blue:#47739f;--blue-bg:#eaf2fa;--red:#b6515a;--red-bg:#fbebec;--shadow:0 24px 75px rgba(24,21,35,.11),0 4px 15px rgba(24,21,35,.05);--small-shadow:0 10px 28px rgba(25,22,38,.065);--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;font-synthesis:none}
:root[data-theme="dark"]{color-scheme:dark;--bg:#18191c;--surface:#24252a;--subtle:#2d2e34;--subtle-2:#34353d;--ink:#f2f1f5;--muted:#adaeb8;--faint:#878993;--stroke:#383940;--line:#34353d;--primary:#b3a3f3;--primary-hover:#c4b6fb;--primary-pale:#363044;--primary-line:#544b6a;--green:#a0ddbf;--green-bg:#233d33;--amber:#ecd09d;--amber-bg:#453b2c;--blue:#aed0f8;--blue-bg:#2a3a50;--red:#f1a4ae;--red-bg:#472d35;--shadow:0 24px 85px rgba(0,0,0,.40);--small-shadow:0 10px 28px rgba(0,0,0,.19)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 36%,transparent);outline-offset:3px}a{color:var(--primary)}svg{display:inline-block;vertical-align:middle;flex:none}svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}svg.i.sm{width:15px;height:15px}svg.i.lg{width:22px;height:22px}svg.i.xl{width:26px;height:26px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}button.icon-btn{width:36px;height:36px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted)}button.icon-btn:hover{color:var(--ink);background:var(--subtle)}button.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:11px;padding:11px 16px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .2s}button.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}:root[data-theme="dark"] button.primary{color:#211a32}button.secondary{border:1px solid var(--stroke);border-radius:11px;padding:10px 15px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:620}button.secondary:hover{border-color:var(--primary-line);background:var(--subtle)}button.link{border:0;background:none;color:var(--primary);font-weight:650;padding:3px 0}button.danger{background:var(--red-bg);color:var(--red);border:1px solid transparent;padding:10px 14px;border-radius:10px;font-weight:630}button.danger:hover{border-color:var(--red)}.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:750;color:var(--primary)}.muted{color:var(--muted)}.hint{font-size:12px;color:var(--muted)}.noshrink{flex-shrink:0}.hide{display:none}.divider{height:1px;background:var(--line)}.tiny-label{font-size:11px;font-weight:720;letter-spacing:.055em;color:var(--muted)}
/* Preview switch — unavailable in the eventual public build */
.preview-bar{height:66px;position:sticky;top:0;z-index:150;background:var(--surface);border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 clamp(18px,4.2vw,65px)}.preview-brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-mark{width:33px;height:33px;display:grid;place-items:center;background:#302c39;border-radius:11px;color:#fff;font-size:16px;font-weight:800;letter-spacing:-.1em}.brand-mark span{margin-right:3px}.preview-brand strong{font-size:13px;letter-spacing:-.02em}.preview-brand .caption{font-size:11px;color:var(--faint);display:block;margin-top:-2px}.preview-tabs{display:flex;gap:4px;border-radius:12px;background:var(--subtle);padding:4px}.preview-tabs button{border:0;border-radius:9px;padding:8px 17px;background:transparent;color:var(--muted);font-weight:680;font-size:12px;display:flex;align-items:center;gap:7px;white-space:nowrap}.preview-tabs button.active{background:var(--surface);box-shadow:0 2px 8px rgba(30,25,43,.08);color:var(--ink)}.preview-tools{display:flex;align-items:center;gap:8px}.demo-chip{color:var(--muted);font-size:11px;border:1px solid var(--stroke);border-radius:999px;padding:4px 10px;white-space:nowrap}
/* Visitor site representation */
.site-shell{min-height:calc(100dvh - 66px);position:relative;overflow:hidden}.site-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 73% 32%,rgba(110,86,182,.08),transparent 45%),radial-gradient(ellipse at 11% 87%,rgba(197,175,145,.1),transparent 45%)}.site-content{max-width:1140px;margin:auto;padding:0 38px;position:relative}.site-content > .site-header{height:88px;border-bottom:1px solid var(--stroke);display:flex;justify-content:space-between;align-items:center;gap:20px}.site-logo{font-size:26px;font-weight:860;letter-spacing:-.07em}.site-links{display:flex;gap:30px;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.14em;font-weight:790}.site-links span.current{color:var(--ink)}.site-actions{display:flex;align-items:center;gap:13px}.feedback-entry{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:10px;padding:10px 15px;font-size:12px;font-weight:690}.feedback-entry:hover{filter:brightness(1.2)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;min-height:calc(100dvh - 205px);padding:75px 0 80px}.hero-copy{max-width:500px}.hero h1{font-size:clamp(38px,5.4vw,66px);letter-spacing:-.075em;font-weight:785;line-height:1.2;margin-top:19px}.hero h1 .light{font-weight:480;color:var(--muted)}.hero p{font-size:15px;color:var(--muted);max-width:400px;margin-top:22px;line-height:1.95}.hero-actions{display:flex;gap:11px;margin-top:31px;flex-wrap:wrap}.hero-foot{display:flex;gap:22px;align-items:center;margin-top:34px;color:var(--faint);font-size:12px}.hero-art{min-height:395px;position:relative;display:grid;place-items:center}.genealogy-canvas{position:relative;width:min(100%,470px);height:390px;background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:19px;overflow:hidden;transform:rotate(2deg)}.canvas-toolbar{height:47px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:var(--muted);font-size:11px;font-weight:650}.canvas-dots{display:flex;gap:5px}.canvas-dots span{width:7px;height:7px;background:var(--subtle-2);border-radius:99px}.canvas-inside{height:100%;position:relative;background-image:radial-gradient(var(--stroke) .8px,transparent 1px);background-size:21px 21px}.connector{position:absolute;background:#b5a4dc}.connector.v{width:1.5px}.connector.h{height:1.5px}.sim-node{position:absolute;border:1px solid var(--stroke);background:var(--surface);border-radius:10px;padding:10px;display:flex;gap:9px;align-items:center;min-width:136px;box-shadow:0 6px 18px rgba(27,22,42,.06);font-size:11px;font-weight:750;white-space:nowrap}.sim-node small{display:block;font-size:9px;color:var(--muted);font-weight:500}.avatar-dot{height:31px;width:31px;border-radius:50%;background:linear-gradient(135deg,#ede1f4,#baa9d8)}.sim-node.n1{left:16%;top:49px}.sim-node.n2{right:7%;top:49px}.sim-node.n3{left:13%;bottom:54px}.sim-node.n4{right:13%;bottom:54px}.floating-note{position:absolute;right:-35px;bottom:13px;border:1px solid var(--stroke);border-radius:13px;background:var(--surface);padding:13px 17px;box-shadow:var(--small-shadow);transform:rotate(-2deg);display:flex;align-items:center;gap:9px;font-size:12px;font-weight:670}.floating-note .i{color:var(--primary)}.site-bottom{padding:20px 0;color:var(--faint);font-size:11px;border-top:1px solid var(--stroke);display:flex;justify-content:space-between}
/* Visitor dialog */
.modal-layer{position:fixed;z-index:100;inset:66px 0 0;display:flex;align-items:center;justify-content:center;padding:25px;background:rgba(27,25,36,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-layer.closed{display:none}.feedback-modal{width:min(100%,570px);background:var(--surface);border:1px solid var(--stroke);border-radius:20px;box-shadow:var(--shadow);max-height:min(875px,calc(100dvh - 108px));display:flex;flex-direction:column;overflow:hidden}.modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 30px 15px;flex-shrink:0}.modal-top h2{font-size:24px;letter-spacing:-.055em;margin:5px 0 4px;font-weight:770}.modal-top p{font-size:12px;color:var(--muted)}.modal-content{overflow:auto;overscroll-behavior:contain;padding:0 30px 26px;scrollbar-width:thin}.modal-content .section{margin-top:16px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}.field-label{font-size:12px;font-weight:760;letter-spacing:.01em}.required{color:var(--red);margin-left:2px}.optional{font-size:11px;font-weight:500;color:var(--faint)}.type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.type-choice{border:1px solid var(--stroke);background:var(--surface);border-radius:12px;padding:10px 9px 9px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;font-size:12px;font-weight:700;transition:background .2s,border-color .2s}.type-choice svg{color:var(--muted)}.type-choice:hover{border-color:var(--primary-line)}.type-choice.active{border-color:var(--primary);background:var(--primary-pale);color:var(--primary)}.type-choice.active svg{color:var(--primary)}.field{width:100%;border:1px solid var(--stroke);background:var(--surface);border-radius:11px;padding:11px 13px;outline:0;color:var(--ink);font-size:13px;transition:border-color .2s,box-shadow .2s}.field::placeholder{color:var(--faint)}.field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-pale)}textarea.field{resize:vertical;min-height:92px;line-height:1.7}select.field{appearance:none;padding-right:36px;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%238f8f99" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 12px center}select.field option{background:var(--surface)}.field-info{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--faint);margin-top:5px}.field-error{color:var(--red);font-size:11px;margin-top:5px;display:none}.field-error.visible{display:block}.upload-zone{border:1px dashed var(--primary-line);border-radius:12px;background:var(--subtle);padding:12px;display:flex;align-items:center;gap:13px;transition:background .15s,border-color .15s;cursor:pointer;position:relative}.upload-zone:hover,.upload-zone.drag-over{background:var(--primary-pale);border-color:var(--primary)}.upload-pict{height:39px;width:39px;border-radius:11px;background:var(--surface);border:1px solid var(--stroke);display:grid;place-items:center;color:var(--primary)}.upload-zone strong{display:block;font-size:12px}.upload-zone small{font-size:10px;color:var(--muted);display:block}.upload-zone input{display:none}.file-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.upload-file{border:1px solid var(--stroke);border-radius:10px;display:flex;align-items:center;gap:9px;padding:7px 9px}.upload-thumb{height:35px;width:35px;border-radius:7px;background:var(--subtle);display:grid;place-items:center;overflow:hidden;color:var(--primary)}.upload-thumb img{width:100%;height:100%;object-fit:cover}.upload-name{flex:1;min-width:0;font-size:11px;font-weight:670;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-name small{font-weight:450;color:var(--muted);display:block}.verify-card{border:1px solid var(--stroke);border-radius:12px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--subtle)}.verify-left{display:flex;align-items:center;gap:11px;min-width:0}.verify-icon{width:36px;height:36px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);display:grid;place-items:center;color:var(--primary)}.verify-text{min-width:0}.verify-text strong{font-size:12px;display:block;line-height:1.35}.verify-text span{font-size:10px;color:var(--muted);display:block;line-height:1.5}.verify-card button{white-space:nowrap;border-radius:8px;padding:7px 10px;border:1px solid var(--primary-line);background:var(--surface);font-size:11px;color:var(--primary);font-weight:750}.verify-card.verified .verify-icon{color:var(--green)}.verify-card.verified button{border-color:transparent;color:var(--green);background:var(--green-bg)}.verify-legal{font-size:10px;color:var(--faint);margin-top:6px}.modal-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--stroke);padding:12px 30px 13px;background:var(--surface);flex-shrink:0}.privacy-tip{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.privacy-tip .i{color:var(--green)}.submit{min-width:151px}.success-pane.hide{display:none}.success-pane{padding:44px 30px 52px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px}.success-bubble{width:65px;height:65px;background:var(--green-bg);color:var(--green);display:grid;place-items:center;border-radius:19px}.success-pane h2{font-size:24px;letter-spacing:-.05em;margin-top:8px}.success-pane p{font-size:13px;color:var(--muted);max-width:315px}.success-actions{display:flex;gap:10px;margin-top:10px}.preview-pill{border-radius:99px;padding:4px 10px;background:var(--primary-pale);color:var(--primary);font-size:10px;font-weight:740;white-space:nowrap}
/* Admin dashboard */
.admin-app{height:calc(100dvh - 66px);min-height:0;display:grid;grid-template-columns:234px minmax(0,1fr);overflow:hidden}.admin-app.off{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--stroke);padding:29px 16px;display:flex;flex-direction:column;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 12px 32px}.admin-brand-name{font-size:18px;font-weight:820;letter-spacing:-.065em}.admin-brand-name span{display:block;font-size:10px;color:var(--muted);letter-spacing:.12em;font-weight:710;margin-top:-2px}.sidebar-group{font-size:10px;color:var(--faint);font-weight:800;letter-spacing:.16em;padding:0 13px;margin:5px 0 10px}.side-nav{display:flex;flex-direction:column;gap:3px}.side-item{width:100%;border:0;background:transparent;padding:10px 12px;border-radius:10px;color:var(--muted);display:flex;align-items:center;gap:11px;text-align:left;font-size:12px;font-weight:650;transition:background .17s}.side-item:hover{background:var(--subtle);color:var(--ink)}.side-item.active{background:var(--primary-pale);color:var(--primary)}.side-item .count{margin-left:auto;border-radius:7px;background:var(--subtle);font-size:10px;padding:0 7px;line-height:23px;color:var(--muted)}.side-item.active .count{background:var(--surface);color:var(--primary)}.sidebar-sep{height:1px;background:var(--line);margin:22px 12px}.side-foot{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--stroke)}.admin-id{display:flex;align-items:center;gap:10px}.admin-avatar{width:34px;height:34px;border-radius:10px;background:var(--primary-pale);color:var(--primary);display:grid;place-items:center;font-size:11px;font-weight:790}.admin-id strong{font-size:12px;display:block}.admin-id small{font-size:10px;color:var(--muted);display:block}.admin-main{min-width:0;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:37px clamp(24px,4.4vw,76px) 45px;max-width:1560px;width:100%;margin:0 auto}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-head h1{font-size:30px;letter-spacing:-.055em;margin:7px 0 8px;font-weight:800}.admin-head p{color:var(--muted);font-size:12px}.admin-head-actions{display:flex;gap:7px;align-items:center}.admin-head-actions button.secondary{font-size:12px}.admin-notice{margin-top:24px;display:flex;align-items:flex-start;gap:10px;background:var(--primary-pale);border:1px solid var(--primary-line);border-radius:11px;padding:11px 14px;color:var(--primary)}.admin-notice span{color:var(--ink);font-size:11px;line-height:1.7}.admin-notice strong{color:var(--primary)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:23px}.stat-card{border:1px solid var(--stroke);background:var(--surface);border-radius:14px;padding:19px 20px 16px;text-align:left;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s,box-shadow .2s}.stat-card:hover{border-color:var(--primary-line);transform:translateY(-2px);box-shadow:var(--small-shadow)}.stat-card.chosen{border-color:var(--primary)}.stat-card .topline{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:660}.stat-card .num{font-size:29px;font-weight:810;letter-spacing:-.055em;line-height:1}.stat-card .stat-footer{color:var(--faint);font-size:10px}.stat-card .stat-icon{height:28px;width:28px;border-radius:8px;display:grid;place-items:center;background:var(--subtle);color:var(--muted)}.stat-card[data-status="pending"] .stat-icon{background:var(--amber-bg);color:var(--amber)}.stat-card[data-status="progress"] .stat-icon{background:var(--blue-bg);color:var(--blue)}.stat-card[data-status="done"] .stat-icon{background:var(--green-bg);color:var(--green)}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:37px;margin-bottom:15px}.section-toolbar h2{font-size:19px;letter-spacing:-.035em;font-weight:780}.section-toolbar .list-count{margin-left:7px;font-size:11px;color:var(--faint);font-weight:600}.toolbar-tools{display:flex;align-items:center;gap:9px}.search-field{display:flex;gap:8px;align-items:center;height:38px;padding:0 12px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--faint);width:222px}.search-field:focus-within{border-color:var(--primary)}.search-field input{border:0;background:transparent;outline:none;min-width:0;width:100%;font-size:12px;color:var(--ink)}.search-field input::placeholder{color:var(--faint)}.toolbar-select{height:38px;border-radius:10px;border:1px solid var(--stroke);padding:0 27px 0 12px;background:var(--surface);font-size:11px;max-width:160px}.feedback-table{border:1px solid var(--stroke);background:var(--surface);border-radius:14px;overflow:hidden}.table-header{display:grid;grid-template-columns:minmax(180px,2.25fr) minmax(100px,.9fr) minmax(100px,.95fr) 94px 92px;gap:10px;padding:13px 20px;border-bottom:1px solid var(--stroke);color:var(--faint);font-weight:730;font-size:10px;letter-spacing:.045em}.feedback-row{display:grid;grid-template-columns:minmax(180px,2.25fr) minmax(100px,.9fr) minmax(100px,.95fr) 94px 92px;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:16px 20px;text-align:left;width:100%;min-height:83px}.feedback-row:last-child{border-bottom:0}.feedback-row:hover{background:var(--subtle)}.row-primary{min-width:0}.row-primary strong{display:block;font-size:12px;font-weight:740;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-primary .excerpt{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-primary .row-id{color:var(--faint);font-size:10px;margin-top:3px}.row-text{font-size:11px;color:var(--muted)}.status-badge,.type-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:7px;font-size:10px;font-weight:710;padding:5px 8px;white-space:nowrap;width:max-content;max-width:100%}.status-badge.pending{background:var(--amber-bg);color:var(--amber)}.status-badge.progress{background:var(--blue-bg);color:var(--blue)}.status-badge.done{background:var(--green-bg);color:var(--green)}.type-badge{background:var(--subtle);color:var(--muted)}.status-badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.empty-list{padding:76px 25px;text-align:center;color:var(--muted);display:grid;justify-items:center;gap:10px}.empty-list h3{font-size:15px;color:var(--ink)}.empty-list p{font-size:12px}.list-bottom{margin-top:13px;text-align:right;color:var(--faint);font-size:11px}.mobile-sidefilters{display:none}
/* Admin drawer */
.detail-layer{position:fixed;inset:66px 0 0;background:rgba(20,20,24,.43);z-index:120;display:none;justify-content:flex-end;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.detail-layer.open{display:flex}.detail-panel{height:100%;width:min(510px,100%);background:var(--surface);box-shadow:-16px 0 64px rgba(20,20,30,.13);display:flex;flex-direction:column;min-width:0}.detail-head{padding:25px 28px 22px;border-bottom:1px solid var(--stroke);display:flex;align-items:flex-start;justify-content:space-between;gap:15px;flex:none}.detail-head h2{font-size:20px;letter-spacing:-.04em;margin-top:5px}.detail-body{padding:25px 28px;overflow:auto;flex:1;min-height:0}.detail-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:26px}.detail-field{margin-top:24px}.detail-field h3{font-size:12px;margin-bottom:9px}.detail-field p{font-size:13px;color:var(--muted);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.detail-kv{display:grid;grid-template-columns:94px 1fr;gap:10px;margin:11px 0;font-size:12px}.detail-kv dt{color:var(--faint)}.detail-kv dd{margin:0;color:var(--ink)}.detail-file{border:1px solid var(--stroke);border-radius:11px;padding:11px;display:flex;gap:10px;align-items:center;margin-top:8px}.detail-file .thumb{width:40px;height:40px;border-radius:8px;background:var(--subtle);display:grid;place-items:center;overflow:hidden}.detail-file .thumb img{width:100%;height:100%;object-fit:cover}.detail-file strong{display:block;font-size:11px;overflow-wrap:anywhere}.detail-file small{display:block;color:var(--muted);font-size:10px}.detail-file a{margin-left:auto;font-size:11px;font-weight:750;text-decoration:none}.detail-foot{flex:none;padding:16px 28px 20px;display:flex;gap:9px;align-items:center;border-top:1px solid var(--stroke);background:var(--surface)}.detail-foot select{flex:1;min-width:0}.detail-foot .danger{width:40px;height:39px;padding:0;display:grid;place-items:center}.confirm-layer{position:fixed;inset:66px 0 0;background:rgba(18,18,23,.55);z-index:140;display:none;align-items:center;justify-content:center;padding:20px}.confirm-layer.open{display:flex}.confirm-card{width:min(390px,100%);border:1px solid var(--stroke);background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:25px}.confirm-card h3{font-size:18px}.confirm-card p{color:var(--muted);font-size:12px;margin-top:12px}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.toast{position:fixed;z-index:200;left:50%;bottom:24px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--ink);color:var(--surface);border-radius:11px;padding:11px 17px;font-size:12px;box-shadow:var(--shadow);transition:opacity .2s,transform .2s;max-width:calc(100vw - 36px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1400px){.admin-main{padding-right:78px;padding-left:78px}}
@media(max-width:1090px){.hero{gap:35px}.floating-note{right:-5px}.site-links{gap:16px}.admin-app{grid-template-columns:208px 1fr}.admin-main{padding:32px 24px}.stat-card{padding:15px 14px}.table-header,.feedback-row{grid-template-columns:minmax(150px,2fr) minmax(78px,.85fr) minmax(95px,1fr) 90px 75px;padding-left:14px;padding-right:14px;gap:7px}}
@media(max-width:800px){.preview-bar{padding:0 17px}.preview-brand .caption{display:none}.preview-brand strong{display:none}.preview-tabs button{padding:9px 12px}.demo-chip{display:none}.site-content{padding:0 22px}.site-content > .site-header{height:68px}.site-links{display:none}.hero{grid-template-columns:1fr;gap:35px;padding:48px 0}.hero h1{font-size:49px}.hero-art{min-height:300px}.genealogy-canvas{height:315px;max-width:500px}.admin-app{grid-template-columns:1fr;height:auto;min-height:calc(100dvh - 66px);overflow:visible}.sidebar{display:none}.admin-main{padding:29px 22px 50px;height:auto;overflow:visible}.stat-grid{gap:9px}.stat-card .num{font-size:25px}.mobile-sidefilters{display:flex;gap:7px;overflow-x:auto;margin-top:17px;scrollbar-width:none;padding-bottom:2px}.mobile-sidefilters::-webkit-scrollbar{display:none}.mobile-filter{border:1px solid var(--stroke);background:var(--surface);border-radius:9px;padding:7px 11px;font-size:11px;color:var(--muted);white-space:nowrap;font-weight:670}.mobile-filter.active{background:var(--primary-pale);border-color:var(--primary-line);color:var(--primary)}}
@media(max-width:600px){.admin-app{min-height:calc(100dvh - 60px)}.preview-bar{height:60px;padding:0 12px;gap:9px}.brand-mark{width:29px;height:29px;font-size:14px;border-radius:9px}.preview-tabs{gap:2px}.preview-tabs button{font-size:11px;padding:8px 9px;gap:5px}.preview-tabs svg{width:14px;height:14px}.preview-tools .icon-btn{width:30px;height:30px}.site-shell{min-height:calc(100dvh - 60px)}.site-content{padding:0 20px}.site-logo{font-size:23px}.feedback-entry{padding:9px 11px}.hero{min-height:calc(100dvh - 188px);align-content:start;padding:50px 0}.hero h1{font-size:44px}.hero p{font-size:13px;margin-top:15px}.hero-art{min-height:240px;margin-top:9px}.genealogy-canvas{height:250px}.canvas-toolbar{height:34px}.sim-node{transform:scale(.73);transform-origin:top left}.sim-node.n2{right:-12%}.sim-node.n4{right:-12%}.floating-note{font-size:10px;bottom:0}.site-bottom{font-size:10px}.modal-layer{inset:60px 0 0;padding:0;align-items:stretch}.feedback-modal{max-height:none;height:100%;border:0;border-radius:0;width:100%;box-shadow:none}.modal-top{padding:21px 21px 17px}.modal-top h2{font-size:22px}.modal-content{padding:0 21px 24px}.modal-bottom{padding:13px 21px calc(14px + env(safe-area-inset-bottom))}.modal-content .section{margin-top:18px}.type-grid{gap:7px}.type-choice{padding:11px 9px;font-size:11px}.upload-zone{padding:12px}.verify-card{padding:10px}.verify-text strong{font-size:11px}.verify-text span{font-size:9px}.verify-card button{font-size:10px;padding:7px}.privacy-tip{font-size:10px}.submit{min-width:140px}.admin-main{padding:26px 15px 30px}.admin-head h1{font-size:26px}.admin-head-actions button.secondary{padding:8px 9px}.admin-head-actions .button-caption{display:none}.admin-notice{margin-top:18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.stat-card{padding:14px;gap:11px}.stat-card .num{font-size:26px}.section-toolbar{flex-direction:column;align-items:stretch;margin-top:26px;gap:12px}.toolbar-tools{width:100%;display:grid;grid-template-columns:1fr 125px}.search-field{width:100%}.toolbar-select{width:100%;max-width:100%}.table-header{display:none}.feedback-row{grid-template-columns:1fr auto;gap:8px;padding:15px;min-height:91px;position:relative}.feedback-row .row-primary{grid-column:1/-1;order:0;padding-right:8px}.feedback-row .row-primary strong{font-size:12px}.feedback-row .row-primary .excerpt{font-size:11px}.feedback-row .row-id{display:none}.feedback-row .row-source{grid-column:1;grid-row:2;font-size:10px}.feedback-row .row-type{display:none}.feedback-row .row-status{grid-column:2;grid-row:2}.feedback-row .row-date{display:none}.feedback-table{border-radius:12px}.detail-layer,.confirm-layer{top:60px}.detail-panel{width:100%}.detail-head{padding:19px 19px 17px}.detail-body{padding:19px}.detail-foot{padding:13px 19px calc(15px + env(safe-area-inset-bottom))}.detail-head h2{font-size:18px}.toast{bottom:calc(15px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}

/* Version 3: common management workspace + GA4 mock */
.upload-zone.upload-zone-v1{min-height:117px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;text-align:center;padding:18px 12px;background:var(--subtle);border:1px dashed var(--primary-line)}.upload-zone-v1 .upload-pict{height:40px;width:40px;margin-bottom:4px}.upload-zone-v1 strong{font-size:12px;font-weight:700}.upload-zone-v1 small{font-size:11px}.contact-card{border:1px solid var(--stroke);border-radius:12px;background:var(--surface);overflow:hidden}.contact-card summary{padding:13px;display:flex;gap:11px;align-items:center;list-style:none;cursor:pointer}.contact-card summary::-webkit-details-marker{display:none}.contact-icon{height:34px;width:34px;display:grid;place-items:center;color:var(--primary);background:var(--primary-pale);border-radius:10px}.contact-copy{flex:1}.contact-copy strong{display:block;font-size:12px}.contact-copy em{font-size:10px;font-weight:500;color:var(--faint);font-style:normal}.contact-copy small{display:block;color:var(--muted);font-size:10px;font-weight:450;margin-top:2px}.contact-chevron{color:var(--muted);transform:rotate(90deg);transition:transform .2s}.contact-card[open] .contact-chevron{transform:rotate(-90deg)}.contact-fields{padding:0 14px 15px;display:grid;gap:6px}.contact-fields .hint{font-size:10px;margin-top:4px}.policy-tip{display:flex;gap:11px;padding:12px 13px;border-radius:11px;background:var(--subtle);color:var(--muted)}.policy-tip svg{color:var(--primary);margin-top:3px}.policy-tip p{font-size:10px;line-height:1.8}.policy-tip strong{font-size:11px;color:var(--ink)}.success-code{font-size:12px;color:var(--primary);font-weight:750;letter-spacing:.03em}.side-item.dash-side{font-size:13px;font-weight:700;padding:12px}.admin-mobile-nav{display:none;gap:5px;padding:4px;background:var(--subtle);border-radius:12px;margin-bottom:24px}.admin-mobile-nav button{flex:1;border:0;border-radius:10px;background:transparent;padding:10px 5px;color:var(--muted);font-size:12px;font-weight:670}.admin-mobile-nav button.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 10px rgba(25,25,35,.06)}.panel-view[hidden],.custom-date-row[hidden]{display:none}.demo-label{border:1px solid var(--stroke);border-radius:999px;padding:7px 12px;font-size:10px;font-weight:750;letter-spacing:.06em;color:var(--muted);background:var(--surface);white-space:nowrap}.overview-intro{background:linear-gradient(125deg,#302c3b 0%,#514256 82%,#75576f 100%);border-radius:18px;color:#fff;margin-top:23px;padding:30px 35px;display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:166px}.overview-intro .eyebrow{color:#cfc0dc}.overview-intro h2{font-size:26px;margin:9px 0 8px;font-weight:770;letter-spacing:-.04em}.overview-intro p{font-size:12px;color:#e4dce5}.overview-bubble{width:76px;height:76px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 19px rgba(255,255,255,.055),0 0 0 39px rgba(255,255,255,.04);margin-right:24px}.overview-grid .stat-card{cursor:pointer}.dash-overview-bottom,.analytics-lower{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin-top:16px;min-width:0}.dash-card{background:var(--surface);border:1px solid var(--stroke);border-radius:15px;padding:24px;min-width:0}.dash-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.dash-card-header h3{font-size:18px;margin-top:5px;letter-spacing:-.025em}.overview-chart svg{display:block;width:100%;height:auto;max-height:210px}.overview-recent{display:flex;flex-direction:column}.overview-entry{border:0;background:transparent;text-align:left;display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}.overview-entry:last-child{border:0}.overview-entry strong{font-size:12px;font-weight:700}.overview-entry small{font-size:11px;color:var(--muted)}.analytics-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.analytics-range{display:flex;gap:3px;background:var(--subtle);border-radius:11px;padding:4px}.range-btn{border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;padding:9px 15px;font-weight:670}.range-btn.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 8px rgba(25,20,35,.07)}.custom-date-row{margin-top:13px;display:flex;align-items:end;flex-wrap:wrap;gap:9px}.custom-date-row label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px}.custom-date-row input{border:1px solid var(--stroke);border-radius:9px;background:var(--surface);color:var(--ink);padding:9px 10px;font-size:12px;max-width:180px}.date-error{font-size:11px;color:var(--red)}.analytics-stat-grid{margin-top:16px}.analytics-traffic{margin-top:15px}.chart-key{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.chart-dot{background:var(--primary);width:9px;height:9px;border-radius:50%}.chart-area{width:100%;overflow:hidden}.chart-area svg{display:block;width:100%;height:auto;max-height:320px}.analytics-lower{grid-template-columns:1fr 1fr}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:13px 0;border-bottom:1px solid var(--line)}.rank-row:last-child{border-bottom:0}.rank-top{display:flex;align-items:center;gap:9px;min-width:0}.rank-index{font-size:10px;color:var(--faint);min-width:17px;font-weight:750}.rank-title{font-size:12px;font-weight:670;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-value{font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.rank-bar-bg{grid-column:1/-1;height:5px;border-radius:9px;background:var(--subtle);overflow:hidden}.rank-bar{height:100%;border-radius:9px;background:var(--primary);opacity:.72;transition:width .3s}.device-layout{display:flex;gap:32px;align-items:center;min-height:145px}.donut{width:126px;height:126px;border-radius:50%;position:relative;flex:none}.donut:after{content:'';position:absolute;inset:27px;background:var(--surface);border-radius:50%}.device-legend{display:flex;flex-direction:column;gap:10px;flex:1}.legend-item{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px}.legend-item .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px}.legend-item b{font-size:12px}.status-badge.spam{background:var(--red-bg);color:var(--red)}
@media(max-width:1000px){.dash-overview-bottom{grid-template-columns:1fr}.overview-bubble{margin-right:8px}.device-layout{gap:15px}}
@media(max-width:800px){.admin-mobile-nav{display:flex}.analytics-lower{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.upload-zone.upload-zone-v1{min-height:103px}.overview-intro{padding:24px 19px;min-height:140px;margin-top:17px}.overview-intro h2{font-size:21px}.overview-bubble{width:40px;height:40px;margin-right:11px;box-shadow:0 0 0 10px rgba(255,255,255,.055)}.overview-bubble svg{width:19px}.dash-card{padding:17px}.dash-overview-bottom,.analytics-lower{grid-template-columns:1fr;gap:10px;margin-top:12px}.analytics-filters{flex-wrap:wrap;gap:9px}.analytics-range{flex:1;justify-content:space-around}.range-btn{padding:9px 10px}.analytics-filters .toolbar-select{max-width:none;width:100%}.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-stat-grid .stat-card{min-height:127px}.demo-label{display:none}.chart-key{font-size:10px}.device-layout{gap:25px}.dash-card-header h3{font-size:16px}.contact-card summary{padding:12px}.policy-tip{padding:10px}.modal-content .section{margin-top:15px}}

/* V4: neutral workspace navigation, slim feedback form and context-specific visitor entrances */
.context-switch.hide{display:none}.context-switch{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;border-bottom:1px solid var(--stroke);background:var(--surface);flex-wrap:wrap}
.context-title{font-size:11px;color:var(--muted);font-weight:730;white-space:nowrap}.context-buttons{display:flex;gap:5px;padding:4px;border-radius:11px;background:var(--subtle)}.context-btn{background:transparent;border:0;color:var(--muted);padding:7px 14px;border-radius:8px;font-size:11px;font-weight:710}.context-btn.active{background:var(--surface);box-shadow:0 2px 8px rgba(30,25,43,.08);color:var(--primary)}.context-help{color:var(--faint);font-size:10px}
.mock-more-wrap{position:relative}.mock-more-menu{position:absolute;top:calc(100% + 10px);right:0;width:220px;background:var(--surface);border:1px solid var(--stroke);border-radius:13px;box-shadow:var(--shadow);padding:8px;z-index:12}.mock-more-menu .more-head{display:block;padding:7px 10px 8px;color:var(--faint);font-size:10px;font-weight:720}.mock-more-menu button{border:0;border-radius:8px;padding:10px;display:flex;gap:10px;align-items:center;width:100%;background:none;font-size:12px;font-weight:720;text-align:left}.mock-more-menu button:hover{background:var(--subtle)}.mock-more-menu .more-arrow{margin-left:auto;transform:rotate(-90deg)}.mock-more-menu .more-hint{display:block;color:var(--faint);font-size:10px;padding:8px 10px 5px}
.realdate-preview{background:var(--bg);min-height:calc(100dvh - 60px);padding-bottom:65px}.realdate-header{max-width:1080px;margin:auto;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke);gap:16px}.realdate-header nav{display:flex;align-items:center;gap:22px;letter-spacing:.08em;font-size:11px;font-weight:720;color:var(--muted)}.realdate-current{color:var(--primary)}.realdate-title{text-align:center;padding:34px 20px 0}.realdate-title h1{font-size:34px;letter-spacing:-.05em;margin:7px 0}.realdate-title p{color:var(--muted);font-size:12px;max-width:480px;margin:auto}
.modal-layer.standalone{position:relative;inset:auto;display:flex;align-items:flex-start;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:25px 22px 0;min-height:0}.modal-layer.standalone .feedback-modal{width:min(100%,660px);max-height:none;height:auto;border:1px solid var(--stroke);border-radius:18px;box-shadow:var(--small-shadow)}.modal-layer.standalone .modal-content{overflow:visible}.modal-layer.standalone #close-form,.modal-layer.standalone .modal-top{display:none}.modal-layer.standalone #form-main{min-height:0}
.conditional-section[hidden],.panel-view[hidden]{display:none}.compact-help{margin-top:6px;color:var(--faint);font-size:11px}.unknown-version{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin:10px 0 0;cursor:pointer}.unknown-version input{accent-color:var(--primary);width:16px;height:16px}.conditional-section .field-error{margin-top:7px}.policy-inline{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.7;color:var(--muted);margin:19px 0 0;padding:0 3px}.policy-inline svg{margin-top:2px}.modal-top{padding-bottom:13px}.modal-content .section{margin-top:16px}.modal-content #module-version-section{margin-top:12px}.modal-content #game-version-section{margin-top:12px}
.sidebar-note{margin:30px 12px 0;padding:15px 12px;border-radius:11px;background:var(--subtle);display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;line-height:1.7}
.admin-mobile-nav button{font-size:11px;padding:10px 3px}.feedback-filters{display:flex;gap:8px;margin:28px 0 0;flex-wrap:wrap;scrollbar-width:none}.feedback-filters .mobile-filter{border:1px solid var(--stroke);background:var(--surface);border-radius:9px;padding:8px 13px;font-size:11px;color:var(--muted);font-weight:650;white-space:nowrap}.feedback-filters .mobile-filter.active{color:var(--primary);border-color:var(--primary-line);background:var(--primary-pale)}
.contact-tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:650;line-height:1.35;border-radius:7px;padding:4px 7px;margin-top:6px;background:var(--subtle);color:var(--muted)}.contact-tag.has-contact{color:var(--blue);background:var(--blue-bg)}.detail-meta .contact-tag{margin-top:0}.feedback-row{min-height:98px}.section-toolbar{margin-top:22px}.toolbar-tools{flex-wrap:wrap;justify-content:flex-end}
.setting-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:23px}.setting-layout .dash-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.setting-layout .dash-card h3{font-size:19px}.setting-layout .dash-card p{line-height:1.9}.setting-list{width:100%;display:grid;gap:12px}.setting-list>div{padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.setting-list strong{font-size:12px}.setting-list small{font-size:11px;color:var(--muted);text-align:right;max-width:250px}
@media(max-width:1090px){.toolbar-tools{justify-content:flex-start}.sidebar-note{font-size:9px}}
@media(max-width:800px){.context-switch{justify-content:flex-start}.context-help{display:none}.setting-layout{grid-template-columns:1fr}.feedback-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.admin-app{grid-template-columns:1fr}}
@media(max-width:600px){.context-switch{gap:7px;padding:10px 12px}.context-title{font-size:10px}.context-buttons{width:100%;justify-content:stretch}.context-btn{flex:1;padding:9px 4px;font-size:11px}.realdate-header{padding:15px 20px}.realdate-header nav{gap:12px}.realdate-title{padding-top:22px}.realdate-title h1{font-size:29px}.realdate-title p{font-size:11px}.modal-layer.standalone{inset:auto;position:relative;padding:18px 12px 24px;align-items:flex-start;min-height:0}.modal-layer.standalone .feedback-modal{height:auto;max-height:none;border:1px solid var(--stroke);border-radius:15px}.modal-layer.standalone .modal-content{overflow:visible}.modal-layer.standalone .modal-top{padding:21px 18px 15px}.modal-layer.standalone .modal-content{padding:0 18px 22px}.modal-layer.standalone .modal-bottom{padding:13px 18px 17px}.feedback-filters{margin-top:18px}.toolbar-tools{width:100%;gap:7px}.toolbar-tools .search-field{width:100%}.toolbar-tools .toolbar-select{flex:1;max-width:none;min-width:115px}.section-toolbar{align-items:stretch;flex-direction:column}.feedback-row{min-height:98px}.setting-list>div{display:block}.setting-list small{display:block;text-align:left;max-width:none;margin-top:4px}}

/* V5: submission problems appear at the top of the form, not as bottom toast */
.submit-error-summary[hidden],#manual-version-wrap[hidden]{display:none}
.submit-error-summary{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;margin:0 0 15px;border:1px solid color-mix(in srgb,var(--red) 30%,transparent);border-radius:12px;background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--ink);scroll-margin-top:90px}
.submit-error-symbol{flex:0 0 21px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:800}
.submit-error-summary strong{font-size:12px;font-weight:760}.submit-error-summary p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:3px}
#manual-version-wrap{margin-top:12px}#manual-version-wrap .field-label{display:block;margin:0 0 7px}
.version-guide{border:0;margin:11px 0 0}.version-guide summary{list-style:none;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--primary);cursor:pointer;line-height:1.5}.version-guide summary::-webkit-details-marker{display:none}.guide-info{width:18px;height:18px;border:1px solid var(--primary-line);border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:11px}.guide-chevron{margin-left:auto;transition:transform .2s}.version-guide[open] .guide-chevron{transform:rotate(180deg)}.version-guide-body{border:1px solid var(--stroke);border-radius:12px;background:var(--bg);padding:13px 15px;margin-top:11px;color:var(--muted);font-size:11px;line-height:1.8}.version-guide-body p+p{margin-top:9px}.version-guide-body b{color:var(--ink)}.version-guide-body code{font-size:10px;overflow-wrap:anywhere}.version-guide-body a{display:inline-flex;color:var(--primary);font-weight:760;margin-top:11px;text-underline-offset:3px}
/* RealDate V1: full independent page, intro + form in two columns */
.realdate-preview{background:var(--bg);padding-bottom:20px}
.rd-v1-hero{max-width:1090px;min-height:210px;border-radius:19px;margin:16px auto 0;padding:40px 43px;background:linear-gradient(115deg,#29262e 18%,#35303b 60%,#594558 100%);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}
.rd-v1-hero-copy{position:relative;z-index:1}.rd-v1-hero .eyebrow{color:#e0cfe1;letter-spacing:.22em;font-size:10px}.rd-v1-hero h1{font-size:36px;letter-spacing:-.06em;line-height:1.16;margin:14px 0}.rd-v1-hero p{font-size:12px;color:#d7ccd7}.rd-hero-art{position:absolute;width:320px;height:320px;right:10px;top:-55px}.rd-hero-art span{position:absolute;border-radius:50%;border:1px solid #ffffff25;inset:0}.rd-hero-art span:nth-child(2){inset:35px}.rd-hero-art span:nth-child(3){inset:70px}.rd-hero-art i{display:block;position:absolute;width:22px;height:22px;border-radius:50%;background:#d3aecb;top:149px;left:149px}
.rd-v1-main{max-width:1090px;margin:42px auto 30px;display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.15fr);gap:56px;align-items:start}.rd-v1-aside{padding:14px 4px 0;position:sticky;top:86px;align-self:start;max-height:calc(100dvh - 108px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.rd-v1-aside .eyebrow{font-size:10px;letter-spacing:.2em}.rd-v1-aside h2{font-size:31px;letter-spacing:-.055em;line-height:1.32;margin:14px 0}.rd-v1-aside>p{font-size:13px;line-height:2;color:var(--muted);max-width:340px}.rd-tags{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 38px}.rd-tags span{border:1px solid var(--stroke);border-radius:50px;padding:6px 10px;color:var(--muted);font-size:11px}.rd-steps{padding:0;margin:0;list-style:none;display:grid;gap:25px}.rd-steps li{display:flex;gap:13px;align-items:flex-start}.rd-steps li>b{font-size:11px;color:var(--primary);border-left:2px solid var(--primary);padding:1px 0 5px 10px}.rd-steps li span{display:grid;gap:4px}.rd-steps li strong{font-size:12px}.rd-steps li small{font-size:11px;color:var(--muted);line-height:1.65}.rd-footer{max-width:1090px;margin:32px auto 0;border-top:1px solid var(--stroke);padding:17px 0;display:flex;justify-content:space-between;gap:10px;color:var(--faint);font-size:10px}
.rd-v1-main #realdate-form-slot{min-width:0}
.rd-v1-main .modal-layer.standalone{padding:0;display:block}
.rd-v1-main .modal-layer.standalone .feedback-modal{width:100%;max-width:none;border-radius:17px;box-shadow:var(--small-shadow)}
.rd-v1-main .modal-layer.standalone .modal-top{display:flex;padding:25px 27px 12px}
.rd-v1-main .modal-layer.standalone #close-form{display:none}
.rd-v1-main .modal-layer.standalone .modal-content{padding:0 27px 24px}
.rd-v1-main .modal-layer.standalone .modal-bottom{padding:15px 27px}
@media(max-width:1140px){.rd-v1-hero,.rd-v1-main,.rd-footer{margin-left:25px;margin-right:25px}}
@media(max-width:780px){.rd-v1-main{grid-template-columns:1fr;gap:28px;margin-top:32px}.rd-v1-aside{padding:0;position:static;max-height:none;overflow:visible}.rd-steps{display:none}.rd-tags{margin:13px 0 0}.rd-v1-aside h2{font-size:25px}.rd-v1-aside>p{max-width:100%}.rd-v1-hero{min-height:175px;padding:28px}.rd-v1-hero h1{font-size:29px}}
@media(max-width:600px){.realdate-header{padding:15px 20px}.rd-v1-hero{margin:12px 14px 0;padding:25px 23px;min-height:180px;border-radius:15px}.rd-v1-hero h1{font-size:29px}.rd-v1-hero p{max-width:245px;line-height:1.65}.rd-hero-art{right:-158px;opacity:.64}.rd-v1-main{margin:25px 14px 25px;gap:22px}.rd-v1-aside{padding:0 7px}.rd-v1-aside h2{font-size:25px;margin:10px 0}.rd-v1-aside>p{font-size:12px;line-height:1.9}.rd-tags{margin:11px 0 0}.rd-v1-main .modal-layer.standalone{position:relative;inset:auto;height:auto;min-height:0;overflow:visible}.rd-v1-main .modal-layer.standalone .feedback-modal{height:auto;max-height:none;border:1px solid var(--stroke);border-radius:16px}.rd-v1-main .modal-layer.standalone #form-main,.rd-v1-main .modal-layer.standalone #feedback-form{height:auto;overflow:visible;min-height:0}.rd-v1-main .modal-layer.standalone .modal-top{padding:22px 18px 13px}.rd-v1-main .modal-layer.standalone .modal-content{padding:0 18px 22px;overflow:visible}.rd-v1-main .modal-layer.standalone .modal-bottom{padding:15px 18px calc(15px + env(safe-area-inset-bottom));flex-wrap:wrap}.rd-footer{margin:28px 18px 0;flex-direction:column;gap:5px}}

/* V6 — 保留 V5 的表單及分析版型，新增私人對話與後台回覆 */
.modal-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.text-action{border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:750;padding:8px 7px;border-radius:8px}.text-action:hover{background:var(--primary-pale)}
.rd-my-feedback{border:1px solid var(--stroke);background:var(--surface);color:var(--ink);padding:8px 11px;font-size:11px;font-weight:700;border-radius:9px}.rd-my-feedback:hover{background:var(--subtle)}
.success-pane{padding:28px 28px 32px;overflow-y:auto;min-height:0;gap:9px}.success-pane h2{margin-top:4px}.success-pane p{max-width:390px}.credential-card{display:flex;flex-direction:column;gap:9px;text-align:left;width:100%;max-width:420px;border:1px solid var(--primary-line);background:var(--primary-pale);padding:15px;border-radius:14px}.credential-heading{display:flex;gap:8px;align-items:center;color:var(--ink);font-size:12px}.credential-token{overflow-wrap:anywhere;user-select:all;-webkit-user-select:all;font-size:12px;line-height:1.65;background:var(--surface);padding:12px;border-radius:9px;border:1px solid var(--stroke);color:var(--ink)}.credential-copy{align-self:flex-start;font-size:12px}.credential-card small,.demo-disclaimer{font-size:11px;color:var(--muted);line-height:1.7}.success-actions{flex-wrap:wrap;justify-content:center}
.thread-pane{display:flex;flex:1;flex-direction:column;min-height:0;max-height:min(825px,calc(100dvh - 120px))}.thread-pane.hide{display:none}.thread-heading{padding:22px 26px 15px;border-bottom:1px solid var(--stroke);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.thread-heading h2{font-size:22px;line-height:1.25;margin:5px 0 4px}.thread-heading p,.thread-help{font-size:12px;color:var(--muted)}.mini-back{font-size:11px;white-space:nowrap;padding:8px 11px}.thread-body{overflow-y:auto;min-height:0;padding:20px 26px 26px;overscroll-behavior:contain;scrollbar-width:thin}.my-thread-list{display:flex;flex-direction:column;gap:9px;margin:15px 0}.my-thread-card{border:1px solid var(--stroke);background:var(--surface);width:100%;text-align:left;border-radius:12px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.my-thread-card:hover{border-color:var(--primary-line);background:var(--subtle)}.my-thread-card strong{font-size:12px;display:block}.my-thread-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.thread-restore{background:var(--subtle);border-radius:13px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:15px}.thread-restore .field{width:100%;min-height:65px}.restore-error{color:var(--red);font-size:11px;margin-top:6px}.restore-error[hidden]{display:none}.thread-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 0 16px;border-bottom:1px solid var(--stroke)}.thread-summary strong{font-size:14px;display:block}.thread-summary span:not(.reply-indicator){font-size:11px;color:var(--muted);display:block}.reply-indicator{background:var(--subtle);color:var(--muted);border-radius:99px;padding:4px 9px;font-size:10px;white-space:nowrap;font-weight:750}.conversation-stack{display:flex;flex-direction:column;gap:16px;margin:22px 0;min-height:80px}.conversation-message{display:flex;flex-direction:column;gap:5px;max-width:89%;align-self:flex-start}.conversation-message.by-player{align-self:flex-end;align-items:flex-end}.conversation-message.by-admin{align-items:flex-start}.conversation-label{font-size:10px;color:var(--muted);font-weight:670}.conversation-bubble{border:1px solid var(--stroke);border-radius:14px 14px 14px 4px;background:var(--subtle);padding:11px 13px;color:var(--ink);font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;width:fit-content;max-width:100%}.by-player .conversation-bubble{border-color:var(--primary-line);background:var(--primary-pale);border-radius:14px 14px 4px 14px}.conversation-time{font-size:10px;color:var(--faint)}.conversation-attachment{border:1px solid var(--stroke);padding:6px 8px;border-radius:8px;font-size:11px;display:flex;align-items:center;gap:7px;margin-top:7px;background:var(--surface);max-width:100%;overflow-wrap:anywhere}.conversation-attachment a{color:var(--primary);font-weight:700}.thread-compose{border-top:1px solid var(--stroke);padding-top:16px;display:flex;flex-direction:column;gap:8px}.thread-compose .field{min-height:80px}.thread-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.thread-compose-actions .primary{font-size:12px}.attach-action{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--primary);padding:5px 0}.thread-compose-actions .hint{flex:1;min-width:100px;font-size:10px}.thread-switch-back{margin-top:17px;padding-left:0}
.admin-reply-compose{border-top:1px solid var(--stroke);padding:14px 23px;display:flex;flex-direction:column;gap:8px;background:var(--surface);flex-shrink:0}.admin-reply-compose textarea{resize:vertical;min-height:58px;max-height:120px}.admin-reply-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-reply-actions .primary{padding:9px 11px;font-size:11px}.detail-thread-title{font-size:13px;font-weight:750;margin:22px 0 8px}.reply-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:720;color:var(--primary);margin:6px 0 0;line-height:1.4}.reply-badge.neutral{color:var(--muted)}
@media(max-width:600px){.modal-head-actions{gap:2px}.thread-heading{padding:17px}.thread-body{padding:18px 17px 24px}.thread-pane{max-height:none;height:100%;min-height:0}.thread-summary{align-items:center}.thread-compose-actions .primary{margin-left:auto}.conversation-message{max-width:95%}.admin-reply-compose{padding:12px 15px}.success-pane{padding:20px 16px 28px}.success-actions{flex-direction:column;width:100%}.success-actions>*{width:100%}.rd-my-feedback{padding:6px 8px}.realdate-header nav{gap:9px}.credential-token{font-size:11px}}
/* RealDate 回饋：桌面把回覆說明放在標題旁，手機仍顯示「由你決定」和原下方提示。 */
.reply-preference .reply-mobile-note{display:none}
@media(max-width:720px){
  .reply-preference .reply-desktop-note{display:none}
  .reply-preference .section-heading .reply-mobile-note{display:inline}
  .reply-preference p.reply-mobile-note{display:block}
}
/* V8：回覆選擇，清楚區分一次性回饋與可持續匿名對話 */
.reply-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reply-option{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--stroke);border-radius:12px;padding:15px;background:var(--surface);cursor:pointer;transition:border-color .18s,background .18s}
.reply-option:has(input:checked){border-color:var(--primary);background:var(--primary-pale)}
.reply-option input{accent-color:var(--primary);margin-top:5px;flex:none}
.reply-option strong{font-size:12px;display:block;color:var(--ink)}
.reply-option small{font-size:11px;color:var(--muted);display:block;line-height:1.7;margin-top:3px}
.success-actions [hidden],.credential-card[hidden],.admin-reply-compose[hidden]{display:none}
@media(max-width:600px){.reply-options{grid-template-columns:1fr}.reply-option{padding:13px}}
/* RealDate 專用入口：不顯示原型導覽，與現站的藍色及淺色系一致 */
body.realdate-only{--bg:#fafafa;--surface:#fff;--subtle:#f7fafc;--ink:#262626;--muted:#767676;--stroke:#e7e7e7;--primary:#55acee;--primary-hover:#3e95d3;--primary-pale:#eef8ff;--primary-line:rgba(85,172,238,.28)}
.realdate-only .preview-bar,.realdate-only .context-switch,.realdate-only .site-shell,.realdate-only #admin-screen{display:none}
.realdate-only .realdate-preview{min-height:100dvh;padding-bottom:0}
.realdate-only .realdate-header{max-width:none;background:var(--surface);border-bottom:1px solid var(--stroke);padding:0 max(20px,calc((100vw - 1180px)/2));height:68px;position:relative;display:flex;justify-content:space-between;align-items:center;gap:28px}
.realdate-only .realdate-brandgroup{display:flex;align-items:center;gap:12px;white-space:nowrap}
.realdate-only .realdate-brandgroup a{text-decoration:none;color:var(--ink)}
.realdate-only .realdate-brandgroup .brand-home{font-size:20px;font-weight:700;letter-spacing:-.05em}
.realdate-only .realdate-brandgroup .brand-divider{color:#c4c4c4}
.realdate-only .realdate-brandgroup .brand-name{font-size:15px;letter-spacing:.06em;font-weight:750}
.realdate-only .realdate-nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;min-width:0}
.realdate-only .realdate-nav>a{font-size:12px;text-decoration:none;color:var(--muted);white-space:nowrap}
.realdate-only .realdate-nav>a:hover,.realdate-only .realdate-nav>a[aria-current="page"]{color:var(--accent,#55acee)}
.realdate-only .realdate-nav>a[aria-current="page"]{font-weight:750}
.realdate-only .rd-v1-hero{max-width:none;margin:0;border-radius:0;min-height:300px;padding:65px max(24px,calc((100vw - 1180px)/2));background:linear-gradient(120deg,#f4faff 0%,#fafafa 72%);border-bottom:1px solid #e7f0f8;color:#262626}
.realdate-only .rd-v1-hero .eyebrow{color:#55acee;font-weight:700}
.realdate-only .rd-v1-hero h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.055em;font-weight:750;max-width:720px}
.realdate-only .rd-v1-hero p{font-size:15px;color:#5c5c5c;max-width:600px}
.realdate-only .rd-hero-art span{border-color:rgba(85,172,238,.22)}
.realdate-only .rd-hero-art i{background:#55acee}
.realdate-only .rd-v1-main,.realdate-only .rd-footer{max-width:1180px}
.realdate-only .rd-v1-main{padding-top:6px}
.realdate-only .feedback-modal{border-color:#e7e7e7}
.realdate-only .rd-my-feedback{border-color:#d6e9f7;color:#398bc9}
@media(max-width:980px){.realdate-only .realdate-header{height:auto;min-height:68px;flex-wrap:wrap;padding:14px 24px;gap:9px}.realdate-only .realdate-nav{gap:12px;overflow-x:auto;width:100%;justify-content:flex-start;scrollbar-width:none}.realdate-only .realdate-nav>a{font-size:12px}}
@media(max-width:600px){.realdate-only .rd-v1-hero{margin:0;border-radius:0;padding:37px 24px;min-height:210px}.realdate-only .rd-v1-hero h1{font-size:34px}.realdate-only .rd-hero-art{opacity:.4}.realdate-only .rd-v1-main{margin:25px 16px}.realdate-only .rd-v1-main .modal-layer.standalone .feedback-modal{box-shadow:none}}

/* 與 RealDate 現有文件頁主視覺對齊：白色全幅、細字體、置中閱讀寬度 */
.realdate-only .realdate-brandgroup .brand-home{font-size:12px;font-weight:500;letter-spacing:1.4px;color:#767676}
.realdate-only .realdate-brandgroup .brand-name{font-size:13px;font-weight:650;letter-spacing:1.4px}
.realdate-only .realdate-nav{gap:21px}
.realdate-only .realdate-nav>a{font-size:13px}
.realdate-only .rd-v1-hero{background:#fff;border-bottom:1px solid #e7e7e7;min-height:0;padding:84px 20px 70px;display:block}
.realdate-only .rd-v1-hero-copy{max-width:930px;margin:0 auto}
.realdate-only .rd-v1-hero h1{font-weight:250;font-size:clamp(42px,6vw,66px);letter-spacing:-.035em;margin:11px 0 18px;line-height:1.2}
.realdate-only .rd-v1-hero p{color:#767676;max-width:770px;line-height:1.82}
.realdate-only .rd-hero-art{display:none}
.realdate-only .rd-v1-main,.realdate-only .rd-footer{max-width:930px}
.realdate-only .rd-aside-thread{margin:3px 0 24px;padding:10px 13px;font-size:12px}
@media(max-width:780px){.realdate-only .rd-v1-hero{padding:53px 20px 42px}}
@media(max-width:600px){.realdate-only .rd-v1-hero{min-height:0;padding:40px 20px 35px}.realdate-only .rd-v1-hero h1{font-size:42px}}

/* RealDate 使用本站原生頂條；回饋表單仍沿用原型內容區的獨立尺寸 */
.realdate-only .feedback-modal .section{width:auto;max-width:none;padding:0}
.realdate-only .site-header{margin:0;width:100%;max-width:none}
.realdate-only .site-header .site-header-inner{max-width:var(--page-width)}

/* RealDate 問題反饋：頂條直接沿用 RealDate 的 site-header/realdate.css/realdate.js。
   修正本頁預覽樣式與原站同名 class 的衝突，不另建立一套導覽。 */
body.realdate-only #siteHeader{
  display:block;height:auto;min-height:var(--header-height);
  font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-size:15px;line-height:1.82
}
body.realdate-only #siteHeader .site-header-inner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  width:min(calc(100% - 40px),var(--page-width));min-height:var(--header-height);
  margin:0 auto;gap:28px;align-items:center
}
body.realdate-only #siteHeader .main-nav{
  display:flex;align-items:center;justify-content:center;gap:21px;min-width:0
}
body.realdate-only #siteHeader .main-nav>a{font-size:13px}
body.realdate-only #siteHeader .main-nav>a.active::after{display:block}
body.realdate-only #siteHeader .header-controls{display:inline-flex;grid-column:3;justify-self:end;align-items:center;gap:10px;white-space:nowrap}
body.realdate-only #siteHeader .nav-toggle{display:none}
body.realdate-only #form-layer .section{width:auto;max-width:none;margin:16px 0 0;padding:0}
body.realdate-only #form-layer .section-heading{margin-bottom:9px}
@media(max-width:980px){
  body.realdate-only #siteHeader .site-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px;position:relative}
  body.realdate-only #siteHeader .header-controls{grid-column:2}
  body.realdate-only #siteHeader .nav-toggle{display:block}
  body.realdate-only #siteHeader .main-nav{
    display:none;position:absolute;top:calc(100% + 8px);left:20px;right:20px;
    flex-direction:column;align-items:stretch;gap:0;min-width:0
  }
  body.realdate-only #siteHeader .main-nav.open{display:flex}
  body.realdate-only #siteHeader .main-nav>a{padding:9px 10px}
  body.realdate-only #siteHeader .main-nav>a.active::after{display:none}
}
@media(max-width:650px){
  body.realdate-only #siteHeader .site-header-inner{width:min(calc(100% - 28px),var(--page-width));gap:8px}
}

/* 自訂下拉：避免瀏覽器原生箭頭與預設選擇器外觀 */
.l1ng-select-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;padding:0;min-height:0}
.l1ng-select{display:block;position:relative;width:100%}
.l1ng-select-trigger{appearance:none;-webkit-appearance:none;width:100%;min-height:43px;text-align:left;padding:10px 39px 10px 13px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;line-height:1.5;position:relative;cursor:pointer}
.l1ng-select-trigger::after{content:"";position:absolute;right:15px;top:calc(50% - 5px);width:8px;height:8px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:rotate(45deg)}
.l1ng-select-trigger:hover{border-color:var(--primary-line)}
.l1ng-select-trigger[aria-expanded="true"],.l1ng-select-trigger:focus-visible{border-color:var(--primary);outline:2px solid var(--primary-pale);outline-offset:1px}
.l1ng-select-trigger:disabled{opacity:.45;cursor:not-allowed}
.l1ng-select-panel{position:fixed;z-index:120;overflow:auto;overscroll-behavior:contain;padding:5px;border:1px solid var(--stroke);background:var(--surface);color:var(--ink);border-radius:11px;box-shadow:var(--small-shadow,0 12px 36px #0002);scrollbar-width:thin}
.l1ng-select-panel[hidden]{display:none}
.l1ng-select-item{appearance:none;-webkit-appearance:none;display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;border-radius:7px;min-height:38px;padding:9px 10px;font:inherit;font-size:12px;cursor:pointer}
.l1ng-select-item:hover,.l1ng-select-item:focus-visible{background:var(--subtle);outline:none}
.l1ng-select-item.selected{background:var(--primary-pale);color:var(--primary);font-weight:650}
.realdate-only .l1ng-select-panel{z-index:60}
/* 自訂選取控制，不使用平台原生圓點或勾選外觀 */
.reply-option input[type="radio"],.unknown-version input[type="checkbox"],.contact-card input[type="checkbox"]{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:17px;height:17px;min-width:17px;border:1.5px solid var(--stroke);background:var(--surface);display:inline-grid;place-content:center;position:relative;cursor:pointer}
.reply-option input[type="radio"]{border-radius:50%;margin:3px 0 0}
.reply-option input[type="radio"]:checked{border-color:var(--primary)}
.reply-option input[type="radio"]:checked::after{content:"";display:block;width:9px;height:9px;border-radius:50%;background:var(--primary)}
.unknown-version input[type="checkbox"],.contact-card input[type="checkbox"]{border-radius:5px}
.unknown-version input[type="checkbox"]:checked,.contact-card input[type="checkbox"]:checked{background:var(--primary);border-color:var(--primary)}
.unknown-version input[type="checkbox"]:checked::after,.contact-card input[type="checkbox"]:checked::after{content:"";width:8px;height:5px;border-left:2px solid var(--surface);border-bottom:2px solid var(--surface);transform:rotate(-45deg) translateY(-1px)}


/* RealDate：主視覺沿用文件頁寬度，表單寬度增加且永遠低於原站頂條 */
body.realdate-only .realdate-preview{position:relative;z-index:auto}
body.realdate-only .rd-v1-hero{position:relative;z-index:0}
body.realdate-only .rd-v1-main{width:min(calc(100% - 48px),1240px);max-width:1240px;margin:34px auto 48px;grid-template-columns:minmax(235px,.54fr) minmax(0,1.7fr);gap:42px;align-items:start}
body.realdate-only .rd-v1-aside{top:calc(var(--header-height,68px) + 24px);max-height:calc(100dvh - var(--header-height,68px) - 36px)}
body.realdate-only .rd-v1-main #realdate-form-slot{min-width:0;position:relative;z-index:auto}
body.realdate-only .rd-v1-main .modal-layer.standalone{position:relative;z-index:1;padding:0;max-width:none}
body.realdate-only .rd-v1-main .modal-layer.standalone .feedback-modal{width:100%;max-width:none;box-shadow:0 8px 30px rgba(0,0,0,.035);border-radius:10px}
body.realdate-only .rd-v1-main .modal-layer.standalone .modal-top{display:none}
body.realdate-only .rd-v1-main .modal-layer.standalone .modal-content{padding:28px clamp(22px,3vw,36px) 12px}
body.realdate-only .rd-v1-main .modal-layer.standalone .modal-bottom{padding:18px clamp(22px,3vw,36px)}
body.realdate-only #siteHeader{position:sticky;z-index:100}
body.realdate-only #siteHeader .main-nav{z-index:2}
body.realdate-only .rd-v1-hero .eyebrow{font-family:"Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:2.2px;font-size:11px}
body.realdate-only .rd-v1-hero h1{font-weight:250;font-size:clamp(42px,6vw,66px);line-height:1.2;letter-spacing:0}
body.realdate-only .rd-v1-hero p{font-size:15px;line-height:1.82}
body.realdate-only .rd-v1-aside h2{font-weight:350;letter-spacing:-.025em}
@media(max-width:900px){body.realdate-only .rd-v1-main{width:min(calc(100% - 38px),750px);grid-template-columns:1fr;gap:22px;margin-top:25px}body.realdate-only .rd-v1-aside{position:static;max-height:none;overflow:visible}}
@media(max-width:600px){body.realdate-only .rd-v1-main{width:calc(100% - 30px);margin:22px auto 34px}body.realdate-only .rd-v1-main .modal-layer.standalone .modal-content{padding:22px 17px 12px}body.realdate-only .rd-v1-main .modal-layer.standalone .modal-bottom{padding:16px 17px}}



.credential-copy{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.copy-state-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.copy-shape,.check-shape{transition:opacity .18s ease,stroke-dashoffset .32s ease,transform .25s ease}
.check-shape{stroke-dasharray:28;stroke-dashoffset:28;opacity:0}
.credential-copy.is-copied .copy-shape{opacity:0;transform:scale(.7);transform-origin:center}
.credential-copy.is-copied .check-shape{stroke-dashoffset:0;opacity:1}
.privacy-tip{line-height:1.55}
@media(max-width:600px){.privacy-tip{font-size:10px;max-width:64%}}
.primary.submit.is-loading,.thread-compose .primary.is-loading{cursor:progress;pointer-events:none}
.primary.submit.is-loading::before,.thread-compose .primary.is-loading::before{content:"";display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:l1ng-feedback-spin .7s linear infinite;margin-right:8px}
@keyframes l1ng-feedback-spin{to{transform:rotate(360deg)}}


/* RealDate 附件區對齊族譜視覺設定的「上傳族譜背景」元件尺寸與層級。 */
body.realdate-only .upload-zone.appearance-background-upload {
    min-height:150px;
    padding:18px;
    border:1px dashed var(--stroke);
    border-radius:12px;
    background:linear-gradient(180deg,var(--surface),var(--subtle));
    transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
body.realdate-only .upload-zone.appearance-background-upload:hover,
body.realdate-only .upload-zone.appearance-background-upload.drag-over,
body.realdate-only .upload-zone.appearance-background-upload:focus-visible {
    border-color:var(--primary);
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 45%,transparent);
    outline:none;
}
body.realdate-only .upload-zone.appearance-background-upload .upload-pict {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    margin:0 0 2px;
    border:0;
    background:transparent;
    color:var(--primary);
}
body.realdate-only .upload-zone.appearance-background-upload .upload-pict .i {
    width:36px;
    height:36px;
}
body.realdate-only .upload-zone.appearance-background-upload strong {
    font-size:13px;
    font-weight:700;
    color:var(--ink);
}
body.realdate-only .upload-zone.appearance-background-upload small {
    font-size:11.5px;
    font-weight:400;
    line-height:1.5;
    color:var(--muted);
}
@media(max-width:600px) {
    body.realdate-only .upload-zone.appearance-background-upload {min-height:150px}
}
