.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.policy-page{background:var(--ds-color-page,#f7f4ef);min-height:80vh;padding:var(--ds-space-6,1.5rem) 0}.policy-container{background:var(--ds-color-surface,#fff);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-lg,8px);width:100%;max-width:100%;box-shadow:var(--ds-shadow-md,0 12px 30px #10182814);padding:var(--ds-space-6,1.5rem);margin:0 auto}.policy-title{color:var(--ds-color-text,#182230);text-align:center;margin-bottom:1rem;font-size:1.8rem;font-weight:800;line-height:1.25}.policy-updated{text-align:center;color:var(--ds-color-text-muted,#5f6b7a);margin-bottom:2rem;font-style:italic}.policy-content{color:var(--ds-color-text,#182230);word-break:keep-all;overflow-wrap:break-word;line-break:strict;line-height:1.8}.policy-section{margin-bottom:2rem}.policy-section h2{color:var(--ds-color-text,#182230);border-bottom:1px solid var(--ds-color-border,#d9e2ec);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem;line-height:1.35}.policy-section h3{color:var(--ds-color-text,#182230);margin:1.5rem 0 .8rem;font-size:1.1rem;line-height:1.35}.policy-section ul,.policy-section ol{margin:1rem 0;padding-left:2rem}.policy-section li{margin-bottom:.5rem}.policy-section a{color:var(--ds-color-primary-strong,#0e4f66);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.policy-section a:hover{text-decoration:underline}.contact-info{gap:var(--ds-space-3,.75rem);padding:var(--ds-space-5,1.25rem);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-lg,8px);background:var(--ds-color-surface-muted,#f6f8fb);color:var(--ds-color-text,#182230);align-content:start;margin:0;display:grid}.contact-item{background:var(--ds-color-surface-muted,#f6f8fb);color:var(--ds-color-text,#182230);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-lg,8px);text-align:center;padding:1.5rem}.contact-info h3,.contact-item h3{margin:0 0 var(--ds-space-3,.75rem) 0;color:var(--ds-color-text,#182230);font-size:1.2rem;line-height:1.35}.contact-info p{color:var(--ds-color-text-muted,#5f6b7a);line-height:var(--ds-line-height-body,1.65);margin:0}.contact-info strong{color:var(--ds-color-text,#182230)}.contact-form{gap:var(--ds-space-4,1rem);background:var(--ds-color-surface-muted,#f6f8fb);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-lg,8px);box-shadow:none;margin:0;padding:1.5rem;display:grid}.form-group{gap:var(--ds-space-2,.5rem);margin:0;display:grid}.form-group label{color:var(--ds-color-text,#182230);margin:0;font-weight:800;display:block}.form-group input,.form-group textarea{border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface,#fff);width:100%;min-height:48px;color:var(--ds-color-text,#182230);box-shadow:var(--ds-shadow-sm,0 1px 2px #1018280f);padding:.85rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:var(--ds-color-primary,#176b87);box-shadow:0 0 0 3px var(--ds-color-focus,#176b8738);outline:none}.submit-btn{background:var(--ds-color-primary,#176b87);border-color:var(--ds-color-primary,#176b87);color:var(--ds-color-surface,#fff);border-radius:var(--ds-radius-md,6px);width:100%;min-height:48px;box-shadow:var(--ds-shadow-primary,0 10px 18px #176b872e);padding:.85rem 1rem;font-size:1rem;font-weight:800}.submit-btn:hover:not(:disabled){background:var(--ds-color-primary-strong,#0e4f66);border-color:var(--ds-color-primary-strong,#0e4f66)}.submit-btn:disabled{background:var(--ds-color-surface-muted,#f6f8fb);border-color:var(--ds-color-border,#d9e2ec);color:var(--ds-color-text-muted,#5f6b7a);cursor:not-allowed;box-shadow:none;transform:none}.success-message{background:var(--ds-color-primary-soft,#e8f6fa);color:var(--ds-color-text,#182230);border:1px solid var(--ds-color-primary-border,#176b872e);border-radius:var(--ds-radius-md,6px);text-align:center;margin-top:1rem;padding:1rem;font-weight:700}.disclaimer-notice{background:var(--ds-color-surface-warm,#fff8ed);color:var(--ds-color-text,#182230);border:1px solid var(--ds-color-accent-border,#a8651442);border-radius:var(--ds-radius-lg,8px);text-align:center;margin-top:2rem;padding:1.5rem}.contact-content{gap:var(--ds-space-4,1rem);grid-template-columns:1fr;align-items:start;max-width:100%;margin:0 auto;display:grid}.contact-actions{gap:var(--ds-space-3,.75rem);flex-direction:column;margin-top:1rem;display:flex}.submit-btn.primary{background:var(--ds-color-primary,#176b87);border-color:var(--ds-color-primary,#176b87);color:var(--ds-color-surface,#fff)}.submit-btn.secondary{background:var(--ds-color-surface,#fff);border-color:var(--ds-color-border-strong,#aab7c4);color:var(--ds-color-text,#182230)}.legal-translation-notice{margin:0 0 var(--ds-space-6,1.5rem);padding:var(--ds-space-4,1rem);border:1px solid var(--ds-color-primary-border,#176b8733);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-primary-soft,#e8f6fa);color:var(--ds-color-text,#182230)}.legal-translation-notice p{line-height:var(--ds-line-height-body,1.65);margin:0}.my-tools-page .policy-container{gap:var(--ds-space-5,1.25rem);display:grid}.my-tools-status{min-height:1.5em;color:var(--ds-color-text-muted,#5f6b7a);margin:0}.my-tools-section{gap:var(--ds-space-4,1rem);min-width:0;margin:0;display:grid}.my-tools-section__header{justify-content:space-between;gap:var(--ds-space-3,.75rem);flex-wrap:wrap;align-items:start;display:flex}.my-tools-section__header h3,.my-tools-section__header p{margin:0}.my-tools-section__header>span{background:var(--ds-color-surface-muted,#f6f8fb);color:var(--ds-color-text-muted,#5f6b7a);border-radius:999px;padding:.2rem .55rem;font-weight:800}.my-tools-add{gap:var(--ds-space-2,.5rem);min-width:0;display:grid}.my-tools-add label{font-weight:800}.my-tools-add>div{gap:var(--ds-space-2,.5rem);flex-wrap:wrap;min-width:0;display:flex}.my-tools-add select{border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface,#fff);min-width:0;min-height:44px;color:var(--ds-color-text,#182230);flex:16rem;padding:.65rem .75rem}.my-tools-list{gap:var(--ds-space-3,.75rem);min-width:0;margin:0;padding:0;list-style:none;display:grid}.my-tools-item{justify-content:space-between;gap:var(--ds-space-3,.75rem);min-width:0;padding:var(--ds-space-4,1rem);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface-muted,#f6f8fb);flex-wrap:wrap;display:flex}.my-tools-item__identity{overflow-wrap:anywhere;gap:.25rem;min-width:0;display:grid}.my-tools-item__identity a{color:var(--ds-color-primary-strong,#0e4f66);font-weight:850}.my-tools-item__type,.my-tools-item__unavailable,.my-tools-item__recent-meta time{color:var(--ds-color-text-muted,#5f6b7a);font-size:var(--ds-font-size-sm,.875rem)}.my-tools-item__actions,.my-tools-item__recent-meta{gap:var(--ds-space-2,.5rem);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.my-tools-item button{border:1px solid var(--ds-color-border-strong,#aab7c4);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface,#fff);min-height:44px;color:var(--ds-color-text,#182230);padding:.55rem .7rem;font-weight:750}.my-tools-item button:disabled{opacity:.45}.my-tools-privacy{padding:var(--ds-space-4,1rem);border:1px dashed var(--ds-color-border-strong,#aab7c4);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface-muted,#f6f8fb)}.my-tools-page .history-empty{padding:var(--ds-space-4,1rem);color:var(--ds-color-text-muted,#5f6b7a);margin:0}.error-boundary-fallback{gap:var(--ds-space-4,1rem);width:min(100% - 2rem,760px);margin:var(--ds-space-8,2rem) auto;padding:var(--ds-space-6,1.5rem);border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-lg,8px);background:var(--ds-color-surface,#fff);color:var(--ds-color-text,#182230);display:grid}.error-boundary-fallback h1,.error-boundary-fallback p{margin:0}.error-boundary-fallback__actions{gap:var(--ds-space-2,.5rem);flex-wrap:wrap;display:flex}.error-boundary-fallback__actions button,.error-boundary-fallback__actions a{border:1px solid var(--ds-color-border-strong,#aab7c4);border-radius:var(--ds-radius-md,6px);background:var(--ds-color-surface,#fff);min-height:44px;color:var(--ds-color-primary-strong,#0e4f66);font:inherit;justify-content:center;align-items:center;padding:.65rem .8rem;font-weight:800;text-decoration:none;display:inline-flex}@media (width<=520px){.my-tools-item,.my-tools-item__recent-meta{flex-direction:column;align-items:stretch}.my-tools-item__actions button,.my-tools-item__recent-meta button{flex:auto}}@media (width>=768px){.policy-container{max-width:900px;padding:2.5rem 2rem}.policy-title{margin-bottom:2rem;font-size:2.2rem}.policy-updated{margin-bottom:3rem}.policy-section{margin-bottom:2.5rem}.policy-section h2{font-size:1.4rem}.policy-section h3{font-size:1.2rem}.contact-info{gap:var(--ds-space-3,.75rem);margin:0}.contact-item{padding:2rem}.contact-item h3{font-size:1.3rem}.contact-form{margin:0;padding:2rem}.contact-content{grid-template-columns:2fr 1fr;gap:2rem}.contact-actions{flex-direction:row}}@media (width>=1200px){.policy-container{max-width:1200px;padding:3rem 2.5rem}.policy-title{margin-bottom:2.5rem;font-size:2.5rem}.policy-section h2{font-size:1.5rem}.policy-section h3{font-size:1.3rem}.contact-form,.contact-item{padding:2.5rem}}@media (width<=767px){.policy-page{padding:1rem .5rem}.policy-container{border-radius:var(--ds-radius-lg,8px);box-sizing:border-box;margin:0;padding:2rem 1.5rem}.policy-title{font-size:1.8rem}}.history-list{flex-direction:column;gap:1.5rem;display:flex}.history-item{background:var(--ds-color-surface,#fff);border-radius:var(--ds-radius-lg,8px);border:1px solid var(--ds-color-border,#d9e2ec);box-shadow:var(--ds-shadow-sm,0 1px 2px #1018280f);padding:1.5rem;transition:box-shadow .3s}.history-item:hover{box-shadow:var(--ds-shadow-md,0 12px 30px #10182814)}.history-item-header{border-bottom:1px solid var(--ds-color-border,#d9e2ec);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.history-item-type{color:var(--ds-color-primary-strong,#0e4f66);font-size:1.2em;font-weight:700}.history-item-timestamp{color:var(--ds-color-text-muted,#5f6b7a);font-size:.9em}.history-item-body{margin-bottom:1.5rem}.history-item-result{color:var(--ds-color-text,#182230);margin:0;font-size:1.1em}.history-item-result strong{margin-right:.5rem;font-weight:600}.history-item-footer{text-align:right}.history-button{min-width:auto!important;height:auto!important;padding:.5rem 1rem!important;font-size:.9em!important}.history-empty{text-align:center;background:var(--ds-color-surface-muted,#f6f8fb);border-radius:var(--ds-radius-lg,8px);border:1px dashed var(--ds-color-border-strong,#aab7c4);padding:4rem 2rem}.history-empty p{color:var(--ds-color-text-muted,#5f6b7a);margin:.5rem 0;font-size:1.1em}.history-clear-container{text-align:center;margin-top:2rem}.game-records-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.record-item{background:var(--ds-color-surface-muted,#f6f8fb);border-radius:var(--ds-radius-lg,8px);text-align:center;border:1px solid var(--ds-color-border,#d9e2ec);padding:1.5rem}.record-item h4{color:var(--ds-color-text,#182230);margin:0 0 1rem;font-size:1.2em}.record-score{color:var(--ds-color-primary-strong,#0e4f66);margin:0;font-size:2em;font-weight:700}.record-sub-items p{color:var(--ds-color-text,#182230);margin:.5rem 0;font-size:1em}.not-found-container{max-width:720px}.not-found-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.not-found-link{border:1px solid var(--ds-color-border,#d9e2ec);border-radius:var(--ds-radius-md,6px);min-height:44px;color:var(--ds-color-text,#182230);justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.not-found-link-primary{border-color:var(--ds-color-primary,#176b87);background:var(--ds-color-primary,#176b87);color:var(--ds-color-surface,#fff)}@media (width<=420px){.policy-page{padding:var(--ds-space-3,.75rem) 0}.policy-container{padding:var(--ds-space-4,1rem);border-radius:var(--ds-radius-lg,8px)}.policy-title{font-size:1.55rem;line-height:1.3}.policy-section{margin-bottom:var(--ds-space-5,1.25rem)}.policy-section h2{font-size:1.12rem}.history-item,.record-item{padding:var(--ds-space-4,1rem)}}
