/* Bulma supplies components, grids, spacing, colors and typography.
   Remaining rules handle toolkit sizing, browser fixes and code/media rendering. */
:root{--mono:ui-monospace,"SFMono-Regular","Cascadia Code",Consolas,"Liberation Mono",Menlo,monospace;--bg:var(--bulma-scheme-main-bis);--card:var(--bulma-scheme-main);--fg:var(--bulma-text);--mute:var(--bulma-text);--line:var(--bulma-border);--ac:var(--bulma-link);--acfg:var(--bulma-link-invert)}
html{background:var(--bg);scroll-padding-top:calc(64px + env(safe-area-inset-top))}
.toolkit-symbols{position:absolute;overflow:hidden;pointer-events:none}
.toolkit-icon{flex:none;vertical-align:middle;color:inherit}
.toolkit-icon svg{display:block;width:20px;height:20px}

.icon-heading>.toolkit-icon{color:var(--ac)}
.toolkit-header h1>.toolkit-icon{width:32px;height:32px}.toolkit-header h1>.toolkit-icon svg{width:28px;height:28px}
.toolkit-navbar .navbar-item{gap:8px}
.toolkit-navbar .navbar-item.is-active{color:var(--bulma-link-invert)}
.button>.toolkit-icon{margin:0!important}.button{gap:8px}
.toolkit-navbar{position:sticky;top:env(safe-area-inset-top);z-index:40;border-bottom:1px solid var(--line)}
.toolkit-navbar .navbar-menu{box-shadow:none;border:0;background:transparent}
.toolkit-navbar>.container{width:100%;max-width:1120px!important;padding-inline:24px}
.toolkit-navbar .navbar-brand .navbar-item{gap:10px}
.toolkit-navbar .navbar-burger{border:0;background:transparent;color:inherit;cursor:pointer}
.toolkit-navbar .navbar-burger.is-active span:nth-child(n+3){visibility:hidden}
.toolkit-navbar .navbar-burger:focus-visible{outline:2px solid var(--ac);outline-offset:-4px}
@media(max-width:1023px){.toolkit-navbar>.container{padding-inline:16px}.toolkit-navbar .navbar-menu{padding-bottom:16px;max-height:calc(100dvh - 64px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}.toolkit-navbar .navbar-brand{min-height:64px}}
body{min-height:100vh;background:var(--bg);line-height:1.7;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.toolkit-header,.toolkit-main,.toolkit-footer{width:100%;max-width:1120px!important;padding-left:24px;padding-right:24px}
.toolkit-header{padding-top:40px;padding-bottom:24px}
.toolkit-header .title{line-height:1.4;margin-bottom:12px}
.toolkit-header .crumb{margin-bottom:12px}
.toolkit-main{padding-bottom:32px}
.toolkit-footer{padding-top:24px;padding-bottom:40px;border-top:1px solid var(--line);color:var(--mute);font-size:.8rem}
.toolkit-footer a#appver,.toolkit-footer a#appver:hover,.toolkit-footer a#appver:focus,.toolkit-footer a#appver:visited{color:inherit}

.sub,.help{color:var(--mute);font-size:.9rem;line-height:1.7}
.crumb{font-size:.85rem;color:var(--mute)}
.chips .button{min-height:40px;margin-bottom:0!important}

.box .title{line-height:1.5;margin-bottom:16px}.box h3{margin-top:24px}
.box p:not(:last-child){margin-bottom:12px}
.label{margin-top:18px;font-size:.9rem}.lbl .label{margin:0}
.paste.button{min-height:36px;font-size:.8rem;height:auto;padding:6px 12px}
.input,.textarea,.select select,input[type=file],output,pre,code{font-family:var(--mono);font-variant-ligatures:none;font-variant-numeric:slashed-zero}
.input,.select select{min-height:44px}.select{display:block;height:auto}.select select{width:100%}
.textarea{resize:vertical;overflow:auto;min-height:7em;line-height:1.6}
input[type=color].input{padding:6px;cursor:pointer}
input[type=date],input[type=time],input[type=datetime-local]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%;text-align:left;line-height:normal}
input[type=datetime-local]::-webkit-date-and-time-value,input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;margin:0}
.checkbox{display:block;margin-top:20px;line-height:1.7}.checkbox input{margin-right:6px;accent-color:var(--ac)}

.view{width:100%;min-height:240px;border-radius:var(--bulma-radius);overflow:auto}
.view canvas,.view svg{max-width:100%;height:auto}

.button{min-height:44px;height:auto;white-space:normal;line-height:1.5;padding-top:10px;padding-bottom:10px}
.msg{color:var(--mute);font-size:.9rem;text-align:center;margin:0}.err{color:var(--bulma-danger)}
[hidden]{display:none!important}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9}.toast.on{opacity:1}

.tool-card{display:block;width:100%;color:var(--fg);transition:box-shadow .15s,transform .15s}
.tool-card:hover{color:var(--fg);transform:translateY(-2px);box-shadow:var(--bulma-shadow)}
.tool-card:focus-visible{outline:3px solid var(--ac);outline-offset:4px}
.tools .title{margin-bottom:12px;line-height:1.5}.tools p{color:var(--mute);font-size:.95rem}
.rawwrap{width:100%}.rawwrap p{font-size:.8rem;color:var(--mute);margin-bottom:8px}
.rawwrap pre{padding:12px;border-radius:var(--bulma-radius);font:13px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:14em;overflow:auto;user-select:all;-webkit-user-select:all}
.site-info{font-size:.9rem}.policy h2{margin-top:28px}.policy p{line-height:1.9}.policy time{font-variant-numeric:tabular-nums}
.qrcode-types .type-icon{flex:none;font-size:1.2em;line-height:1}
.barcode-example{display:grid;gap:6px;margin-top:16px}.barcode-example span{font-size:.8rem}.barcode-example code{font:16px/1.5 var(--mono);overflow-wrap:anywhere}
@media(max-width:480px){.toolkit-header,.toolkit-main,.toolkit-footer{padding-left:16px;padding-right:16px}.toolkit-header{padding-top:24px}.toolkit-header .title{font-size:1.5rem}.box{padding:20px}.btns .button{flex-grow:1}}

.footer-language { display:inline-block; position:relative; margin-inline-start:auto; vertical-align:middle; text-align:start; }
.footer-language summary { list-style:none; cursor:pointer; box-sizing:border-box; min-width:44px; height:44px; padding:8px 12px; font-size:.875rem; gap:8px; }
.footer-language summary .toolkit-icon { width:26px; height:26px; }
.footer-language summary .toolkit-icon svg { width:24px; height:24px; }
.footer-language summary::-webkit-details-marker { display:none; }

.select.is-multiple select{height:auto;min-height:14rem;padding-right:1rem} .select.is-multiple::after{display:none}

.footer-links > a,.footer-links > a:hover,.footer-links > a:focus,.footer-links > a:visited{color:inherit}
@media(max-width:600px){.footer-links{flex-direction:column;align-items:flex-start;gap:8px}.footer-links > span[aria-hidden="true"]{display:none}.footer-links > a{padding-block:4px}.footer-language{margin-inline-start:0;margin-top:8px}.footer-language.dropdown.is-right .dropdown-menu{right:auto;left:0}}

.toolkit-navbar #site-menu .navbar-item{display:flex;align-items:center;gap:8px}
.tool-card .tag{vertical-align:middle;margin-inline-start:4px;font-weight:normal}
.tools-compact .card-content{padding:14px}.tools-compact .title{font-size:1rem;margin-bottom:8px}.tools-compact p{font-size:.8rem}.tools-compact .barcode-example{margin-top:8px;gap:2px}.tools-compact .barcode-example code{font-size:.85rem}
.barcode-label{margin-bottom:6px}.barcode-label #bcount{font-size:.75rem;margin:0;white-space:nowrap}.barcode-input-row .input{flex:1;min-width:0}.barcode-input-row .paste{flex:none;margin:0;height:44px;white-space:nowrap}.tool-note,.tool-options{margin-top:12px}.tool-note summary,.tool-options summary{cursor:pointer;color:var(--mute);font-size:.9rem}.tool-note p{margin-top:8px}
@media(max-width:600px){.select.is-multiple select{min-height:44px;height:44px;padding-block:8px}}

.tools .barcode-example{margin-top:auto;padding-top:16px}.tools-compact .barcode-example{margin-top:auto;padding-top:8px}

.barcode-input-row > .control{margin-bottom:0!important}.barcode-input-row > .control:has(.paste[hidden]){display:none}.barcode-input-row:has(.paste[hidden]) .input{border-radius:var(--bulma-radius)}

.tool-options{min-width:0;max-width:100%}.tool-options .input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.toolkit-file{min-width:0;width:100%;margin-block:8px 12px}.toolkit-file > .file-label{width:100%;min-width:0;margin:0;max-width:100%}.toolkit-file .file-cta{width:100%;min-width:0}.toolkit-file .file-name{width:100%;max-width:100%;min-width:0;font-size:.8rem}.toolkit-file .file-cta > .file-label{white-space:normal;text-align:center}.toolkit-file:focus-within .file-cta{outline:2px solid var(--ac);outline-offset:2px}.toolkit-file .file-icon .toolkit-icon{margin:0}
.toolkit-file .file-cta > .file-label{font-family:inherit;font-size:.85rem}
.reader-formats,.reader-formats .select{min-width:0;max-width:100%}.reader-formats .select select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.toolkit-header .icon-heading > span:not(.toolkit-icon):not(.tag){min-width:0}.toolkit-header .icon-heading > .tag{flex:none}.calendar-import .tool-note{margin:0}.calendar-import summary{display:flex;align-items:center;min-height:44px}.calendar-import summary::before{content:"▸";margin-right:8px}.calendar-import details[open] > summary::before{content:"▾"}@media(min-width:800px){.tool-options > summary{display:none}.toolkit-file:not(.is-boxed) > .file-label{flex-direction:row}.toolkit-file:not(.is-boxed) .file-cta{width:auto;flex:none;padding:8px 12px}.toolkit-file:not(.is-boxed) .file-name{flex:1;height:auto;min-height:44px;display:block}.toolkit-file:not(.is-boxed) .file-icon{margin-right:8px}}
.tool-options .settings-grid > .cell,.tool-options .select{min-width:0;max-width:100%}.tool-options .select select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:44px}
.barcode-input-row .paste-icon-only{width:44px;min-width:44px;padding:10px;gap:0}.paste-icon-only > .toolkit-icon{margin:0!important}.paste-icon-only > span[hidden]{display:none}


@media(min-width:800px){.toolkit-file:not(.is-boxed) > .file-label{align-items:stretch}.toolkit-file:not(.is-boxed) .file-cta,.toolkit-file:not(.is-boxed) .file-name{height:44px;min-height:44px;box-sizing:border-box}.toolkit-file:not(.is-boxed) .file-name{padding:8px 12px;line-height:26px}.toolkit-file:not(.is-boxed) .file-cta{align-items:center}.toolkit-file:not(.is-boxed) .file-cta > .file-label{line-height:1.4}}

/* File layout is responsive before JavaScript runs. */
@media(max-width:799px){.toolkit-file > .file-label{flex-direction:column}.toolkit-file .file-cta{flex-direction:column;height:auto;padding:12px 8px;min-height:104px;justify-content:center;border-radius:var(--bulma-file-radius) var(--bulma-file-radius) 0 0}.toolkit-file .file-cta > .file-label{text-align:center}.toolkit-file .file-name{border-width:0 1px 1px;border-radius:0 0 var(--bulma-file-radius) var(--bulma-file-radius)}.toolkit-file .file-icon{height:1.5em;width:1.5em}}

.footer-dates time{white-space:nowrap}.footer-dates .tk-icon{flex:none}.has-text-centered .footer-dates{justify-content:center}

/* Intrinsic sizing prevents native inputs and long results expanding Bulma cells. */
.cell{min-width:0}.tools{list-style:none}.tool-card .tag.toolkit-icon{width:32px;height:32px;padding:0;flex:none;margin:0;border:1px solid var(--bulma-border)}
.out > .fixed-grid{width:100%}.output-actions{grid-auto-rows:1fr}.output-actions .button{width:100%;height:100%;margin:0;min-width:0}
.footer-language[open] > .dropdown-menu{display:block}.footer-dates{font-size:.8rem;line-height:1.6}

@media(min-width:601px){.footer-links{align-items:center}}
